The EER model was developed in the 1980s by database researchers includingRamez Elmasri and Shamkant Navathe to address the limitations of the basic ER model when modeling complex databases in domains such as engineering design, manufacturing systems (CAD/CAM), telecommunications networks,geographic information systems (GIS), and complex software applications.[1]
The EER model extends the basic ER model by adding support for more complex data relationships and semantic information. While the traditional ER model effectively represents entities, attributes, and relationships, it lacks the ability to model hierarchies, inheritance, and classification structures that are common in real-world databases.
The EER model retains all concepts from the basic ER model—including entities, attributes, relationships, keys, andcardinality constraints, while adding new constructs to handle:
Subclass and superclass relationships: Enabling classification hierarchies
Specialization and generalization: Top-down and bottom-up abstraction mechanisms
Attribute and relationship inheritance: Automatic propagation of properties to subclasses
Union types (categories): Entities that can belong to multiple distinct superclasses
Constraints on hierarchies: Rules governing membership in specialization hierarchies
These enhancements make the EER model particularly suitable for modeling complex enterprise databases,object-oriented applications, and systems requiring sophisticated classification schemes.
Asubclass (orsubtype) is an entity type that has distinct attributes or relationships in addition to those inherited from another entity type, called thesuperclass (orsupertype). The subclass is asubset of the superclass, meaning every instance of a subclass is also an instance of its superclass.
Example: In a university database,
Person might be a superclass with subclasses
Student
Professor
Staff
Each subclass inherits common attributes like
Name
Address
DateOfBirth
fromPerson, while having specific attributes such as
StudentID
Major
Student
Rank
Department
forProfessor.
Formally, ifS is a subclass ofC (the superclass), then:
S ⊆C (every member ofS is also a member ofC)
S inherits all attributes and relationships ofC
S may have additional specific attributes and relationships
Specialization is a top-down conceptual refinement process where a higher-level entity type (superclass) is subdivided into lower-level, more specialized entity types (subclasses) based on distinguishing characteristics. It emphasizes differences among entities within the superclass.
Process:
Start with a general entity type
Identify distinguishing characteristics
Define subclasses based on these characteristics
Assign specific attributes and relationships to each subclass
Example: Starting with anEmployee entity, specialization might identify distinct types based on job function:
Employee (superclass) specializes into:
Secretary (with attributeTypingSpeed)
Engineer (with attributeEngineeringType)
Technician (with attributeTechGrade)
Specialization can be:
Attribute-defined: Based on a specific attribute value (e.g.,EmployeeType)
User-defined: Not based on any specific attribute condition
Generalization is a bottom-up abstraction process where multiple entity types with common characteristics are combined into a higher-level, generalized entity type (superclass). It emphasizes similarities among entities.
Process:
Identify entity types with common attributes
Extract common attributes into a new superclass
Establish subclass relationships
Retain specialized attributes in subclasses
Example: Separate entitiesCar,Truck, andMotorcycle can be generalized into a superclassVehicle containing common attributes likeVehicleID,Color,Year, andManufacturer, while specific attributes remain with subclasses.
Specialization and generalization are inverse processes: specialization creates subclasses from a superclass, while generalization creates a superclass from existing entity types.
Inheritance is a fundamental principle of the EER model where subclasses automatically inherit all attributes and relationships from their superclass(es). This promotes data consistency and reduces redundancy in the model.
Types of inheritance:
Single inheritance: A subclass inherits from exactly one superclass.
Example:Student inherits fromPerson
Multiple inheritance: A subclass inherits from multiple superclasses, acquiring attributes and relationships from all parents.
Example:TeachingAssistant might inherit from bothStudent andEmployee
Inheritance properties:
Transitive: IfC is a subclass ofB, andB is a subclass ofA, thenC inherits from bothB andA
Additive: Subclasses can define additional attributes and relationships beyond inherited ones
Overriding: Generally not supported in EER (unlikeobject-oriented models)
Aunion type (orcategory) represents a subclass that is a subset of theUNION of two or more distinct superclasses. Unlike regular subclasses that inherit from a single superclass, a category can have instances from multiple different entity types.
Characteristics:
An instance of a category must belong to exactly one of the superclasses
The category inherits attributes common to all superclasses
Each instance maintains its identity in the originating superclass
Notation: Represented by a circle with the union symbol (∪) connected to all superclasses, with an arc and subset symbol (⊂) connecting to the category.
Example: In a vehicle registration database, anOwner category can be defined as a subset of PERSON ∪ BANK ∪ COMPANY. Each vehicle owner is either a person, a bank, or a company, but not multiple types simultaneously. TheOwner category would have a relationshipOwns with theVehicle entity.
Formal definition: If categoryT is defined on superclassesS1,S2, ...,Sn, then:
Aggregation is an abstraction concept that treats a relationship as a higher-level entity, allowing relationships to participate in other relationships. This is useful when modeling complex scenarios where relationships themselves have attributes or participate in additional relationships.
Example: In a project management system:
Employees work on Projects (relationship:WorksOn)
For each work assignment, specific Machinery is required
The aggregation treats the entireWorksOn relationship as an entity that can be related toMachinery
This allows modeling: "EmployeeE working on ProjectP requires MachineryM" without creating artificial intermediate entities.
^Elmasri, Ramez; Navathe, Shamkant B. (2011). "Chapters 8 and 9".Fundamentals of Database Systems (6th ed.). Boston: Pearson/Addison Wesley.ISBN978-0-136-08620-8.
Textbooks discussing EER and implementation using purely relational databases:
Elmasri, Ramez; Navathe, Shamkant B. (2011).Fundamentals of Database Systems (6th ed.). Pearson/Addison Wesley. Chapters 8 and 9.ISBN978-0-136-08620-8.
Coronel, Carlos; Morris, Steven; Rob, Peter (2011).Database Systems: Design, Implementation, and Management (9th ed.). Cengage Learning. Chapter 5.ISBN978-0-538-46968-5.
Connolly, Thomas M.; Begg, Carolyn E. (2005).Database Systems: A Practical Approach to Design, Implementation, and Management (4th ed.). Addison-Wesley. Chapters 12 and 16.ISBN978-0-321-21025-8.
Booklet discussing EER and implementation using object-oriented and object–relational databases:
Dietrich, Suzanne W.; Urban, Susan D. (2011).Fundamentals of Object Databases: Object-Oriented and Object–Relational Design. Morgan & Claypool Publishers.ISBN978-1-60845-476-1.
Textbook discussing implementation in relational and object–relational databases:
Teorey, Toby J.; Yang, Dongqing; Fry, James P. (1986). "A logical design methodology for relational databases using the extended entity–relationship model".ACM Computing Surveys.18 (2):197–222.CiteSeerX10.1.1.105.7211.doi:10.1145/7474.7475.
Sikha Bagui (2006). "Extended Entity Relationship Modeling". In Laura C. Rivero; Jorge H. Doorn; Viviana E. Ferraggine (eds.).Encyclopedia of Database Technologies and Applications. Idea Group Inc (IGI). pp. 233–239.ISBN978-1-59140-795-9.