Post on 20-Dec-2015
transcript
Fundamentals, Design, and Implementation, 9/e
SI654Database Application Design
Instructor: Dragomir R. RadevWinter 2005
Chapter 1/2 Copyright © 2004
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke
Administrivia
Instructor: Dragomir R. Radev (radev@umich.edu), 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
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
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
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
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
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
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%
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
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.
Fundamentals, Design, and Implementation, 9/e
Chapter 1Introduction to Database Processing
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
Chapter 1/13 Copyright © 2004
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke
Components of A Database System
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
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
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
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
Chapter 1/18 Copyright © 2004
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke
Example: Organizational Database
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
Chapter 1/20 Copyright © 2004
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke
Example: Data Model
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
Chapter 1/22 Copyright © 2004
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. Kroenke
History of Database Processing
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
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
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
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
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
Fundamentals, Design, and Implementation, 9/e
Chapter 1Introduction to Database Processing