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