Chapter Three ( Relational Data Model) Objectives

advertisement
Chapter Three
( Relational Data Model)
Objectives
Introduction to Relational Data Models.
 Advantages of Relational Data Models.
 Restriction of Relational Data Model.
 Keys.
 What are a good BD Design?

Relational Data Model:



Developed by Codd in 1970.
Conceptually simple.
Based on mathematical set theory.
2
Relational Data Model:

Most important advantage of the
RDBMS is its ability to hide the
complexities of the relational model
from the user.
3
Relational Database Models:
Data are represented as a set of
tables.

Structure




A set of tables ( Relations).
Each relation has a unique name.
Each relation has a set of attributes.
Each relation has a set of tuples.
5
Restriction on Relational DBMS





No two tuples are the same.
No two attributes are the same.
Order of tuples are immaterial.
Order of attributes are immaterial.
Value of attributes must be atomic.
6
Relational Database Example:
Students
Courses
Faculty
7
Attributes of a Relation:
Students (Name, ID, Major, Minor,….)
Courses (C_num, Dept, Cr, Description)
Faculty (Name, ID, SSN, …..)
8
Tuples:
Students
(Name, ID, Major, Minor,….)
_________________________________
John Smith 1111, ITEC, VART
Mary Smith 2222, COSC, ITEC
Lorry Joys 4444, ACCT, COSC
Courses
(C_num, Dept, Cr, Description)
_______________________________________
345
ITEC
3 Databases I
445
ITEC
3 Databases II
9
Keys:
(Constraints)
A set of attributes whose values uniquely
identify each entity.
Examples:
Students (Name, ID, Major, Minor,….)
Courses (C_num, Dept, Cr, Description)
Faculty (Name, ID, SSN, …..)
10
Keys:
(Constraints)
Primary key:
1- Uniqueness:
At any given time, no two tuples can have the
same value for a given primary key.
2-Minimally:
None of the attributes in primary key can be
discarded without distorting the uniqueness
property
3-Selection:
A key selected by the Database Administrator.
11
Primary key:
Key’s role is based on determination



If you know the value of attribute A, you
can look up (determine) the value of
attribute B.
ID  GPA
12
Keys

Composite key


Key attribute


Any attribute that is part of a key.
Superkey


Composed of more than one attribute.
Any combination of attributes that uniquely
identifies each row.
Candidate key
13
Keys:
(Constraints)
Foreign key:
An attribute(s) in an entity set (relation)
which is the primary key of other entity
set (relation)

Example:
Department(Name, Dept_Id, ….)
Faculty(Name, Id, Dept_Id,…)
14
Normal Forms
(Guidelines for RD design)



How do we know this is a good design?
If it is not a good design, What should
we do?
Modify our design ??.
15
Normalization:

Process for evaluating and correcting table
structures to minimize data redundancies


Reduces data anomalies
Works through a series of stages called
normal forms:



First normal form (1NF)
Second normal form (2NF)
Third normal form (3NF)
16
Why Normalize Tables:




Structure of data does not handle data
very well
The table structure appears to work;
Report generated with ease
Unfortunately, report may yield
different results depending on what
data anomaly has occurred
17



Each table represents a single subject
No data item will be unnecessarily
stored in more than one table
All attributes in a table are dependent
on the primary key
18
Normal Forms
(Guidelines for RD design)

A relation is in 1NF if the values of
domain is atomic for each attribute.
19
First Normal Form: 1NF
Example:
 Person (Name
Smith

Person (Name
Smith
Smith
Smith
Age Children )
42
John, Lori, Mark
Age Children )
42
42
42
John
Lori
Mark
20
First Normal Form: 1NF
Example:
 Student (


Name
Birthday
S1
S2
Feb 2,91
March 8,88
)
Student (Name, D_Birth, M_Birth, Y_Birth)
Note: 2NF and 3NF Deal with the relationship
between non-key and key
21
First Normal Form:

Repeating group



Derives its name from the fact that a group
of multiple entries of same type can exist
for any single key attribute occurrence
Relational table must not contain
repeating groups
Normalizing table structure will reduce
data redundancies
22
Second Normal Form: 2NF

A relation is in 2NF if it is in 1NF and
every attribute is Fully dependent on
the entire key in this relation.
23
Second Normal Form: 2NF






Example: R(A,B,C,D)
A, B ---> C, D
A ---> D

D partially depends on A,B
C fully depends on A,B
A&B are prime (part of key)
If A is primary key. Is this in 2NF?
If A&B is primary key. Is this in 2NF?
24
Second Normal Form: 2NF


What should we do with a relation which is
not in 2NF?
Example: R(A,B,C,D)




A, B ---> C, D
A ---> D
R1 (A,B,C)
R2(A,D)
25
Second Normal Form: 2NF

Example:
R(Part Warehouse
P1
W1
P2
W1
P3
P4
P4
W2
W4
W1
Address
Frostburg
Frostburg
Quantity
25
30
Cumberland 32
Frostburg
25
What is the primary key?
Part, Warehouse ---> Quantity
Warehouse ---> Address
26
Second Normal Form: 2NF

Problems:
1.
Repetition of information:
Changing the address W!
2.
Unable to present information:
Warehouse with no part

So …
R1 (Warehouse, Address)
R2 (Part, Warehouse, Quantity)
27
Second Normal Form: 2NF

R(
Example:
Professor, Student, Course, Degree
P1
P2
P3
S1
S2
S2
C1
C2
C4
Ph.D.
M.S.
M.S.
P4
S3
C4
Ph.D.
Professor ---> Course
Student ---> Degree
Professor ---> Student
)
Key? Not in 2NF
R1(Student, Degree)
R2(Professor, Course, Student)
28
Third Normal Form (3NF):
 A relation is 3NF if it is in 2NF and every
non-key attribute non transitively depends
on the Primary Key.



Example: R(A,B,C,D)
A, B --->D
D ---> C
R1(A,B,D)
R2(D,C)

Fact: 3NF is violated when a non-key is a
fact about another non-key

29
Third Normal Form (3NF):

Example: R(Employee, Dept, Location)
Employee ---> Dept
Dept ---> Location

Employee
Dept
Location
E1
E2
E3
D1
D2
D3
Frostburg
Frostburg
Frostburg
Problems?
R1(Employee, Dept)
R2(Dept, Location)
30
Third Normal Form (3NF):

Example: R(A,B,C,D)






A,B ---> C
A,C ---> D
So A,B is the Primary Key
Not in 3NF
R1(A,B,C)
R2(A,C,D)
31
Null Values:



No data entry
Not permitted in primary key
It is represent as:



An unknown attribute value
A known, but missing, attribute value
A “not applicable” condition
32
Controlled redundancy:




Makes the relational database work
Tables within the database share common
attributes that enable the tables to be
linked together
Multiple occurrences of values in a table
are not redundant when they are required
to make the relationship work
Redundancy exists only when there is
unnecessary duplication of attribute values
33
Download