Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir...

28
Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    227
  • download

    0

Transcript of Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir...

Page 1: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Fundamentals, Design, and Implementation, 9/e

SI654Database Application Design

Instructor: Dragomir R. RadevWinter 2005

Page 2: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/2 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Administrivia

Instructor: Dragomir R. Radev ([email protected]), 3080 West Hall Connector, (734) 615-5225

Office hours: TBD Course page:

http://www.si.umich.edu/~radev/654 Class time: Fridays, 10am-1pm, 409

WH

Page 3: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/3 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Book information Database Processing by David Kroenke (9th

Edition, Prentice Hall, ISBN 0-13-065551-1) : http://www.prenhall.com/kroenke

Managing and Using MySQL by Reese, Yarger, and King (O'Reilly, ISBN 0-596-00211-4) : http://www.oreilly.com/catalog/msql2/

Optional reading: Database Management Systems by Ramakrishnan and Gerhke (McGraw-Hill, ISBN 0-07-245052-5) : http://www.cs.wisc.edu/~dbbook/

Optional reading: Data Mining by Han and Kamber (Morgan Kaufmann, ISBN 1-55860-489-8):http://www.cs.sfu.ca/~han/dmbook

Page 4: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/4 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Syllabus - I

DK Ch. 1. Introduction to Database Processing DK Ch. 2. Entity-relationship data modeling: tools and

techniques DK Ch. 3. Entity-relationship data modeling: process and

examples DK Ch. 4. The Relational Model and Normalization DK Ch. 5. Database Design READING The ERWin System DK Ch. 6. Introduction to SQL DK Ch. 7. Using SQL in applications RYK Ch. 1 MySQL DK Ch. 8. Database redesign

Page 5: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/5 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Syllabus - II

RYK Ch. 3 SQL according to MySQL DK Ch. 9. Managing Multi-User Databases RYK Ch. 7 Database Design DK Ch. 10/11. Managing Databases with Oracle/SQL Server DK Ch, 12 ODBC, OLE DB, ADO, and ASP DK Ch. 13 XML and ADO.NET DK Ch. 14 JDBC, Java Server pages, and MySQL DK Ch. 15 Sharing enterprise data READING XML and query languages for XML READING Data Mining DK App. A. Data Structures for Database Processing

Page 6: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/6 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Assignments

Assignment 1: Entity-Relationship Model, Relational Model, SQL

Assignment 2: Database design using ERWin and Oracle

Assignment 3: Database design using MySQL

Assignment 4: XML, Data Mining, and other advanced topics

Page 7: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/7 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Final project

Proposal Database design Progress report Project Final presentation

Page 8: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/8 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Grading

Four assignments: 40% (10% each) Project + presentation: 30% Final exam: 25% Class participation: 5%

Page 9: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/9 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Policies

Class participation counts as 5% of the grade

Timely submission of assignments is important

Syllabus can be amended during the semester

Honors Code

Page 10: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/10 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Notes on programming

All students will do some programming as part of the assignments.

For the final project, teams will be formed in ways to include students with diverse backgrounds.

Page 11: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Fundamentals, Design, and Implementation, 9/e

Chapter 1Introduction to Database Processing

Page 12: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/12 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Why Use A Database?

The purpose of a database is to help people and organizations keep track of things

Problems of using list to store data– Data inconsistencies– Data privacy: The departments want to share some,

but not all, of their data

Databases store data in single-theme tables Tables are related through primary and foreign

keys

Page 13: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/13 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Components of A Database System

Page 14: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/14 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Application Programs

Functions: – Create and process forms– Create and transmit queries– Create and process reports– Execute application logic– Control application

Page 15: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/15 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

DBMS

DBMS: Database Management System Functions:

– Create database, tables, and supporting structures– Read and update database data– Maintain database structures– Enforce rules– Control concurrency– Provide security– Perform backup and recovery

Example: Oracle, DB2, Microsoft Access, SQL Server

Page 16: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/16 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Database

Database is a self-describing collection of related records or tables

Components: – User Data– Metadata: data about the structure of a database – Indexes and related structures– Stored procedures: program modules stored within the

database– Triggers: a procedure that is executed when a particular

data activity occurs– Application metadata: data describing application

elements such as forms and reports

Page 17: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/17 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Types of Database

Personal database– 1 user; < 10 MB

Workgroup database– < 25 users; < 100 MB

Organizational database– Hundreds to thousands users– >1 Trillion bytes, possibly several

databases

Page 18: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/18 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Example: Organizational Database

Page 19: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/19 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Building a Database System

3 Phases Requirements phase: a data model is developed

– Data model is a logical representation of the database structure

Design phase: the data model is transformed into tables and relationships

Implementation phase: – Tables, relationships, and constraints are created– Stored procedures and triggers are written– The database is filled and systems are tested

Database and its applications will be modified (through these same three phases) to meet new requirements

Page 20: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/20 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Example: Data Model

Page 21: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/21 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Application Development Application development proceeds in

parallel with database development

Page 22: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/22 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

History of Database Processing

Page 23: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/23 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Early Database Models

Before mid-1960s, only sequential file processing using magnetic tape was possible

In mid-1960s, disk storage enabled hierarchical and network database – IBM’s DL/I (Data Language One)– CODAYSL’s DBTG (Data Base Task Group)

model the basis of current DBMSs

Page 24: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/24 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

The Relational Model

E.F. Codd introduced the relational model in 1970

DB2 from IBM is the first DBMS product based on the relational model

Other DBMS based on the relational model were developed in the late 1980s

Today, DB2, Oracle, and SQL Server are the most prominent commercial DBMS products based on the relational model

Page 25: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/25 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Personal Computer DBMS

The advent of microcomputer increases popularity of personal databases

Graphical User Interface (GUI) make it easy to use– Examples of early DBMS products:

dBase, R:base, and Paradox

Page 26: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/26 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Object Oriented DBMS (OODBMS) Object-oriented programming started in the

mid-1980s Goal of OODBMS is to store object-oriented

programming objects in a database without having to transform them into relational format

Object-relational DBMS products, such as Oracle 8i and 9i, allow both relational and object views of data on the same database

Currently, OODBMS have not been a commercial success due to high cost of relational to object-oriented transformation

Page 27: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Chapter 1/27 Copyright © 2004

Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke

Recent History

Success story of the Microsoft Access – Microsoft Office suite and Windows integration– Easy-to-use and powerful personal DBMS

Internet database XML and database integration

Page 28: Fundamentals, Design, and Implementation, 9/e SI654 Database Application Design Instructor: Dragomir R. Radev Winter 2005.

Fundamentals, Design, and Implementation, 9/e

Chapter 1Introduction to Database Processing