170 likes | 250 Views
Transformation of E/R Diagram to Relation. Transformation of E/R Diagram to Relation. Primary keys allow entity sets and relationship sets to be expressed uniformly as relations E/R diagram collection of tables For each entity set and each relationship set there is a unique table.
E N D
Transformation of E/R Diagram to Relation • Primary keys allow entity sets and relationship sets to be expressed uniformly as relations • E/R diagram collection of tables • For each entity set and each relationship set there is a unique table CSCE 520
Transformation from E/R to Relation • Entity set: becomes a relation with the attributes of the entity set • Relationship: becomes a relation with attributes: • Key of connected entity sets • Attributes of the relationship CSCE 520
Example E/R Diagram Breed Name Name License # Dog Boards Kennel Age Address Owns Phone Weight Pays Owner Amount Name Phone CSCE 520
Entity Set to Relation Breed Name Dog Age Weight Dog(Name,Breed,Age,Weight) CSCE 520
Entity Set to Relation Name Amount Date Name Address Kennel Pays Owner Phone Pays(Kennel. Name,Owner.Name,Amount,Date) CSCE 520
Combining Relations: Many-One Name Amount Date Name Address Kennel Pays Owner Phone Favorite Combine relation for entity of “many” side (Owner) with relationship set, i.e., Owner’s-favorite(Name,Phone,FavoriteKennel.Name) CSCE 520
Combining Relations: Many-Many Name Name Address Kennel Pays Owner Phone Combining Owner with pays: Owner(Kennel.Name,Owner.Name,Phone) CSCE 520
Many-many Relationship Redundancy CSCE 520
Weak Entity Sets to Relation • Relation for a weak entity set must include attributes for its complete key (including those that belong to other entities) as well as its own, non-key attributes • Supporting relationship is redundant and does not yield a relation CSCE 520
Example: Weak Entity Set Breed Name Name Dog Owns Owner Phone Age Owner(Owner.Name, Phone) Dog(Dog.Name,Owner.Name, Age,Breed) Owns(Dog.Name,Owner.Name1,Owner.Name2) Must be the same Already in Dog Redundant! CSCE 520
Entity Sets with Subclasses Three approaches: • Object-oriented: each entity belongs to exactly one class. Create a relation for each class with all its attributes. • E/R style: create one relation for each subclass with only the key attributes and the attributes of the subclass. Entity is represented in all relations to whose subclass entity set it belongs. • Null values: create on relation with all attributes. Entities have null values in attributes that do not belong to them. CSCE 520
Example Subclass Name Breed Dog ISA Show-Dog Rank CSCE 520
Object-Oriented Approach Dog Show dog CSCE 520
E/R Approach Dog Show dog CSCE 520
Null Values Dog CSCE 520
Comparisons • Object-Oriented: good for queries like “find all G.S. dogs that ranked 2nd or above”. • E/R: good for “find all G.S. dogs (regardless of being a show dog or not) • Null values: may save space, but not good if too many attributes with null values. CSCE 520