Basic ER modeling was adequate for simpler databases, but in the 1980’s more demanding databases required more extensive modeling requirements. Some such applications: CAD - Computer Aided Design CAM – Computer Aided Manufacturing CASE – Computer Assisted Software Engineering OIS – Office Information Systems GIS – Geographical Information Systems
EER adds 3 main additional semantic concepts for visual modeling of databases using UML(Unified Modeling Language). 1. Specialization/Generalization 1. Superclass 2. Subclass 3. Inheritance 2. Aggregation 3. Composition
Very similar to Object Oriented programming superclass, subclass and inheritance. Superclass: An entity type that includes one ore more subgroupings of its occurrences, which require to be represented in a data model. Subclass: A distinct subgrouping of occurrences of an entity type, which require to be represented in a data model. Superclass/Subclass relation is a 1:1 relation Superclass may contain overlapping subclasses Helps avoid multiple copies of the same data and null entries
Subclasses inherit Superclasses attributes Subclass is its own entity Subclass may have its own subclasses Shared Subclass: Entity with more than 1 Superclass : (Multiple Inheritance) An entity and its Sublasses are called: Type Hierarchy Specialization Hierarchy Generalization Hierarchy Is-A Hierarchy
Specialization: The process of maximizing the differences between members of an entity by identifying their distinguishing characteristics. Specialization is a Top-Down approach Generalization: The process of minimizing the differences between entities by identifying their common characteristics. Generalization is a Bottom-Up approach
Use an open triangle on the Superclass side to denote a SuperClass/Subclass relation.
Participation Constraint: Determines whether every member of a superclass must participate as a member of a subclass. Mandatory Optional Disjoint Constraint: Describes the relationship between members of the subclasses and indicates whether it is possible for a member of a superclass to be a member of one or more subclasses. Disjoint: Or Nondisjoint: And
4 Possibilities {Mandatory, And} {Mandatory, Or} {Optional, And} {Optional, Or}
Aggregation: Represents a “has-a” or “is-part- of” relationship between two entities. Entirely conceptual, only distinguishing the “whole” from the “part” Does not change the diagrammatic meaning or traversal of the relationship Does not link the lifetimes of the “whole” and “part”
Use an Open diamond on the “whole” side
Composition: A specific form of aggregation that represents an association between entities, where there is a strong ownership and coincidental lifetime between the “whole” and “part”. In a Composite relationship the “whole” is responsible for the disposition of the relationship. The “whole” is responsible for the creation and destruction of its parts. An object may be part of only one composite at a time.
Use a filled diamond on the “whole” side
By: Bryan Hunwardsen