CS 430 Database Theory Winter 2005 Lecture 15: How to Convert an ER Model to Relations 1 Issue We do Conceptual Modeling using ER Models Our databases are relational Look a little like ER models but not exactly How to we convert an ER model to relations for an RDBMS Note: Typically the resulting relations are 3NF 2 ER Model ER Model has: Entities, Relationships, Attributes To convert to Relation Tables: Relationships may have attributes May have multi-valued and composite attributes Need Keys for Entities Relationships need cardinalities, e.g. 1:1, 1:n, m:n Example ER Model: Figure 7.1 from Text Book 3 Steps Convert Independent (Strong, Regular) Entities Convert Dependent (Weak) Entities Convert Binary Relations 1:1 1:n m:n Convert N-Ary Relationships (N>2) Convert Multi-Valued Attributes 4 Convert Independent Entities Create a new Relation for the Entity Make all simple (non-multi-valued, noncomposite) attributes of the Entity into attributes of the Relation For single-valued composite attributes, use the underlying simple attributes Choose some Key attribute(s) to be the Primary Key 5 Result So Far EMPLOYEE SSN Fname Minit LName Sex Address BDate Salary DEPARTMENT DName DNumber PROJECT PName PNumber PLocation 6 Convert Dependent Entities Create a new Relation for the Entity Make all simple attributes into attributes of the relation (same as for Independent Entities) Add the primary key attribute(s) of the owning entity as a foreign key for the weak entity Convert entities in order: If one weak entity owns another, convert the owner first Add ON UPDATE and ON DELETE The usual approach is CASCADE 7 Result So Far EMPLOYEE SSN Fname Minit LName Sex Address BDate Salary DEPARTMENT DName DNumber PROJECT PName PNumber PLocation DEPENDENT ESSN Dependent_Name Sex BDate Relationship 8 Map 1:1 Relations Foreign Key approach: Merged Relationship Include the primary key of one relation as a foreign key in the other Include attributes of the relationship with the foreign key Merge the two relations Cross Reference Add a new table with the keys from both entities (see m:n for example of this) 9 Result So Far EMPLOYEE SSN Fname Minit LName Sex Address BDate Salary DEPARTMENT DName DNumber MgrSSN MgrStartDate PROJECT PName PNumber PLocation DEPENDENT ESSN Dependent_Name Sex BDate Relationship 10 Map 1:n Relations Let R be the “1 side”, S the “n side” Include R’s key as a foreign key in S Include any attributes of the relation together with the foreign key in S Or use the Cross Reference table approach (m:n approach) 11 Result So Far EMPLOYEE SSN Fname Minit LName Sex Address BDate Salary SuperSSN DNo DEPARTMENT DName DNumber MgrSSN MgrStartDate PROJECT PName PNumber PLocation DNum DEPENDENT ESSN Dependent_Name Sex BDate Relationship 12 Map m:n Relations Create a new Relation to represent the Relationship Include the keys of the related entities as foreign keys in the relation Make the key of the relation the combined keys of the participating entities Include any simple attributes of the relationship as attributes of the relation Include CASCADE for UPDATE and DELETE (typical) 13 Result So Far EMPLOYEE SSN Fname Minit LName Sex Address BDate Salary SuperSSN DNo DEPARTMENT DName DNumber MgrSSN MgrStartDate PROJECT PName PNumber PLocation DNum WORKS_ON ESSN PNo Hours DEPENDENT ESSN Dependent_Name Sex BDate Relationship 14 Map N-Ary Relationships Treat the same as mapping m:n relationships Create a new relation Make the keys of all the parents, foreign keys of the relation Make the key the combined foreign keys Copy any simple attributes of the relationship as attributes of the relation 15 Map Multi-Valued Attributes Create a new Relation to represent the Attribute Include the key of the parent Relation as a foreign key for the new relation Include the Multi-Valued Attribute as an attribute of the relation Make the primary key the combination of the parent key and the attribute CASCADE on UPDATE and DELETE Note: If you have a composite multi-valued attribute, check to make sure you don’t have a weak entity Impacts the set of attributes that make up the primary key 16 Final Result EMPLOYEE SSN Fname Minit LName Sex Address BDate Salary SuperSSN DNo DEPARTMENT DName DNumber MgrSSN MgrStartDate DEPT_LOCATIONS DNumber DLocation PROJECT PName PNumber PLocation DNum WORKS_ON ESSN PNo Hours DEPENDENT ESSN Dependent_Name Sex BDate Relationship 17
© Copyright 2026 Paperzz