© 2002 by prentice hall 1 si 654 database application design winter 2004 dragomir r. radev
TRANSCRIPT
© 2002 by Prentice Hall3
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, 1-4PM, 311 WH
© 2002 by Prentice Hall4
Book information• Database Processing by David Kroenke (8th
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
© 2002 by Prentice Hall5
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
© 2002 by Prentice Hall6
Final project
• Proposal• Database design• Progress report• Project• Final presentation
© 2002 by Prentice Hall7
Grading
• Four assignments: 40% (10% each)
• Project + presentation: 30%• Final exam: 25%• Class participation: 5%
© 2002 by Prentice Hall8
Policies
• Class participation counts as 5% of the grade
• Timely submission of assignments is important
• Syllabus can be amended during the semester
• Honors Code
© 2002 by Prentice Hall9
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.
© 2002 by Prentice Hall10
Syllabus - I
• DK Ch. 1. Introduction to Database Processing• DK Ch. 2. Introduction to Database Development• DK Ch. 3. The Entity-Relationship Model• DK Ch. 5. The Relational Model and Normalization• DK Ch. 6. Database Design Using Entity-Relationship
Models• READING The ERWin System• DK Ch. 8. Foundations of Relational Implementation• DK Ch. 9. Structured Query Language• RYK Ch. 1 MySQL• DK Ch. 16. JDBC, Java Server Pages, and MySQL
© 2002 by Prentice Hall11
Syllabus - II
• RYK Ch. 3 SQL according to MySQL• DK Ch. 10. Database Application Design• DK Ch. 11. Managing Multi-User Databases• RYK Ch. 7 Database Design• DK Ch. 12. Managing Databases with Oracle• (DK Ch. 14). Networks, Multi-Tier Architectures, and XML• READING XML and query languages for XML• READING Data Mining• DK App. A. Data Structures for Database Processing
© 2002 by Prentice Hall12
David M. Kroenke
Database ProcessingEighth Edition
Chapter 1
Introduction to Database Processing
© 2002 by Prentice Hall13
Art or Engineering
• Database design and development involves both art and engineering– Gathering and organizing user
requirements is an art– Transforming the resulting
designs into physical applications involves engineering
© 2002 by Prentice Hall14
Types of Data Stored
• Today, most newer databases are able to store a large variety of data, including…– Scalar data
•Names, dates, phone numbers– Pictures– Audio– Video
© 2002 by Prentice Hall15
Database Example 1Mary Richards Housepainting
– Self Employed Entrepreneur– Single User Database– 3 Tables (Customers, Jobs, Source)– Data Needs:
•Track how customers, jobs, and referrals relate
•Record bid estimates•Track referral sources•Produce mailing labels
© 2002 by Prentice Hall17
Database Example 2
Treble Clef Music– Multi-User database on LAN– 3 Tables (Customers, Instruments,
Rentals)– Data Needs:
•Track instrument rentals•Handle multi-user issues
© 2002 by Prentice Hall21
Database Example 3
State Licensing & Vehicle Registration Bureau– 52 Centers, 37 Offices, Hundreds of Users– 40 Tables– Data Needs:
• Track drivers licensing issues– traffic violations, accidents, arrests,
limitations• Track auto registration issues
– revenue, law enforcement• Integrate the needs of many departments
© 2002 by Prentice Hall22
Database Example 4
Calvert Island Reservations Centre– Chamber of Commerce – Promotional database provides access to data – Customer and reservation database processes– Data Needs:
• Store multimedia data (photos, video clips, sound clips)
• Must be Web / browser accessible• Uses Web technologies including HTTP,
DHTML, and XML
© 2002 by Prentice Hall24
Reading assignments
• 1/16 - Chapters 1 & 2• 1/23 - Chapters 3 & 5• 1/30 - Chapters 6 & 8• 2/6 - Chapter 9 + ERWIN docs
© 2002 by Prentice Hall25
Applications versus Database Management
Systems (DBMS)• The Database Management System
(DBMS) provides functionality above and beyond the storage of information. – Users want to see reports, forms, and
query results – not simply data– As such, application development is
crucial to the design and development of the DBMS
© 2002 by Prentice Hall26
In the Beginning, There Were File-Processing
Systems• The first business information
systems stored information by grouping similar data into separate files.
© 2002 by Prentice Hall28
Problems with File-Processing Systems
• Data separated and isolated• Data often duplicated• Application program dependent• Incompatible data files• Difficult to understand
© 2002 by Prentice Hall29
Duplication of Data
• When storing the same data in multiple locations, the likelihood of inconsistency is very high.
• What is my real name?– Table 1: my name is Dan– Table 2: my name is Danielle – Table 3: my name is Daniel– Table 4: my name is Don
© 2002 by Prentice Hall30
The Data in a DBMS
• Data is integrated• Data duplication is reduced• Data is program independent• Data is easy to understand
© 2002 by Prentice Hall32
Database is Self-Describing
• A database contains a data dictionary
• A data dictionary is data about the data (metadata)– It describes the structure and
format of the information contained within the database
© 2002 by Prentice Hall34
DBMS –the Past
• 1970, E.F. Codd• Normalization Process• Compute Intensive
© 2002 by Prentice Hall35
DBMS –the Present
• Ashton - Tate: dBase II, now Borland
• Oracle, Focus, Ingress ported down• Paradox, Revelation, MDBS, Helix,
Foxpro, Access built specifically for microcomputers
© 2002 by Prentice Hall36
DBMS –the Future Trends
• Client-Server Applications• Integration of Internet Technology• Distributed Processing• Object-Oriented DBMS
© 2002 by Prentice Hall37
David M. Kroenke
Database ProcessingEighth Edition
Chapter 2
Introduction to Database Developmen
t
© 2002 by Prentice Hall38
The Components of the Database System
• The Database Contents• The DBMS• The Application Programs• The Developers• The Users• The Database
© 2002 by Prentice Hall41
User Data
• A table of data is called a relation• Columns are fields or attributes• Rows are entities• Relations must be structured
properly
© 2002 by Prentice Hall42
Metadata
• Metadata describes the structure and format of the data and the overall database
• System tables store metadata– number of tables and table names– number of fields and field names– primary key fields– field names, data types, and length
© 2002 by Prentice Hall44
Application Metadata
• Stores the structure and format of– forms– reports– queries– other application components
© 2002 by Prentice Hall46
Design Tools Subsystem
• Tools to design and develop– tables– forms– queries– reports
• Programming Languages– macros– languages
© 2002 by Prentice Hall47
Run-Time Subsystem
• Processes database components created by design tools
© 2002 by Prentice Hall48
DBMS Engine
• Intermediary between the design tools and run-time subsystems and the data
• Also handles . . .– transaction management– locking– backup and recovery
© 2002 by Prentice Hall49
Creating the Database
• Defining the database schema• Creating the tables• Defining the relationships among
the tables
© 2002 by Prentice Hall50
The Database Schema
• Defines a database’s structure– Tables - subjects within the
database– Relationships - one-to-many or 1:N– Domains - set of values a column
may have– Business rules - restrictions on
data values
© 2002 by Prentice Hall53
Components of Applications
• Forms• Queries• Reports• Menus• Application Programs
© 2002 by Prentice Hall58
Database Development Approaches
• Prototype• Top-down development • Bottom-up development
© 2002 by Prentice Hall59
Prototype Development
• Develop portions of the database and submit to users for feedback, refinement, and enhancement
© 2002 by Prentice Hall60
Top-down Development
• General requirements to specific requirements
• A global perspective
© 2002 by Prentice Hall61
Bottom-up Development
• Specific requirements to general requirements
• Typically faster and less risky
© 2002 by Prentice Hall62
The Data Model
• A data model defines and graphically depicts the data structure and relationships among the data
© 2002 by Prentice Hall63
Data Modeling Creation
• Interviewing users• Documenting requirements• Building a data model• Building a database prototype• A process of inference
– Working backwards