Converting ERDs

advertisement
CONVERTING ERDS TO
RELATIONAL TABLES
1
Joe Meehean
THE PLAYERS

ERDs
easy to reason about
 express lots of information in limited space
 easy to create from business narrative


Relational Tables
easy for DBMSs to store data in tables
 use SQL to ask lots of different questions about data


Need to convert ERDs to Relational tables

using a set of rules and some intuition
2
ENTITY TYPE RULE
each entity becomes a table
 primary key of entity is primary key of table
 attributes become columns

Student
Student ID Last Name
First Name
Student ID
Last name
First name
3
1-M RELATIONSHIP RULE

primary key of parent becomes a foreign key in
table of child entity


child entity is entity near Crow’s Foot symbol
if minimum cardinality on parent side is
1 (required), foreign key cannot accept null value
4
1-M RELATIONSHIP RULE
Faculty
Faculty ID
Last name
First name
Offering
Teaches
5
Section #
Room
Time
Offering
Section #
Room
Time
<Faculty ID>
M-N RELATIONSHIP RULE
M-N relationship becomes it own table
 primary key is combined key formed from
primary keys of participating entities

Student
Student ID
Last name
First name
Offering
Enrolls
Section #
Room
Time
Enrolls
<Student ID>
<Section #>
6
IDENTIFICATION DEPENDENCY RULE
add a component to the primary key of the
weak entity
 primary key =

primary key of weak entity (if any)
 +
 primary keys from independent entities

7
IDENTIFICATION DEPENDENCY RULE
Course
Offering
Has
Number
Name
Credits
Section #
Room
Time
Offering
<Number>
Section #
Room
Time
8
QUESTIONS?
9
Motorcycle
Order
In
ID#
Flames
Style
Order#
Date
$Total
In
In
Has
Order Quantity
Part#
Description
Quantity
QUIZ BREAK!!!
Supplier
Employee HasJobTitle
Supplier#
Name
Address
Employee#
Name
Years
Distributor
Customer#
Name
Address
Supplies
Parts
Has
Years
Has- JobTitle
Empl
Position#
Name 10
BaseSalary
OPTIONAL 1-M RELATIONSHIPS RULE
Optional relationship: minimal cardinality of 0 on
parent side (1-side)
 Convert using the 1-M rule

foreign key in child table (M-side)
 foreign key can be NULL
 can be problem for queries

11
OPTIONAL 1-M RELATIONSHIPS RULE
Faculty
Faculty ID
Last name
First name
Offering
Teaches
Section #
Room
Time
12
Offering
Section #
Room
Time
<Faculty ID>
S1
45
11
NULL
S2
68
12
F2
S3
58
1
F5
S4
35
2
F2
12
OPTIONAL 1-M RELATIONSHIPS RULE

Optionally, can use Optional 1-M
Relationship Rule
relationship becomes its own table
 primary keys in both entities become foreign keys
 primary key from child entity (M-side) becomes
primary key in new table

13
OPTIONAL 1-M RELATIONSHIPS RULE
Faculty
Offering
Teaches
Faculty ID
Last name
First name
Section #
Room
Time
14
Offering
Teaches
Section #
Room
Time
S1
45
11
<Section #>
<Faculty ID>
S2
68
12
S2
F2
S3
58
1
S3
F5
S4
35
2
S4
F5
14
OPTIONAL 1-M RELATIONSHIPS RULE

When to used Optional 1-M Relationship Rule


its optional
Optional rule makes more tables
more complex
 more SQL operations (slower)


1-M rule makes NULL foreign keys


can be difficult to deal with
3rd option

replace optional relationship with required
relationship and default value
15
OPTIONAL 1-M RELATIONSHIPS RULE
Faculty
Faculty ID
Last name
First name
Offering
Teaches
Section #
Room
Time
16
Offering
Section #
Room
Time
<Faculty ID>
S1
45
11
F0*
S2
68
12
F2
S3
58
1
F5
S4
35
2
F2
* Assume F0 is PK for “Default Faculty”
16
GENERALIZATION HIERARCHY RULE
Each entity in a generalization hierarchy
becomes a table
 Includes only attributes in entity



not its ancestors
Except it includes ancestors primary key
uses it as its own primary key
 also a foreign key


Perform cascading deletes
if ancestor is deleted
 so is subtype table entry

17
GENERALIZATION HIERARCHY RULE
College People
College ID
Last name
First name
Student
Faculty
Major
Grad Date
Department
Office
Faculty
College People
College
ID
Last
Name
First
Name
<College
ID>
Department
Office
18
1-1 RELATIONSHIP RULE
Put a foreign key in each table in the relationship
 Unless one table will have many NULL
foreign keys
 Then drop the foreign key in the table where it
will be mostly NULL

19
1-1 RELATIONSHIP RULE
Faculty
Department
Chairs
Faculty ID
Last name
First name
20
Faculty
Faculty
ID
Dept. ID
Funding
Last
Name
First
Name
Department
<Dept
ID>
Dept ID
Fund
-ing
<Faculty
ID>
20
1-1 RELATIONSHIP RULE
Faculty
Faculty ID
Last name
First name
Department
Chairs
Dept. ID
Funding
21
Faculty
Faculty
ID
Last
Name
Department
First
Name
Dept ID
Funding
<Faculty
ID>
21
SELF REFERENCING ENTITIES
Apply same rules
 1-M rule



add a new column with primary key as foreign key
M-N rule

add a new table representing the relationship
22
SELF REFERENCING ENTITIES
Manages
Employee
Employee ID
Last name
First name
Employee
Employee
ID
Last Name
First
Name
Supervisor
<FK Employee ID>
23
SELF REFERENCING ENTITIES
Prerequisite
Course
Number
Name
Credits
Prerequisites
Course
Number Name Credits
Course
<FK Number>
Prereq
<FK Number>
24
CONVERTING ERD REVIEW
Every entity becomes a table
 Some relationships become tables
 Majority of conversion rules dictate where
foreign key goes

foreign key links row in table to primary key in
another table
 M-N: new table with foreign keys from both entities
 1-M: foreign key in M entity
 optional 1-M: more complex

25
QUESTIONS?
26
QUIZ BREAK!!!

Convert to tables
Faculty
Faculty ID
Last name
First name
Major Advisor
Student
Student ID
Last name
First name
27
QUIZ BREAK!!!

Convert to tables
Employee
Employee ID
Last name
First name
Hourly
Hours
Rate
Salary
Salary
Contract Expires
28
QUIZ BREAK!!!

Convert to tables
Building
Building ID
Name
Address
In
Room
Room #
Capacity
29
QUIZ BREAK!!!

Convert to tables
Married
Faculty
Faculty ID
First Name
Last Name
30
Download