64
© 2002 by Prentice Hall 1 SI 654 Database Application Design Winter 2004 Dragomir R. Radev

© 2002 by Prentice Hall 1 SI 654 Database Application Design Winter 2004 Dragomir R. Radev

Embed Size (px)

Citation preview

© 2002 by Prentice Hall1

SI 654

Database Application DesignWinter 2004

Dragomir R. Radev

© 2002 by Prentice Hall2

Course logistics

© 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 Hall16

Mary Richards’ Tables

SOURCE

CUSTOMER

JOB

© 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 Hall18

Treble Clef Form 1

© 2002 by Prentice Hall19

Treble Clef Form 2

© 2002 by Prentice Hall20

Treble Clef Form 3

© 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 Hall23

Comparison Among Database Examples

© 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 Hall27

A File-Processing System

© 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 Hall31

A DMBS

© 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 Hall33

The Hierarchy of Data

File-Processing

DBMS

© 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 Hall39

Database System Components

© 2002 by Prentice Hall40

Database Contents

• User Data• Metadata• Indexes• Application Metadata

© 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 Hall43

Indexes

• Improve performance• Improve accessibility• (Overhead data)

© 2002 by Prentice Hall44

Application Metadata

• Stores the structure and format of– forms– reports– queries– other application components

© 2002 by Prentice Hall45

The DBMS

• Design Tools Subsystem• Run-Time Subsystem• DBMS Engine

© 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 Hall51

Defining Tables using Microsoft Access

© 2002 by Prentice Hall52

Defining Relationships Among the Tables using

Microsoft Access

© 2002 by Prentice Hall53

Components of Applications

• Forms• Queries• Reports• Menus• Application Programs

© 2002 by Prentice Hall54

A Browser Data Entry Form

© 2002 by Prentice Hall55

A Query in Microsoft Access

© 2002 by Prentice Hall56

A Report in Microsoft Access

© 2002 by Prentice Hall57

A Menu in Microsoft Access

© 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

© 2002 by Prentice Hall64

Common Data Models

• Entity-Relationship Model• Semantic Object Model