Mapping ER modeling to Relational Tables

advertisement
Mapping ER modeling to
Relationships
BUAD/American University
ER Modeling
1
Review of Relation Properties
• Relation
– Every relation has a unique name.
– Every attribute value is atomic.
– Every row is unique.
– Attributes in tables have unique names.
– The order of the columns is irrelevant.
– The order of the rows is irrelevant.
BUAD/American University
ER Modeling
2
Review of Relational Keys and
Structures
•
•
•
•
Primary Key
Candidate Key
Composite Key
Foreign Key: an attribute (or a composite
attribute) in a relation that serves as the
primary key of another relation
– One-to-Many Relationship
– Many-to-Many Relationship
BUAD/American University
ER Modeling
3
Schema for four relations (Pine Valley Furniture)
BUAD/American University
ER Modeling
4
Review of Integrity Constraints
• Domain Constraints
– Allowable values for an attribute.
• Entity Integrity
– No primary key attribute may be null.
• Referential Integrity: maintains consistency among related
relations
– Foreign Key value in one relation must match a primary
key value in other relation
– For example: Delete Rules
• Restrict, Cascade, Set-to-Null
• Operational Constraints: Business rules
BUAD/American University
ER Modeling
5
Referential integrity constraints (Pine Valley Furniture)
BUAD/American University
ER Modeling
6
Well-Structured Relations
• Is a relation that contains minimal
redundancy and allows users to insert,
modify, and delete the rows in a table
without errors or inconsistencies
BUAD/American University
ER Modeling
7
Transforming E-R Diagrams Into
Relations
3. Map Binary Relationships
– One-to-Many - Primary key on the one side becomes a
foreign key on the many side
– Many-to-Many - Create a new relation with the primary
keys of the two entities as its primary key
– One-to-One - Primary key on the mandatory side
becomes a foreign key on the optional side
BUAD/American University
ER Modeling
8
Translating an ER diagram into
Relationships (one to many)
• Create one table for each entity
• For each entity that is only at the “one” side a one to many
relationship (not many end), create a single column primary
(use an arbitrary unique number if no natural key exists)
• For each entity that is at the many side of a one to many
relationship, use the primary key of the parent (one side) in
the table as the foreign key
• Entity at the many side of one or more relationship has a
natural key, use that single column as the primary key. Else,
concatenate the primary key of the one side with any columns
needed for uniqueness
BUAD/American University
ER Modeling
9
Example of mapping a 1:M relationship
(a) Relationship between customers and orders
1
(0, M)
BUAD/American University
ER Modeling
10
(b) Mapping the relationship
BUAD/American University
ER Modeling
11
Example of mapping an M:N relationship
(a) Requests relationship (M:N)
(0, M)
BUAD/American University
(1, M)
ER Modeling
12
(b) Three resulting relations
BUAD/American University
ER Modeling
13
Mapping a binary 1:1 relationship
(a) Binary 1:1 relationship
1
(0, 1)
BUAD/American University
ER Modeling
14
(b) Resulting relations
BUAD/American University
ER Modeling
15
Transforming E-R Diagrams Into
Relations
4. Map Associative Entities
– Primary Keys
• Default primary key for the association relation is
the primary keys of the two entities
BUAD/American University
ER Modeling
16
Mapping an associative entity with an identifier
(a) Associative entity (SHIPMENT)
BUAD/American University
ER Modeling
17
(b) Three relations
BUAD/American University
ER Modeling
18
Mapping Supertype/subtype relationships to relations
BUAD/American University
ER Modeling
19
Map Composite and Multi-valued
Entities to Relations
– Composite attributes: Use only their simple,
component attributes
– Multi-valued Attribute - Becomes a separate
relation with a foreign key taken from the
superior entity
BUAD/American University
ER Modeling
20
Mapping a composite attribute
(a) CUSTOMER entity type with composite attribute
BUAD/American University
ER Modeling
21
Download