SlideShare a Scribd company logo
1 of 25
© Shamkant B. Navathe
        CC
Chapter 4 - Part I
Enhanced Entity-Relationship
    and UML Modeling




         Copyright © © Shamkant B. Navathe
                     2004 Ramez Elmasri and Shamkant Navathe.
                               CC
Enhanced-ER (EER) Model
              Concepts
 Includes all modeling concepts of basic ER
 Additional concepts: subclasses/superclasses,
  specialization/generalization, categories, attribute
  inheritance
 The resulting model is called the enhanced-ER or
  Extended ER (E2R or EER) model
 It is used to model applications more completely
  and accurately if needed
 It includes some object-oriented concepts, such as
  inheritance
           Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                      Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Subclasses and Superclasses (1)
 An entity type may have additional meaningful
  subgroupings of its entities
 Example: EMPLOYEE may be further grouped into
  SECRETARY, ENGINEER, MANAGER, TECHNICIAN,
  SALARIED_EMPLOYEE, HOURLY_EMPLOYEE,…
   – Each of these groupings is a subset of EMPLOYEE entities
   – Each is called a subclass of EMPLOYEE
   – EMPLOYEE is the superclass for each of these subclasses
 These are called superclass/subclass relationships.
 Example: EMPLOYEE/SECRETARY,
  EMPLOYEE/TECHNICIAN

             Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                        Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Subclasses and Superclasses (2)
 These are also called IS-A relationships (SECRETARY IS-A
  EMPLOYEE, TECHNICIAN IS-A EMPLOYEE, …).
 Note: An entity that is member of a subclass represents the same real-
  world entity as some member of the superclass
   – The Subclass member is the same entity in a distinct specific role
   – An entity cannot exist in the database merely by being a member
     of a subclass; it must also be a member of the superclass
   – A member of the superclass can be optionally included as a
     member of any number of its subclasses
 Example: A salaried employee who is also an engineer belongs to the
  two subclasses ENGINEER and SALARIED_EMPLOYEE
   – It is not necessary that every entity in a superclass be a member of
     some subclass



               Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                          Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Attribute Inheritance in
           Superclass / Subclass
                Relationships
 An entity that is member of a subclass inherits all
  attributes of the entity as a member of the
  superclass
 It also inherits all relationships




           Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                      Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Specialization
 Is the process of defining a set of subclasses of a superclass
 The set of subclasses is based upon some distinguishing characteristics
  of the entities in the superclass
 Example: {SECRETARY, ENGINEER, TECHNICIAN} is a
  specialization of EMPLOYEE based upon job type.
   – May have several specializations of the same superclass
 Example: Another specialization of EMPLOYEE based in method of
  pay is {SALARIED_EMPLOYEE, HOURLY_EMPLOYEE}.
   – Superclass/subclass relationships and specialization can be
       diagrammatically represented in EER diagrams
   – Attributes of a subclass are called specific attributes. For example,
       TypingSpeed of SECRETARY
   – The subclass can participate in specific relationship types. For
       example, BELONGS_TO of HOURLY_EMPLOYEE

               Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                          Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Example of a Specialization




  Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
             Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Generalization
 The reverse of the specialization process
 Several classes with common features are generalized into
  a superclass; original classes become its subclasses
 Example: CAR, TRUCK generalized into VEHICLE; both
  CAR, TRUCK become subclasses of the superclass
  VEHICLE.
   – We can view {CAR, TRUCK} as a specialization of VEHICLE
   – Alternatively, we can view VEHICLE as a generalization of CAR
     and TRUCK



             Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                        Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Generalization and
                      Specialization
 Diagrammatic notation sometimes used to distinguish between
  generalization and specialization
   – Arrow pointing to the generalized superclass represents a
     generalization
   – Arrows pointing to the specialized subclasses represent a
     specialization
   – We do not use this notation because it is often subjective as to
     which process is more appropriate for a particular situation
   – We advocate not drawing any arrows in these situations
 Data Modeling with Specialization and Generalization
   – A superclass or subclass represents a set of entities
   – Shown in rectangles in EER diagrams (as are entity types)
   – Sometimes, all entity sets are simply called classes, whether they
     are entity types, superclasses, or subclasses

               Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                          Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Constraints on Specialization
          and Generalization (1)
 If we can determine exactly those entities that will become members of each
  subclass by a condition, the subclasses are called predicate-defined (or
  condition-defined) subclasses
    – Condition is a constraint that determines subclass members
    – Display a predicate-defined subclass by writing the predicate condition
       next to the line attaching the subclass to its superclass
 If all subclasses in a specialization have membership condition on same
  attribute of the superclass, specialization is called an attribute defined-
  specialization
    – Attribute is called the defining attribute of the specialization
    – Example: JobType is the defining attribute of the specialization
       {SECRETARY, TECHNICIAN, ENGINEER} of EMPLOYEE
 If no condition determines membership, the subclass is called user-defined
    – Membership in a subclass is determined by the database users by applying
       an operation to add an entity to the subclass
    – Membership in the subclass is specified individually for each entity in the
       superclass by the user
                 Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                            Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Constraints on Specialization
          and Generalization (2)
 Two other conditions apply to a specialization/generalization:
 Disjointness Constraint:
    – Specifies that the subclasses of the specialization must be disjointed (an
      entity can be a member of at most one of the subclasses of the
      specialization)
    – Specified by d in EER diagram
    – If not disjointed, overlap; that is the same entity may be a member of
      more than one subclass of the specialization
    – Specified by o in EER diagram
 Completeness Constraint:
    – Total specifies that every entity in the superclass must be a member of
      some subclass in the specialization/ generalization
    – Shown in EER diagrams by a double line
    – Partial allows an entity not to belong to any of the subclasses
    – Shown in EER diagrams by a single line

                Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                           Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Constraints on Specialization
          and Generalization (3)
 Hence, we have four types of specialization/generalization:
    –   Disjoint, total
    –   Disjoint, partial
    –   Overlapping, total
    –   Overlapping, partial
 Note: Generalization usually is total because the superclass is derived
  from the subclasses.




                 Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                            Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Example of disjoint partial
    Specialization




 Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
            Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Specialization / Generalization
          Hierarchies, Lattices and Shared
                    Subclasses
 A subclass may itself have further subclasses specified on it
 Forms a hierarchy or a lattice
 Hierarchy has a constraint that every subclass has only one superclass (called single
  inheritance)
 In a lattice, a subclass can be subclass of more than one superclass (called multiple
  inheritance)
 In a lattice or hierarchy, a subclass inherits attributes not only of its direct
  superclass, but also of all its predecessor superclasses
 A subclass with more than one superclass is called a shared subclass
 Can have specialization hierarchies or lattices, or generalization hierarchies or
  lattices
 In specialization, start with an entity type and then define subclasses of the entity
  type by successive specialization (top down conceptual refinement process)
 In generalization, start with many entity types and generalize those that have
  common properties (bottom up conceptual synthesis process)
 In practice, the combination of two processes is employed

                   Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                              Copyright © 2004 Ramez Elmasri and Shamkant Navathe
 The database keeps track of three types of
  people: Employees , Alumni and students.
  A person can belong to one ,two or all three
  of these types. Each person has a name ,
  SSN, sex, address and birth date.
 Every employee has a salary and are three
  types of employees: Faculty , Staff and
  Student assistants. Each employee belongs
  to exactly one of these types. For each
  alumnus , a record of the degree or degrees
  that he or she earned at the university is
  kept including the name of the degree ,
         Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                    Copyright © 2004 Ramez Elmasri and Shamkant Navathe
