6.8 Case Study: E-R for Supplier-and-Parts Database
-
Upload
brandon-hopper -
Category
Documents
-
view
25 -
download
1
description
Transcript of 6.8 Case Study: E-R for Supplier-and-Parts Database
6.8 Case Study: E-R for Supplier-and-Parts Database
Unit 6 Database Design and the E-R Model 6-1
Wei-Pang Yang, Information Management, NDHU
Supplier-and-Parts Database
<e.g.> Supplier-and-Parts Database
P# PNAME COLOR WEIGHT CITYP1 Nut Red 12 London
P2 Bolt Green 17 ParisP3 Screw Blue 17 Rome
P4 Screw Red 14 LondonP5 Cam Blue 12 Paris
P6 Cog Red 19 London
P
S# SNAME STATUS CITYS1 Smith 20 London
S2 Jones 10 ParisS3 Blake 30 Paris
S4 Clark 20 LondonS5 Adams 30 Athens
S S# P# QTY S1 P1 300
S1 P2 200 S1 P3 400 S1 P4 200S1 P5 100S1 P6 100S2 P1 300S2 P2 400S3 P2 200S4 P2 200S4 P4 300S4 P5 400
SP
Supplier-and-Parts Database
Unit 6 Database Design and the E-R Model 6-2
Wei-Pang Yang, Information Management, NDHU
Entity/Relationship Diagram
Entity :
Property:
Relationship:
RegularEntity
WeakEntity
Base Derived Multi
CompositeKey
Regular Weak
total partial
<e.g>
Department
Employee
Dependent
SupplierPart
Project
Department_Emp
SP
SPJ
Part_Struct
Proj_Work Proj_Mngr
Emp_Dependent
Emp# Salary
Ename
First LastMI
S# Sname
Status City
Qty
Qty
1
1
1
M
M
M
M
M
MM M
M M
M
Exp Imp
... ...
...P#
Qty
...
Unit 6 Database Design and the E-R Model 6-3
Wei-Pang Yang, Information Management, NDHU
Semantic Concepts
Entity: a thing which can be distinctly identified. e.g. S, P• Weak Entities: an entity that is existence-dependent
on some other entity. e.g. Dependent• Regular Entities: an entity that is not weak.
Property: • Simple or Composite Property• key: unique value• Single or
Multi-valued: i.e. repeating data • Missing: unknown or not applicable.• Base or
Derived: e.g. "total quantity"
Unit 6 Database Design and the E-R Model 6-4
Wei-Pang Yang, Information Management, NDHU
Semantic Concepts (cont.)
Relationship: association among entities.• participant: the entity participates in a relationship.
e.g. Employee, Dependent• degree of relationship:
number of participants.• total participant:
every instance is used. e.g. Dependent
• partial participant: e.g. Employee
Note: An E/R relationship can be one-to-one, one-to- many, many-to-one, or many-to-many.
.
.
.
.
.
.
.
.
Employee Dependent
E1
E2
E3
E4
Dependent M
1 Employee
Unit 6 Database Design and the E-R Model 6-5
Wei-Pang Yang, Information Management, NDHU
Semantic Concepts (cont.)
Subtype: Any given entity can be a subtype of other entity.
e.g. An example type hierarchy:
• Programmer Employee• Application Programmer Programmer
Employee
Programmer
Application Programmer
System Programmer
Unit 6 Database Design and the E-R Model 6-6
Wei-Pang Yang, Information Management, NDHU
Transfer E-R Diagram to SQL Definition
ER-Diagram
SQL Definition
(1) Regular Entities Base Relations e.g. Department DEPT
Employee EMP Supplier S Part P Project J
attributes: properties. primary key: key property.
<e.g> CREATE TABLE EMP (EMP# ...... . . . primary key (EMP#)); . . .
(2) Properties attributes multivalued property: normalized first.
Unit 6 Database Design and the E-R Model 6-7
Wei-Pang Yang, Information Management, NDHU
Transfer E-R Diagram to SQL Definition (cont.)
(3) Many-to-Many Relationships Base Relations
<e.g.> Consider SUPP-PART SP
– foreign keys: key attributes of the participant entity.
– primary key:(1) combination of foreign keys, or(2) introduce a new attribute.
– attributes:
primary key foreign keys properties
ID S# P# QTY
1
2
3
...
S
S#
SPP
QTY
P#
M M
<e.g.> CREATE TABLE SP ( S#, ..., P#, ..., Qty, ..., FOREIGN KEY (S#) REFERENCES S
NULL NOT ALLOWED DELETE OF S RESTRICTED UPDATE OF S.S# CASCADES FOREIGN KEY (P#) REFERENCES P ...... PRIMARY KEY (S#, P#) )
Unit 6 Database Design and the E-R Model 6-8
Wei-Pang Yang, Information Management, NDHU
Transfer E-R Diagram to SQL Definition (cont.)
(4) Many-to-One or One-to-Many or One-to-One Relationships → 不用給 Base-Relation, 但… .
e.g. Consider
DEPT_EMP(Department_Employee)
1° no any new relation is necessary.
2° Introduce a foreign key in "many" side relation (eg. EMP) that reference the "one" side relation (eg. DEPT).
CREATE TABLE EMP ( EMP#, ... DEPT#, ... ...... FOREIGN KEY (DEPT#) REFERENCES DEPT ...... );
Department (DEPT)
DEPT_EMP
EMP#
DEPT#
Employee (EMP)
M
1
DEPT#
Unit 6 Database Design and the E-R Model 6-9
Wei-Pang Yang, Information Management, NDHU
Transfer E-R Diagram to SQL Definition (cont.)
(5) Weak Entities Base Relation + Foreign Key• foreign key: key property of its dependent entity• primary key:
(1) combination of foreign key and its own primary key
(2) introduce a new attribute
e.g. CREATE TABLE DEPENDENT
( EMP#, …
name,
......
FOREIGN KEY (EMP#) REFERENCES EMP
NULL NOT ALLOWED
DELETE OF EMP CASCADES
UPDATE OF EMP.EMP# CASCADES
PRIMARY KEY ( EMP#, DEPENDENT_NAME ) );
Dependent
EMPEMP#
name
M
1
EMP#
e.g. EMP# e.g. name
Unit 6 Database Design and the E-R Model 6-10
Wei-Pang Yang, Information Management, NDHU
Transfer E-R Diagram to SQL Definition (cont.)
(6) Supertypes and SubtypesBase Relation + Foreign Key
<e.g.> CREATE TABLE EMP ( EMP#, ... DEPT#, ... SALARY, ... ...... PRIMARY KEY (EMP#), ...); CREATE TABLE PGMR ( EMP#, ... LANG#, ... SALARY, ... ...... PRIMARY KEY (EMP#) FOREIGN KEY (EMP#) REFERENCES EMP ......);
EMP
PGMR
Unit 6 Database Design and the E-R Model 6-11
17.7 The Entity/Relationship Model
Proposed by Peter Pin-Shan Chen. “The Entity- Relationship Model,” in ACM Trans. on Database System Vol. 1, No. 1, pp.9-36, 1976. E-R Model contains:
• Semantic Concepts and • E/R Diagram.
17-12
Wei-Pang Yang, Information Management, NDHU
Entity/Relationship Diagram
Entity :
Property:
Relationship:
RegularEntity
WeakEntity
Base Derived Multi
CompositeKey
Regular Weak
total partial
<e.g>
Department
Employee
Dependent
SupplierPart
Project
Department_Emp
SP
SPJ
Part_Struct
Proj_Work Proj_Mngr
Emp_Dependent
Emp# Salary
Ename
First LastMI
S# Sname
Status City
Qty
Qty
1
1
1
M
M
M
M
M
MM M
M M
M
Exp Imp
... ...
...P#
Qty
...
17-13
Wei-Pang Yang, Information Management, NDHU
Semantic Concepts
Entity: a thing which can be distinctly identified. e.g. S, P• Weak Entities: an entity that is existence-dependent
on some other entity. e.g. Dependent• Regular Entities: an entity that is not weak.
Property: • Simple or Composite Property• key: unique value• Single or
Multi-valued: i.e. repeating data • Missing: unknown or not applicable.• Base or
Derived: e.g. "total quantity"
17-14
Wei-Pang Yang, Information Management, NDHU
Semantic Concepts (cont.)
Relationship: association among entities.• participant: the entity participates in a relationship.
e.g. Employee, Dependent• degree of relationship:
number of participants.• total participant:
every instance is used. e.g. Dependent
• partial participant: e.g. Employee
Note: An E/R relationship can be one-to-one, one-to- many, many-to-one, or many-to-many.
.
.
.
.
.
.
.
.
Employee Dependent
E1
E2
E3
E4
Dependent M
1 Employee
17-15
Wei-Pang Yang, Information Management, NDHU
Semantic Concepts (cont.)
Subtype: Any given entity can be a subtype of other entity.
e.g. An example type hierarchy:
• Programmer Employee• Application Programmer Programmer
Employee
Programmer
Application Programmer
System Programmer
17-16
Wei-Pang Yang, Information Management, NDHU
Transfer E-R Diagram to SQL Definition
ER-Diagram
SQL Definition
(1) Regular Entities Base Relations e.g. Department DEPT
Employee EMP Supplier S Part P Project J
attributes: properties. primary key: key property.
<e.g> CREATE TABLE EMP (EMP# ...... . . . primary key (EMP#)); . . .
(2) Properties attributes multivalued property: normalized first.
17-17
Wei-Pang Yang, Information Management, NDHU
Transfer E-R Diagram to SQL Definition (cont.)
(3) Many-to-Many Relationships Base Relations
<e.g.> Consider SUPP-PART SP
– foreign keys: key attributes of the participant entity.
– primary key:(1) combination of foreign keys, or(2) introduce a new attribute.
– attributes:
primary key foreign keys properties
ID S# P# QTY
1
2
3
...
S
S#
SPP
QTY
P#
M M
<e.g.> CREATE TABLE SP ( S#, ..., P#, ..., Qty, ..., FOREIGN KEY (S#) REFERENCES S
NULL NOT ALLOWED DELETE OF S RESTRICTED UPDATE OF S.S# CASCADES FOREIGN KEY (P#) REFERENCES P ...... PRIMARY KEY (S#, P#) )
17-18
Wei-Pang Yang, Information Management, NDHU
Transfer E-R Diagram to SQL Definition (cont.)
(4) Many-to-One or One-to-Many or One-to-One Relationships → 不用給 Base-Relation, 但… .
e.g. Consider
DEPT_EMP(Department_Employee)
1° no any new relation is necessary.
2° Introduce a foreign key in "many" side relation (eg. EMP) that reference the "one" side relation (eg. DEPT).
CREATE TABLE EMP ( EMP#, ... DEPT#, ... ...... FOREIGN KEY (DEPT#) REFERENCES DEPT ...... );
Department (DEPT)
DEPT_EMP
EMP#
DEPT#
Employee (EMP)
M
1
DEPT#
17-19
Wei-Pang Yang, Information Management, NDHU
Transfer E-R Diagram to SQL Definition (cont.)
(5) Weak Entities Base Relation + Foreign Key• foreign key: key property of its dependent entity• primary key:
(1) combination of foreign key and its own primary key
(2) introduce a new attribute
e.g. CREATE TABLE DEPENDENT
( EMP#, …
name,
......
FOREIGN KEY (EMP#) REFERENCES EMP
NULL NOT ALLOWED
DELETE OF EMP CASCADES
UPDATE OF EMP.EMP# CASCADES
PRIMARY KEY ( EMP#, DEPENDENT_NAME ) );
Dependent
EMPEMP#
name
M
1
EMP#
e.g. EMP# e.g. name
17-20
Wei-Pang Yang, Information Management, NDHU
Transfer E-R Diagram to SQL Definition (cont.)
(6) Supertypes and SubtypesBase Relation + Foreign Key
<e.g.> CREATE TABLE EMP ( EMP#, ... DEPT#, ... SALARY, ... ...... PRIMARY KEY (EMP#), ...); CREATE TABLE PGMR ( EMP#, ... LANG#, ... SALARY, ... ...... PRIMARY KEY (EMP#) FOREIGN KEY (EMP#) REFERENCES EMP ......);
EMP
PGMR
17-21
Wei-Pang Yang, Information Management, NDHU
Home Work: Term Project
Design and implementation an useful, complete, and “real” database system.
Steps: Take any data you are familiar with. (from your work or ?)
System Analysis represented by flow chart
By using the E-R model to analysis and describe your data.
Design logical database, user interface, and more
Design the database system as “complete and real” as possible.
Due: Demo and A Comprehensive Report
17-22
Wei-Pang Yang, Information Management, NDHU
end of unit 17