Transcript Slides1

CS U430: Database Design
Spring 2006
Panfeng (Tony) Zhou
1
Who am I?



PhD student in Database research
area
10 years experiences in DB
application development
12 industry world projects in
Finance, Education, Health
Insurance, Manufacture, etc
2
What could you learn from this course?



You will understand the structure of
DBMS and DB language (SQL).
You will learn the index methods of
database.
You will learn how to implement a web
application from scratch.
3
Main content of the course






Basic structure of DBMS
Queries the database
Create/Update table content/structure
Design the database (ER model)
Web interface for database
A project that covers all contents in the course
and you can implement a DBMS from scratch
4
Main content of today



1. Introduction to DBMS
2. Relational rules
3. Sample database
5
1.1 Database is everywhere




Shop at supermarket (e.g., Stop&Shop,
etc).
Shop online (e.g., www.amazon.com).
Borrow book from library.
………..
6
1.2 Structure of web DBMS
Web
browser
Web
server
Databases
and DBMS
Structured
Query
Language
(SQL)
7
1.3 Products for each components
Component
Brower
Web Server
DB Server
Operating System
Products
IE, Firefox, etc
MS IIS, Apache, Resin, etc
Oracle, DB2, MySQL, MS SQL,
MS Access, etc
MS Window, Linux, Sun
Solaris, etc
Programming language MS ASP, Java, PHP, etc.
8
1.4 What inside the database?


A set of tables.
Each table “is” a spread sheet.
Field
Header
Record
Staff_ID
F_name
L_name
Position
Gender
DOB
Salary
Branch_ID
SA9
Mary
Howe
Assistant
F
19-Feb-70
9000
B007
SG14
David
Ford
Supervisor
M
24-Mar-58
18000
B003
SG37
Ann
Beech
Assistant
F
10-Nov-60
12000
B003
SG5
Susan
Brand
Manager
F
3-Jun-40
24000
B003
SL21
John
White
Manager
M
1-Oct-45
30000
B005
SL41
Julie
Lee
Assistant
F
13-Jun-65
9000
B005
9
2. Relational rules for relational database




Rule
Rule
Rule
Rule
1:
2:
3:
4:
First Normal Form Rule
Access Row by Content Only Rule
The Unique Row Rule
Entity integrity Rule
10
2.1 First Normal Form Rule

Fields cannot have multi-values
attributes or have any internal
structures.
Staff_ID
Name
001
Tony
Position
Clients
Manager
Amanda
Smith
002
Robbie
Agent
Andrew
11
2.1 First Normal Form Rule (cont)
Staff_ID
Name
Position
001
Tony
Manager
002
Robbie
Agent
Clients1
Clients2
Amanda
Smit
h
Andrew
Problems:
1. Waste space
2. Not flexible
12
2.1 First Normal Form Rule (cont)
Employees
Clients
Staff_ID
Name
Position
Staff_ID Client
001
Tony
Manager
001
Amanda
002
Robbie
Agent
002
Andrew
002
Smit
h
13
2.2 Access Row by Content Only Rule

Records can only be retrieved by their
content (the attribute values in each
record).
Implications:
1. There is no order on the records (e.g., We cannot ask for the
3rd record in the employee table)
2. We cannot retrieve a “pointer” to a record to retrieve it later.
14
2.3 The Unique Row Rule

Two records in a table cannot be
identical in all column values at once.
Staff_ID
Name
Position
001
Tony
Manager
001
Tony
Manager
002
Robbie
Agent
Note:
Keep this row in your mind. You might spend a lot of time and effort
to enforce this rule.
15
2.3 The Unique Row Rule (cont)
Table Key: a set of attributes K with two
properties:
1.
K is unique for each record.
2.
The subset of K is not unique for each
record.
Primary Key: is a table key chosen by
the database designer to uniquely
identify specific records in the table.
Note: one table has more than one key, but only one primary key.
16
2.3 The Unique Row Rule (cont)
Employee
Staff_ID
Name
Position
001
Tony
Manager
002
Scott
Agent
003
Robbie
Agent
17
2.4 Entity integrity Rule

The primary key cannot be empty
Staff_ID
Name
Position
001
Tony
Manager
null
Scott
Agent
003
Robbie
Agent
null
Scott
Agent
Note:
1. Cannot retrieve the record by primary key.
2. Cannot distinguish duplicated records.
18
3. Sample database
Client
Staff
Registration
Branch
Viewing
Private Owner
Properties For Rent
19
3. Sample database (cont)







Client table
PrivateOwner table
Staff table
Branch table
PropertyForRent table
Registration table
Viewing table
20
3. Sample database (cont)


1.
2.
3.
4.
5.
6.
7.
Load table structure
Load data in table one by one
Client table
PrivateOwner table
Branch table
Staff table
PropertyForRent table
Registration table
Viewing table
21