Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mapping the ER Model to Relations(1)1 Overview  Mapping entity types  Mapping relationship types  One-to-one  One-to-many  Many-to-many.

Similar presentations


Presentation on theme: "Mapping the ER Model to Relations(1)1 Overview  Mapping entity types  Mapping relationship types  One-to-one  One-to-many  Many-to-many."— Presentation transcript:

1 Mapping the ER Model to Relations(1)1 Overview  Mapping entity types  Mapping relationship types  One-to-one  One-to-many  Many-to-many

2 Mapping the ER Model to Relations(1)2 Mapping an EER Schema to Relations  In a sequence of steps, a set of relations is created.  Sometimes automated in CASE tools 1.Regular entity types 2.Weak entity types 3.Binary 1:1 relationship types 4.Binary 1:N relationship types 5.Binary M:N relationship types 6.n-ary relationship types 7.Multi-valued attributes

3 3 Customer Rents VideoTape Status Film Copies Performer StarsIn Children Reserves Store TapeNum NumCheckOuts AmountPaid ReturnDate Length Title Address Street City State CustomerIDTotalRes Name Location Role Name FilmID RentalPrice Distributor Kind Date Director parent (0,n) child (0,2) (0,m)(0,n) (1,1) (0,n) (0,m) (0,q) O Employee Preferred Customer Super- vises Supervisee (1,1) Manager (0,5) d Foreign Film Educational Film Music Video Spoken Language Subtitle Language Recommended Age “F”“M”“E” Kind Final Example EER Schema

4 Mapping the ER Model to Relations(1)4 1. Entity Type Maps to a Table  Create a table for each regular entity type.  One column in table for each simple attribute  Derived attributes may or may not appear (your choice)  Table’s primary key is the primary key of the entity type  Optimization: If there are no attributes other than the primary key, and if the entity participates totally in a relationship, then the table can be eliminated.

5 Mapping the ER Model to Relations(1)5 1. Entity Type Example  Consider the Film entity type  Maps to the following table (relational schema). Film (FilmID, Title, PubDate, RentalPrice, Distributor, Kind)  Note, primary key of table is key of entity type. Film TitleFilmID RentalPrice Distributor Kind Date Director

6 Mapping the ER Model to Relations(1)6 1. Entity Type Optimization Example  Assume each book is the basis for a film.  Book table can be eliminated by putting Book information into Film table since Book participates totally and has only key attributes.  Maps to the following table (relational schema). Film (FilmID, Title, BookTitle, Author, Publisher) Film TitleFilmID Book BookTitle Author Based On

7 Mapping the ER Model to Relations(1)7 2. Weak Entity Type Maps to a Table  Create a table for each weak entity type  One column for each simple attribute  Include column(s) for the primary key of each owner entity type. These columns are foreign keys  The primary key is the combination of each owner primary key and the partial key.

8 Mapping the ER Model to Relations(1)8 2. Weak Entity Type Example  Example:  VideoTape weak entity type (and Copies) maps to VideoTape (FilmID, TapeNum, Status)  Chose not to store derived attribute NumCheckOuts  Film entity type maps to different table  Copies relationship type is not mapped to a table VideoTape Status Film Copies TapeNum NumCheckOuts FilmID (1,1)(0,n)

9 Mapping the ER Model to Relations(1)9 Overview  Mapping entity types  Mapping relationship types  One-to-one  One-to-many  Many-to-many

10 Mapping the ER Model to Relations(1)10 Mapping Relationship Types - General  Each relationship type is mapped to a table  Columns are  Attributes of relationship type  Key attributes of all the participating entity types  Keys in table are  Primary key - combined key of all the “many” sides in relationship type  Foreign keys - Each “borrowed” key is a foreign key  Optimization: Often the table can be eliminated by extending the table for one side of the relationship

11 Mapping the ER Model to Relations(1)11 3. Mapping 1-1 Relationship Types  For each 1:1 binary relationship type, extend one of the tables for a participating entity type.  Primary key of the other entity type becomes a foreign key in this table  It is best to extend a table of an entity type with total participation  Add columns for each of the simple attributes of the relationship type  Optimization: Perhaps remove the table corresponding to the other entity type

