1 er modeling buad/american university mapping er modeling to relationships
TRANSCRIPT
1ER ModelingBUAD/American University
Mapping ER modeling to Relationships
2ER ModelingBUAD/American University
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.
3ER ModelingBUAD/American University
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
4ER ModelingBUAD/American University
Schema for four relations (Pine Valley Furniture)
5ER ModelingBUAD/American University
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
6ER ModelingBUAD/American University
Referential integrity constraints (Pine Valley Furniture)
7ER ModelingBUAD/American University
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
8ER ModelingBUAD/American University
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
9ER ModelingBUAD/American University
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
10ER ModelingBUAD/American University
Example of mapping a 1:M relationship
(a) Relationship between customers and orders
(0, M)
1
11ER ModelingBUAD/American University
(b) Mapping the relationship
12ER ModelingBUAD/American University
Example of mapping an M:N relationship
(a) Requests relationship (M:N)
(0, M) (1, M)
13ER ModelingBUAD/American University
(b) Three resulting relations
14ER ModelingBUAD/American University
Mapping a binary 1:1 relationship
(a) Binary 1:1 relationship
(0, 1)
1
15ER ModelingBUAD/American University
(b) Resulting relations
16ER ModelingBUAD/American University
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
17ER ModelingBUAD/American University
Mapping an associative entity with an identifier
(a) Associative entity (SHIPMENT)
18ER ModelingBUAD/American University
(b) Three relations
19ER ModelingBUAD/American University
Mapping Supertype/subtype relationships to relations
20ER ModelingBUAD/American University
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
21ER ModelingBUAD/American University
(a) CUSTOMER entity type with composite attribute
Mapping a composite attribute