year granted and the major department. Each
  student has a major department.
 Each faculty has a rank , whereas each staff
  member has a staff position.Student
  assistants are classified further as either
  research assistants or teaching assistants
  and the percent of time they work is
  recorded in the database. Research
  assistants have their research projects stored
  whereas teaching assistants have the current
  course they work on.

          Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                     Copyright © 2004 Ramez Elmasri and Shamkant Navathe
 Students are further classified as either
 graduate or undergraduate with the specific
 attributes degree program (M.S., Ph.D ,
 M.B.A and so on) and class respectively.




         Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                    Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Specialization / Generalization
 Lattice Example (UNIVERSITY)




    Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
               Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Categories (UNION TYPES)
 All of the superclass/subclass relationships we have seen thus far have a single
  superclass
 A shared subclass is subclass in more than one distinct superclass/subclass
  relationships, where each relationships has a single superclass (multiple
  inheritance)
 In some cases, need to model a single superclass/subclass relationship with
  more than one superclass
 Superclasses represent different entity types
 Such a subclass is called a category or UNION TYPE
 Example: Database for vehicle registration, vehicle owner can be a person, a
  bank (holding a lien on a vehicle) or a company.
    – Category (subclass) OWNER is a subset of the union of the three superclasses
      COMPANY, BANK, and PERSON
    – A category member must exist in at least one of its superclasses
 Note: The difference from shared subclass, which is subset of the intersection
  of its superclasses (shared subclass member must exist in all of its
  superclasses).

                 Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                            Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Example of categories
  (UNION TYPES)




Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
           Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Formal Definitions of EER
                  Model (1)
 Class C: A set of entities; could be entity type, subclass, superclass,
  category.
 Subclass S: A class whose entities must always be subset of the
  entities in another class, called the superclass C of the
  superclass/subclass (or IS-A) relationship S/C:
        S⊆C
 Specialization Z: Z = {S1, S2,…, Sn} a set of subclasses with same
  superclass G; hence, G/Si a superclass relationship for i = 1, …., n.
    – G is called a generalization of the subclasses {S1, S2,…, Sn}
    – Z is total if we always have:
        S1 ∪ S2 ∪ … ∪ Sn = G;
      Otherwise, Z is partial.
    – Z is disjoint if we always have:
        Si ∩ S2 empty-set for i ≠ j;
      Otherwise, Z is overlapping.

                Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                           Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Formal Definitions of EER
                     Model (2)
 Subclass S of C is predicate defined if predicate p on attributes of C is used to
  specify membership in S; that is, S = C[p], where C[p] is the set of entities in
  C that satisfy p
 A subclass not defined by a predicate is called user-defined
 Attribute-defined specialization: if a predicate A = ci (where A is an attribute
  of G and ci is a constant value from the domain of A) is used to specify
  membership in each subclass Si in Z
 Note: If ci ≠ cj for i ≠ j, and A is single-valued, then the attribute-defined
  specialization will be disjoint.
 Category or UNION type T
     – A class that is a subset of the union of n defining superclasses
       D1, D2,…Dn, n>1:
          T ⊆ (D1 ∪ D2 ∪ … ∪ Dn)
       A predicate pi on the attributes of T.
     – If a predicate pi on the attributes of Di can specify entities of Di that are members
       of T.
     – If a predicate is specified on every Di: T = (D1[p1] ∪ D2[p2] ∪…∪ Dn[pn]
     – Note: The definition of relationship type should have 'entity type' replaced with
       'class'.
                   Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                              Copyright © 2004 Ramez Elmasri and Shamkant Navathe
UML Example for Displaying
Specialization / Generalization




    Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
               Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Alternative Diagrammatic
                     Notations
Symbols for entity type / class,                          Displaying attributes
attribute and relationship




Notations for displaying                                    Various (min,                Displaying
specialization / generalization                             max) notations               cardinality ratios




                 Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition
                            Copyright © 2004 Ramez Elmasri and Shamkant Navathe

More Related Content

What's hot

Advanced SQL
Advanced SQLAdvanced SQL
Advanced SQLSabiha M
 
Relational algebra ppt
Relational algebra pptRelational algebra ppt
Relational algebra pptGirdharRatne
 
Chapter-4 Enhanced ER Model
Chapter-4 Enhanced ER ModelChapter-4 Enhanced ER Model
Chapter-4 Enhanced ER ModelKunal Anand
 
Sql a practical introduction
Sql   a practical introductionSql   a practical introduction
Sql a practical introductionHasan Kata
 
Chapter 4: Enhanced Entity-Relationship and Object Modeling
Chapter 4:  Enhanced Entity-Relationship and Object ModelingChapter 4:  Enhanced Entity-Relationship and Object Modeling
Chapter 4: Enhanced Entity-Relationship and Object ModelingRaj vardhan
 
Database systems - Chapter 2
Database systems - Chapter 2Database systems - Chapter 2
Database systems - Chapter 2shahab3
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship DiagramShakila Mahjabin
 
pl/sql Procedure
pl/sql Procedurepl/sql Procedure
pl/sql ProcedurePooja Dixit
 
Adbms 5 data models schemas instances and states
Adbms 5 data models schemas instances and statesAdbms 5 data models schemas instances and states
Adbms 5 data models schemas instances and statesVaibhav Khanna
 
Database Programming Techniques
Database Programming TechniquesDatabase Programming Techniques
Database Programming TechniquesRaji Ghawi
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLMalek Sumaiya
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML DiagramsManish Kumar
 
DBMS 3 | ER Diagram to Relational Schema
DBMS 3 | ER Diagram to Relational SchemaDBMS 3 | ER Diagram to Relational Schema
DBMS 3 | ER Diagram to Relational SchemaMohammad Imam Hossain
 

What's hot (20)

Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Advanced SQL
Advanced SQLAdvanced SQL
Advanced SQL
 
Relational algebra ppt
Relational algebra pptRelational algebra ppt
Relational algebra ppt
 
Chapter-4 Enhanced ER Model
Chapter-4 Enhanced ER ModelChapter-4 Enhanced ER Model
Chapter-4 Enhanced ER Model
 
ER-Model-ER Diagram
ER-Model-ER DiagramER-Model-ER Diagram
ER-Model-ER Diagram
 
Ms sql-server
Ms sql-serverMs sql-server
Ms sql-server
 
Sql a practical introduction
Sql   a practical introductionSql   a practical introduction
Sql a practical introduction
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Advanced sql
Advanced sqlAdvanced sql
Advanced sql
 
SQL
SQLSQL
SQL
 
Chapter 4: Enhanced Entity-Relationship and Object Modeling
Chapter 4:  Enhanced Entity-Relationship and Object ModelingChapter 4:  Enhanced Entity-Relationship and Object Modeling
Chapter 4: Enhanced Entity-Relationship and Object Modeling
 
Database systems - Chapter 2
Database systems - Chapter 2Database systems - Chapter 2
Database systems - Chapter 2
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
 
pl/sql Procedure
pl/sql Procedurepl/sql Procedure
pl/sql Procedure
 
Generalization and specialization
Generalization and specializationGeneralization and specialization
Generalization and specialization
 
Adbms 5 data models schemas instances and states
Adbms 5 data models schemas instances and statesAdbms 5 data models schemas instances and states
Adbms 5 data models schemas instances and states
 
Database Programming Techniques
Database Programming TechniquesDatabase Programming Techniques
Database Programming Techniques
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
DBMS 3 | ER Diagram to Relational Schema
DBMS 3 | ER Diagram to Relational SchemaDBMS 3 | ER Diagram to Relational Schema
DBMS 3 | ER Diagram to Relational Schema
 

Viewers also liked

Fundamentals of Database system
Fundamentals of Database systemFundamentals of Database system
Fundamentals of Database systemphilipsinter
 
Chapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency controlChapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency controlAbDul ThaYyal
 
Ch17 introduction to transaction processing concepts and theory
Ch17 introduction to transaction processing concepts and theoryCh17 introduction to transaction processing concepts and theory
Ch17 introduction to transaction processing concepts and theorymeenatchi selvaraj
 
Colorectal Cancer-A Rising Concern
Colorectal Cancer-A Rising ConcernColorectal Cancer-A Rising Concern
Colorectal Cancer-A Rising ConcernIsDocIn .
 
Oracle Baisc Tutorial
Oracle Baisc TutorialOracle Baisc Tutorial
Oracle Baisc Tutorialbunny0143
 
Transaction Management - Lecture 11 - Introduction to Databases (1007156ANR)
Transaction Management - Lecture 11 - Introduction to Databases (1007156ANR)Transaction Management - Lecture 11 - Introduction to Databases (1007156ANR)
Transaction Management - Lecture 11 - Introduction to Databases (1007156ANR)Beat Signer
 
Joins in databases
Joins in databases Joins in databases
Joins in databases CourseHunt
 
Everything about Database JOINS and Relationships
Everything about Database JOINS and RelationshipsEverything about Database JOINS and Relationships
Everything about Database JOINS and RelationshipsAbdul Rahman Sherzad
 
Object relational and extended relational databases
Object relational and extended relational databasesObject relational and extended relational databases
Object relational and extended relational databasesSuhad Jihad
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behaviorIIUI
 

Viewers also liked (20)

Fundamentals of Database system
Fundamentals of Database systemFundamentals of Database system
Fundamentals of Database system
 
Chapter18
Chapter18Chapter18
Chapter18
 
EER Model
EER ModelEER Model
EER Model
 
Chapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency controlChapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency control
 
Ch17 introduction to transaction processing concepts and theory
Ch17 introduction to transaction processing concepts and theoryCh17 introduction to transaction processing concepts and theory
Ch17 introduction to transaction processing concepts and theory
 
Colorectal Cancer-A Rising Concern
Colorectal Cancer-A Rising ConcernColorectal Cancer-A Rising Concern
Colorectal Cancer-A Rising Concern
 
Payilagam oracle sql & plsql training syllabus
Payilagam oracle sql & plsql training syllabusPayilagam oracle sql & plsql training syllabus
Payilagam oracle sql & plsql training syllabus
 
Oracle Baisc Tutorial
Oracle Baisc TutorialOracle Baisc Tutorial
Oracle Baisc Tutorial
 
En ch23
En ch23En ch23
En ch23
 
Database lab manual
Database lab manualDatabase lab manual
Database lab manual
 
Transaction Management - Lecture 11 - Introduction to Databases (1007156ANR)
Transaction Management - Lecture 11 - Introduction to Databases (1007156ANR)Transaction Management - Lecture 11 - Introduction to Databases (1007156ANR)
Transaction Management - Lecture 11 - Introduction to Databases (1007156ANR)
 
Joins in databases
Joins in databases Joins in databases
Joins in databases
 
Adbms
AdbmsAdbms
Adbms
 
enhanced er diagram
enhanced er diagramenhanced er diagram
enhanced er diagram
 
PLSQL Cursors
PLSQL CursorsPLSQL Cursors
PLSQL Cursors
 
PLSQL Tutorial
PLSQL TutorialPLSQL Tutorial
PLSQL Tutorial
 
Chapter02
Chapter02Chapter02
Chapter02
 
Everything about Database JOINS and Relationships
Everything about Database JOINS and RelationshipsEverything about Database JOINS and Relationships
Everything about Database JOINS and Relationships
 
Object relational and extended relational databases
Object relational and extended relational databasesObject relational and extended relational databases
Object relational and extended relational databases
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
 

Similar to Eer case study

EER-database.ppt
EER-database.pptEER-database.ppt
EER-database.pptMhndHTaani
 
Module 5 oodb systems semantic db systems
Module 5 oodb systems  semantic db systemsModule 5 oodb systems  semantic db systems
Module 5 oodb systems semantic db systemsTaher Barodawala
 
3_EERD.pdf
3_EERD.pdf3_EERD.pdf
3_EERD.pdfLPhct2
 
Data Modeling - Enhanced ER diagrams & Mapping.pdf
Data Modeling - Enhanced ER diagrams & Mapping.pdfData Modeling - Enhanced ER diagrams & Mapping.pdf
Data Modeling - Enhanced ER diagrams & Mapping.pdfChristalin Nelson
 
27 f157al5enhanced er diagram
27 f157al5enhanced er diagram27 f157al5enhanced er diagram
27 f157al5enhanced er diagramdddgh
 
27f157al5enhanceder diagram-111005002740-phpapp02
27f157al5enhanceder diagram-111005002740-phpapp0227f157al5enhanceder diagram-111005002740-phpapp02
27f157al5enhanceder diagram-111005002740-phpapp02marangburu42
 
Fundamentals of oops in .Net
Fundamentals of oops in .NetFundamentals of oops in .Net
Fundamentals of oops in .NetHarman Bajwa
 
Enhanced E-R diagram
Enhanced E-R diagramEnhanced E-R diagram
Enhanced E-R diagramMayank Jain
 
Jedi slides 2.1 object-oriented concepts
Jedi slides 2.1 object-oriented conceptsJedi slides 2.1 object-oriented concepts
Jedi slides 2.1 object-oriented conceptsMaryo Manjaruni
 
Enhance ERD(Entity Relationship Diagram)
Enhance ERD(Entity Relationship Diagram)Enhance ERD(Entity Relationship Diagram)
Enhance ERD(Entity Relationship Diagram)Imdad Ul Haq
 
Abstract class and Interface
Abstract class and InterfaceAbstract class and Interface
Abstract class and InterfaceHaris Bin Zahid
 
SAP ABAP Latest Interview Questions with Answers by Garuda Trainings
SAP ABAP Latest Interview Questions with Answers by Garuda TrainingsSAP ABAP Latest Interview Questions with Answers by Garuda Trainings
SAP ABAP Latest Interview Questions with Answers by Garuda TrainingsGaruda Trainings
 
Object Oriented Principles
Object Oriented PrinciplesObject Oriented Principles
Object Oriented PrinciplesSujit Majety
 

Similar to Eer case study (20)

EER-database.ppt
EER-database.pptEER-database.ppt
EER-database.ppt
 
Chapter04
Chapter04Chapter04
Chapter04
 
Module 5 oodb systems semantic db systems
Module 5 oodb systems  semantic db systemsModule 5 oodb systems  semantic db systems
Module 5 oodb systems semantic db systems
 
3_EERD.pdf
3_EERD.pdf3_EERD.pdf
3_EERD.pdf
 
Data Modeling - Enhanced ER diagrams & Mapping.pdf
Data Modeling - Enhanced ER diagrams & Mapping.pdfData Modeling - Enhanced ER diagrams & Mapping.pdf
Data Modeling - Enhanced ER diagrams & Mapping.pdf
 
27 f157al5enhanced er diagram
27 f157al5enhanced er diagram27 f157al5enhanced er diagram
27 f157al5enhanced er diagram
 
27f157al5enhanceder diagram-111005002740-phpapp02
27f157al5enhanceder diagram-111005002740-phpapp0227f157al5enhanceder diagram-111005002740-phpapp02
27f157al5enhanceder diagram-111005002740-phpapp02
 
Fundamentals of oops in .Net
Fundamentals of oops in .NetFundamentals of oops in .Net
Fundamentals of oops in .Net
 
Enhanced E-R diagram
Enhanced E-R diagramEnhanced E-R diagram
Enhanced E-R diagram
 
Jedi slides 2.1 object-oriented concepts
Jedi slides 2.1 object-oriented conceptsJedi slides 2.1 object-oriented concepts
Jedi slides 2.1 object-oriented concepts
 
Software Testing and UML Lab
Software Testing and UML LabSoftware Testing and UML Lab
Software Testing and UML Lab
 
Lecture 12
Lecture 12Lecture 12
Lecture 12
 
ER Diagram
ER DiagramER Diagram
ER Diagram
 
Concepts of oops
Concepts of oopsConcepts of oops
Concepts of oops
 
Enhance ERD(Entity Relationship Diagram)
Enhance ERD(Entity Relationship Diagram)Enhance ERD(Entity Relationship Diagram)
Enhance ERD(Entity Relationship Diagram)
 
C# program structure
C# program structureC# program structure
C# program structure
 
Abstract class and Interface
Abstract class and InterfaceAbstract class and Interface
Abstract class and Interface
 
SAP ABAP Latest Interview Questions with Answers by Garuda Trainings
SAP ABAP Latest Interview Questions with Answers by Garuda TrainingsSAP ABAP Latest Interview Questions with Answers by Garuda Trainings
SAP ABAP Latest Interview Questions with Answers by Garuda Trainings
 
Unit 3 Java
Unit 3 JavaUnit 3 Java
Unit 3 Java
 
Object Oriented Principles
Object Oriented PrinciplesObject Oriented Principles
Object Oriented Principles
 

More from saurabhshertukde (19)

Revision sql te it new syllabus
Revision sql te it new syllabusRevision sql te it new syllabus
Revision sql te it new syllabus
 
Oodbms ch 20
Oodbms ch 20Oodbms ch 20
Oodbms ch 20
 
Introduction er & eer
Introduction er & eerIntroduction er & eer
Introduction er & eer
 
Introduction er & eer
Introduction er &  eerIntroduction er &  eer
Introduction er & eer
 
Integrity & security
Integrity & securityIntegrity & security
Integrity & security
 
Er model
Er modelEr model
Er model
 
Er & eer to relational mapping
Er & eer to relational mappingEr & eer to relational mapping
Er & eer to relational mapping
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Chapter 9
Chapter 9Chapter 9
Chapter 9
 
J2 ee archi
J2 ee archiJ2 ee archi
J2 ee archi
 
J2 ee architecture
J2 ee architectureJ2 ee architecture
J2 ee architecture
 
Software project-scheduling
Software project-schedulingSoftware project-scheduling
Software project-scheduling
 
Softwareproject planning
Softwareproject planningSoftwareproject planning
Softwareproject planning
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
Analysis modelling
Analysis modellingAnalysis modelling
Analysis modelling
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
Risk analysis
Risk analysisRisk analysis
Risk analysis
 

Recently uploaded

PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoUXDXConf
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKUXDXConf
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceSamy Fodil
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreelreely ones
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 

Recently uploaded (20)

PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, Ocado
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 

Eer case study

  • 1. © Shamkant B. Navathe CC
  • 2. Chapter 4 - Part I Enhanced Entity-Relationship and UML Modeling Copyright © © Shamkant B. Navathe 2004 Ramez Elmasri and Shamkant Navathe. CC
  • 3. Enhanced-ER (EER) Model Concepts  Includes all modeling concepts of basic ER  Additional concepts: subclasses/superclasses, specialization/generalization, categories, attribute inheritance  The resulting model is called the enhanced-ER or Extended ER (E2R or EER) model  It is used to model applications more completely and accurately if needed  It includes some object-oriented concepts, such as inheritance Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 4. Subclasses and Superclasses (1)  An entity type may have additional meaningful subgroupings of its entities  Example: EMPLOYEE may be further grouped into SECRETARY, ENGINEER, MANAGER, TECHNICIAN, SALARIED_EMPLOYEE, HOURLY_EMPLOYEE,… – Each of these groupings is a subset of EMPLOYEE entities – Each is called a subclass of EMPLOYEE – EMPLOYEE is the superclass for each of these subclasses  These are called superclass/subclass relationships.  Example: EMPLOYEE/SECRETARY, EMPLOYEE/TECHNICIAN Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 5. Subclasses and Superclasses (2)  These are also called IS-A relationships (SECRETARY IS-A EMPLOYEE, TECHNICIAN IS-A EMPLOYEE, …).  Note: An entity that is member of a subclass represents the same real- world entity as some member of the superclass – The Subclass member is the same entity in a distinct specific role – An entity cannot exist in the database merely by being a member of a subclass; it must also be a member of the superclass – A member of the superclass can be optionally included as a member of any number of its subclasses  Example: A salaried employee who is also an engineer belongs to the two subclasses ENGINEER and SALARIED_EMPLOYEE – It is not necessary that every entity in a superclass be a member of some subclass Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 6. Attribute Inheritance in Superclass / Subclass Relationships  An entity that is member of a subclass inherits all attributes of the entity as a member of the superclass  It also inherits all relationships Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 7. Specialization  Is the process of defining a set of subclasses of a superclass  The set of subclasses is based upon some distinguishing characteristics of the entities in the superclass  Example: {SECRETARY, ENGINEER, TECHNICIAN} is a specialization of EMPLOYEE based upon job type. – May have several specializations of the same superclass  Example: Another specialization of EMPLOYEE based in method of pay is {SALARIED_EMPLOYEE, HOURLY_EMPLOYEE}. – Superclass/subclass relationships and specialization can be diagrammatically represented in EER diagrams – Attributes of a subclass are called specific attributes. For example, TypingSpeed of SECRETARY – The subclass can participate in specific relationship types. For example, BELONGS_TO of HOURLY_EMPLOYEE Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 8. Example of a Specialization Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 9. Generalization  The reverse of the specialization process  Several classes with common features are generalized into a superclass; original classes become its subclasses  Example: CAR, TRUCK generalized into VEHICLE; both CAR, TRUCK become subclasses of the superclass VEHICLE. – We can view {CAR, TRUCK} as a specialization of VEHICLE – Alternatively, we can view VEHICLE as a generalization of CAR and TRUCK Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 10. Generalization and Specialization  Diagrammatic notation sometimes used to distinguish between generalization and specialization – Arrow pointing to the generalized superclass represents a generalization – Arrows pointing to the specialized subclasses represent a specialization – We do not use this notation because it is often subjective as to which process is more appropriate for a particular situation – We advocate not drawing any arrows in these situations  Data Modeling with Specialization and Generalization – A superclass or subclass represents a set of entities – Shown in rectangles in EER diagrams (as are entity types) – Sometimes, all entity sets are simply called classes, whether they are entity types, superclasses, or subclasses Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 11. Constraints on Specialization and Generalization (1)  If we can determine exactly those entities that will become members of each subclass by a condition, the subclasses are called predicate-defined (or condition-defined) subclasses – Condition is a constraint that determines subclass members – Display a predicate-defined subclass by writing the predicate condition next to the line attaching the subclass to its superclass  If all subclasses in a specialization have membership condition on same attribute of the superclass, specialization is called an attribute defined- specialization – Attribute is called the defining attribute of the specialization – Example: JobType is the defining attribute of the specialization {SECRETARY, TECHNICIAN, ENGINEER} of EMPLOYEE  If no condition determines membership, the subclass is called user-defined – Membership in a subclass is determined by the database users by applying an operation to add an entity to the subclass – Membership in the subclass is specified individually for each entity in the superclass by the user Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 12. Constraints on Specialization and Generalization (2)  Two other conditions apply to a specialization/generalization:  Disjointness Constraint: – Specifies that the subclasses of the specialization must be disjointed (an entity can be a member of at most one of the subclasses of the specialization) – Specified by d in EER diagram – If not disjointed, overlap; that is the same entity may be a member of more than one subclass of the specialization – Specified by o in EER diagram  Completeness Constraint: – Total specifies that every entity in the superclass must be a member of some subclass in the specialization/ generalization – Shown in EER diagrams by a double line – Partial allows an entity not to belong to any of the subclasses – Shown in EER diagrams by a single line Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 13. Constraints on Specialization and Generalization (3)  Hence, we have four types of specialization/generalization: – Disjoint, total – Disjoint, partial – Overlapping, total – Overlapping, partial  Note: Generalization usually is total because the superclass is derived from the subclasses. Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 14. Example of disjoint partial Specialization Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 15. Specialization / Generalization Hierarchies, Lattices and Shared Subclasses  A subclass may itself have further subclasses specified on it  Forms a hierarchy or a lattice  Hierarchy has a constraint that every subclass has only one superclass (called single inheritance)  In a lattice, a subclass can be subclass of more than one superclass (called multiple inheritance)  In a lattice or hierarchy, a subclass inherits attributes not only of its direct superclass, but also of all its predecessor superclasses  A subclass with more than one superclass is called a shared subclass  Can have specialization hierarchies or lattices, or generalization hierarchies or lattices  In specialization, start with an entity type and then define subclasses of the entity type by successive specialization (top down conceptual refinement process)  In generalization, start with many entity types and generalize those that have common properties (bottom up conceptual synthesis process)  In practice, the combination of two processes is employed Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 16.  The database keeps track of three types of people: Employees , Alumni and students. A person can belong to one ,two or all three of these types. Each person has a name , SSN, sex, address and birth date.  Every employee has a salary and are three types of employees: Faculty , Staff and Student assistants. Each employee belongs to exactly one of these types. For each alumnus , a record of the degree or degrees that he or she earned at the university is kept including the name of the degree , Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 17. year granted and the major department. Each student has a major department.  Each faculty has a rank , whereas each staff member has a staff position.Student assistants are classified further as either research assistants or teaching assistants and the percent of time they work is recorded in the database. Research assistants have their research projects stored whereas teaching assistants have the current course they work on. Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 18.  Students are further classified as either graduate or undergraduate with the specific attributes degree program (M.S., Ph.D , M.B.A and so on) and class respectively. Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 19. Specialization / Generalization Lattice Example (UNIVERSITY) Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 20. Categories (UNION TYPES)  All of the superclass/subclass relationships we have seen thus far have a single superclass  A shared subclass is subclass in more than one distinct superclass/subclass relationships, where each relationships has a single superclass (multiple inheritance)  In some cases, need to model a single superclass/subclass relationship with more than one superclass  Superclasses represent different entity types  Such a subclass is called a category or UNION TYPE  Example: Database for vehicle registration, vehicle owner can be a person, a bank (holding a lien on a vehicle) or a company. – Category (subclass) OWNER is a subset of the union of the three superclasses COMPANY, BANK, and PERSON – A category member must exist in at least one of its superclasses  Note: The difference from shared subclass, which is subset of the intersection of its superclasses (shared subclass member must exist in all of its superclasses). Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 21. Example of categories (UNION TYPES) Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 22. Formal Definitions of EER Model (1)  Class C: A set of entities; could be entity type, subclass, superclass, category.  Subclass S: A class whose entities must always be subset of the entities in another class, called the superclass C of the superclass/subclass (or IS-A) relationship S/C: S⊆C  Specialization Z: Z = {S1, S2,…, Sn} a set of subclasses with same superclass G; hence, G/Si a superclass relationship for i = 1, …., n. – G is called a generalization of the subclasses {S1, S2,…, Sn} – Z is total if we always have: S1 ∪ S2 ∪ … ∪ Sn = G; Otherwise, Z is partial. – Z is disjoint if we always have: Si ∩ S2 empty-set for i ≠ j; Otherwise, Z is overlapping. Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 23. Formal Definitions of EER Model (2)  Subclass S of C is predicate defined if predicate p on attributes of C is used to specify membership in S; that is, S = C[p], where C[p] is the set of entities in C that satisfy p  A subclass not defined by a predicate is called user-defined  Attribute-defined specialization: if a predicate A = ci (where A is an attribute of G and ci is a constant value from the domain of A) is used to specify membership in each subclass Si in Z  Note: If ci ≠ cj for i ≠ j, and A is single-valued, then the attribute-defined specialization will be disjoint.  Category or UNION type T – A class that is a subset of the union of n defining superclasses D1, D2,…Dn, n>1: T ⊆ (D1 ∪ D2 ∪ … ∪ Dn) A predicate pi on the attributes of T. – If a predicate pi on the attributes of Di can specify entities of Di that are members of T. – If a predicate is specified on every Di: T = (D1[p1] ∪ D2[p2] ∪…∪ Dn[pn] – Note: The definition of relationship type should have 'entity type' replaced with 'class'. Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 24. UML Example for Displaying Specialization / Generalization Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe
  • 25. Alternative Diagrammatic Notations Symbols for entity type / class, Displaying attributes attribute and relationship Notations for displaying Various (min, Displaying specialization / generalization max) notations cardinality ratios Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Ramez Elmasri and Shamkant Navathe