12 Mapping the ER Model to Relations(1)12 3. 1-1 Relationship Type Example  Each book is the basis for some film  For this ER schema, there would already by a Film table and a Book table from step 1, Extend the Film table to include the key of Book, which is BookTitle, Author.  Film(FilmID, Title, BookTitle, Author)  Optimize: remove Book table, add PubDate to Film Film TitleFilmID Book BookTitle Author Based On PubDate

13 Mapping the ER Model to Relations(1)13 4. 1-to-Many Relationship Types  For each regular 1:N binary relationship type, there are several approaches  Option 1: Create a separate table for the relationship type Three tables result Key of relationship table is key of “many” side  Option 2: If the relationship is total, then extend a table corresponding to the ‘many’ entity type Two tables result (optimization)  Option 3: If the relationship is not total, extend a table with nullable attributes (sometimes not allowed for foreign keys) Two tables result (optimization)

14 14 4. 1-Many Rel. Type Example, Option 1  Create a table for the relationship type  Add columns for each of the simple attributes of the relationship type  Add columns for each of the keys of the participating entity types  The key of the table is the key of the ‘many’ side  Example:  Create a Hires table  Store(Location, HoursOpen)  Hires(Location, EmployeeID)  Employee(EmployeeID, Location) Employee Hires EmployeeID Store Location Hours open

15 Mapping the ER Model to Relations(1)15 4. 1-Many Rel. Type Example, Option 2 & 3  Do not have a table for the relationship type  Extend the table’s ‘many’ side with the primary key of the other participating entity type. This is a foreign key  Add columns for each of the simple attributes of the relationship type  Example:  Extend the Employee table with a Location column. Employee(EmployeeID, Location) Store(Location, Hours Open) Employee Hires EmployeeID Store Location Hours open

16 Mapping the ER Model to Relations(1)16 4. Column Renaming  Column names  Taken from attributes, usually unchanged  Two columns in a table cannot have the same name Must rename columns to retain uniqueness The renaming does not affect primary/foreign key status  Example  Must rename EmployeeID columns to disambiguate Supervises(Manager, Supervisee) Employee(EmployeeID) Employee Super- vises Supervisee Manager EmployeeID

17 Mapping the ER Model to Relations(1)17 5. Many-to-Many Relationship Types  Create a table for each binary M:N relationship type  The table has columns for  A column for each primary key attribute in a participating entity type. These are foreign keys  A column for each of the simple attribute of the relationship type  The primary key of the table is the union of the primary keys of the participating entity types

18 Mapping the ER Model to Relations(1)18 5. M:N Relationship Types Example  Film (FilmID, Title, RentalPrice)  Reserves(FilmID, CustomerID)  Customer(CustomerID, Name) Customer Reserves CustomerID Film TitleFilmID Name RentalPrice

19 Mapping the ER Model to Relations(1)19 5. Reflexive M:N Rel Types Example  Children (Parent, Child, Age)  Customer(CustomerID) Customer Children Parent Child CustomerID Age

20 Mapping the ER Model to Relations(1)20 6. N-ary Relationship Types  Create a table for each n-ary (n > 2) relationship type  Columns in the table are the primary keys of the participating entity types. (These are foreign keys)  Also include columns for each simple attribute of the relationship type  The primary key of the created table is the union of the primary keys of the participating entity types  Optimization: If the relationship type is (1,1) on a side, it may be possible to remove an entity table, placing its attributes in the table associated with the relationship

21 21 6. N-ary Relationship Types, Example  Reserves (CustomerID, FilmID, Location)  Rents (CustomerID, FilmID, TapeNum, Location, ReturnDate, AmountPaid, Status) Customer Rents VideoTape Film Copies Reserves Store TapeNum AmountPaidReturnDateStatus CustomerID Location FilmID (0,m)(0,n) (1,1) (0,n) (0,q) (0,j) (0,p)

22 Mapping the ER Model to Relations(1)22 7. Multivalued Attributes  Create a table for each multivalued attribute  The table has a column for each simple attribute of the multivalued attribute  Add columns for the primary key of the entity or relationship type to which the attribute belongs. (This is a foreign key)  The primary key is the combination of all the attributes  Example:  Director (FilmID, Name) Film FilmID Director


Download ppt "Mapping the ER Model to Relations(1)1 Overview  Mapping entity types  Mapping relationship types  One-to-one  One-to-many  Many-to-many."

Similar presentations


Ads by Google