© 2002 by Prentice Hall 1 SI 654 Database Application Design Winter 2004 Dragomir R. Radev
© 2002 by Prentice Hall 2 Course logistics
© 2002 by Prentice Hall 3 Administrivia Instructor: Dragomir R. Radev 3080 West Hall Connector, (734) Office hours: TBD Course page: Class time: Fridays, 1-4PM, 311 WH
© 2002 by Prentice Hall 4 Book information Database Processing by David Kroenke (8th Edition, Prentice Hall, ISBN ) : Managing and Using MySQL by Reese, Yarger, and King (O'Reilly, ISBN ) : Optional reading: Database Management Systems by Ramakrishnan and Gerhke (McGraw-Hill, ISBN ) : Optional reading: Data Mining by Han and Kamber (Morgan Kaufmann, ISBN ):
© 2002 by Prentice Hall 5 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 Hall 6 Final project Proposal Database design Progress report Project Final presentation
© 2002 by Prentice Hall 7 Grading Four assignments: 40% (10% each) Project + presentation: 30% Final exam: 25% Class participation: 5%
© 2002 by Prentice Hall 8 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 Hall 9 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 Hall 10 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 Hall 11 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 Hall 12 David M. Kroenke Database Processing Eighth Edition Chapter 1 Introduction to Database Processing
© 2002 by Prentice Hall 13 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 Hall 14 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 Hall 15 Database Example 1 Mary 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 Hall 16 Mary Richards’ Tables SOURCE CUSTOMER JOB
© 2002 by Prentice Hall 17 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 Hall 18 Treble Clef Form 1
© 2002 by Prentice Hall 19 Treble Clef Form 2
© 2002 by Prentice Hall 20 Treble Clef Form 3
© 2002 by Prentice Hall 21 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 Hall 22 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 Hall 23 Comparison Among Database Examples
© 2002 by Prentice Hall 24 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 Hall 25 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 Hall 26 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 Hall 27 A File-Processing System
© 2002 by Prentice Hall 28 Problems with File-Processing Systems Data separated and isolated Data often duplicated Application program dependent Incompatible data files Difficult to understand
© 2002 by Prentice Hall 29 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 Hall 30 The Data in a DBMS Data is integrated Data duplication is reduced Data is program independent Data is easy to understand
© 2002 by Prentice Hall 31 A DMBS
© 2002 by Prentice Hall 32 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 Hall 33 The Hierarchy of Data File- Processing DBMS
© 2002 by Prentice Hall 34 DBMS –the Past 1970, E.F. Codd Normalization Process Compute Intensive
© 2002 by Prentice Hall 35 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 Hall 36 DBMS –the Future Trends Client-Server Applications Integration of Internet Technology Distributed Processing Object-Oriented DBMS
© 2002 by Prentice Hall 37 David M. Kroenke Database Processing Eighth Edition Chapter 2 Introduction to Database Development
© 2002 by Prentice Hall 38 The Components of the Database System The Database Contents The DBMS The Application Programs The Developers The Users The Database
© 2002 by Prentice Hall 39 Database System Components
© 2002 by Prentice Hall 40 Database Contents User Data Metadata Indexes Application Metadata
© 2002 by Prentice Hall 41 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 Hall 42 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 Hall 43 Indexes Improve performance Improve accessibility (Overhead data)
© 2002 by Prentice Hall 44 Application Metadata Stores the structure and format of –forms –reports –queries –other application components
© 2002 by Prentice Hall 45 The DBMS Design Tools Subsystem Run-Time Subsystem DBMS Engine
© 2002 by Prentice Hall 46 Design Tools Subsystem Tools to design and develop –tables –forms –queries –reports Programming Languages –macros –languages
© 2002 by Prentice Hall 47 Run-Time Subsystem Processes database components created by design tools
© 2002 by Prentice Hall 48 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 Hall 49 Creating the Database Defining the database schema Creating the tables Defining the relationships among the tables
© 2002 by Prentice Hall 50 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 Hall 51 Defining Tables using Microsoft Access
© 2002 by Prentice Hall 52 Defining Relationships Among the Tables using Microsoft Access
© 2002 by Prentice Hall 53 Components of Applications Forms Queries Reports Menus Application Programs
© 2002 by Prentice Hall 54 A Browser Data Entry Form
© 2002 by Prentice Hall 55 A Query in Microsoft Access
© 2002 by Prentice Hall 56 A Report in Microsoft Access
© 2002 by Prentice Hall 57 A Menu in Microsoft Access
© 2002 by Prentice Hall 58 Database Development Approaches Prototype Top-down development Bottom-up development
© 2002 by Prentice Hall 59 Prototype Development Develop portions of the database and submit to users for feedback, refinement, and enhancement
© 2002 by Prentice Hall 60 Top-down Development General requirements to specific requirements A global perspective
© 2002 by Prentice Hall 61 Bottom-up Development Specific requirements to general requirements Typically faster and less risky
© 2002 by Prentice Hall 62 The Data Model A data model defines and graphically depicts the data structure and relationships among the data
© 2002 by Prentice Hall 63 Data Modeling Creation Interviewing users Documenting requirements Building a data model Building a database prototype A process of inference –Working backwards
© 2002 by Prentice Hall 64 Common Data Models Entity-Relationship Model Semantic Object Model