SlideShare a Scribd company logo
© 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

Enhanced E-R diagram
Enhanced E-R diagramEnhanced E-R diagram
Enhanced E-R diagramMayank Jain
 
Elmasri Navathe DBMS Unit-1 ppt
Elmasri Navathe DBMS Unit-1 pptElmasri Navathe DBMS Unit-1 ppt
Elmasri Navathe DBMS Unit-1 ppt
AbhinavPandey274499
 
Packages in PL/SQL
Packages in PL/SQLPackages in PL/SQL
Packages in PL/SQL
Pooja Dixit
 
Intro to dbms
Intro to dbmsIntro to dbms
Intro to dbms
Surkhab Shelly
 
Ch01 database-conceptsppt4207
Ch01 database-conceptsppt4207Ch01 database-conceptsppt4207
Ch01 database-conceptsppt4207
Burhan Chaudhry
 
Resource Access Control Facility (RACF) in Mainframes
Resource Access Control Facility (RACF) in MainframesResource Access Control Facility (RACF) in Mainframes
Resource Access Control Facility (RACF) in Mainframes
Aayush Singh
 
Oracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12cOracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12c
Nabeel Yoosuf
 
ER Diagram
ER DiagramER Diagram
ER Diagram
Robby Firmansyah
 
Database Chapter 2
Database Chapter 2Database Chapter 2
Database Chapter 2
shahadat hossain
 
MySQL Basics
MySQL BasicsMySQL Basics
MySQL Basics
mysql content
 
DDL And DML
DDL And DMLDDL And DML
DDL And DML
pnp @in
 
MySQL 8.0 InnoDB Cluster - Easiest Tutorial
MySQL 8.0 InnoDB Cluster - Easiest TutorialMySQL 8.0 InnoDB Cluster - Easiest Tutorial
MySQL 8.0 InnoDB Cluster - Easiest Tutorial
Frederic Descamps
 
Data and database administration(database)
Data and database administration(database)Data and database administration(database)
Data and database administration(database)welcometofacebook
 
DBMS OF DATA MODEL Deepika 2
DBMS OF DATA MODEL  Deepika 2DBMS OF DATA MODEL  Deepika 2
DBMS OF DATA MODEL Deepika 2
Rai Saheb Bhanwar Singh College Nasrullaganj
 
Business Rules in Databases
Business Rules in DatabasesBusiness Rules in Databases
Business Rules in Databases
Tharindu Weerasinghe
 
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...
FOSDEM 2022 MySQL Devroom:  MySQL 8.0 - Logical Backups, Snapshots and Point-...FOSDEM 2022 MySQL Devroom:  MySQL 8.0 - Logical Backups, Snapshots and Point-...
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...
Frederic Descamps
 
Introduction to database
Introduction to databaseIntroduction to database
Introduction to database
Pradnya Saval
 
SQL
SQLSQL

What's hot (20)

Enhanced E-R diagram
Enhanced E-R diagramEnhanced E-R diagram
Enhanced E-R diagram
 
Chapter2
Chapter2Chapter2
Chapter2
 
Elmasri Navathe DBMS Unit-1 ppt
Elmasri Navathe DBMS Unit-1 pptElmasri Navathe DBMS Unit-1 ppt
Elmasri Navathe DBMS Unit-1 ppt
 
Packages in PL/SQL
Packages in PL/SQLPackages in PL/SQL
Packages in PL/SQL
 
Intro to dbms
Intro to dbmsIntro to dbms
Intro to dbms
 
Ch01 database-conceptsppt4207
Ch01 database-conceptsppt4207Ch01 database-conceptsppt4207
Ch01 database-conceptsppt4207
 
Resource Access Control Facility (RACF) in Mainframes
Resource Access Control Facility (RACF) in MainframesResource Access Control Facility (RACF) in Mainframes
Resource Access Control Facility (RACF) in Mainframes
 
Oracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12cOracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12c
 
ER Diagram
ER DiagramER Diagram
ER Diagram
 
Database Chapter 2
Database Chapter 2Database Chapter 2
Database Chapter 2
 
MySQL Basics
MySQL BasicsMySQL Basics
MySQL Basics
 
DDL And DML
DDL And DMLDDL And DML
DDL And DML
 
MySQL 8.0 InnoDB Cluster - Easiest Tutorial
MySQL 8.0 InnoDB Cluster - Easiest TutorialMySQL 8.0 InnoDB Cluster - Easiest Tutorial
MySQL 8.0 InnoDB Cluster - Easiest Tutorial
 
Data and database administration(database)
Data and database administration(database)Data and database administration(database)
Data and database administration(database)
 
DBMS OF DATA MODEL Deepika 2
DBMS OF DATA MODEL  Deepika 2DBMS OF DATA MODEL  Deepika 2
DBMS OF DATA MODEL Deepika 2
 
Business Rules in Databases
Business Rules in DatabasesBusiness Rules in Databases
Business Rules in Databases
 
Unit 01 dbms
Unit 01 dbmsUnit 01 dbms
Unit 01 dbms
 
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...
FOSDEM 2022 MySQL Devroom:  MySQL 8.0 - Logical Backups, Snapshots and Point-...FOSDEM 2022 MySQL Devroom:  MySQL 8.0 - Logical Backups, Snapshots and Point-...
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...
 
Introduction to database
Introduction to databaseIntroduction to database
Introduction to database
 
SQL
SQLSQL
SQL
 

Viewers also liked

Fundamentals of Database system
Fundamentals of Database systemFundamentals of Database system
Fundamentals of Database system
philipsinter
 
Chapter18
Chapter18Chapter18
Chapter18
gourab87
 
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 Concern
IsDocIn .
 
Payilagam oracle sql & plsql training syllabus
Payilagam oracle sql & plsql training syllabusPayilagam oracle sql & plsql training syllabus
Payilagam oracle sql & plsql training syllabus
Payilagam Software Training institute
 
Oracle Baisc Tutorial
Oracle Baisc TutorialOracle Baisc Tutorial
Oracle Baisc Tutorial
bunny0143
 
Database lab manual
Database lab manualDatabase lab manual
Database lab manual
feroz haider bangash
 
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
 
Adbms
AdbmsAdbms
PLSQL Tutorial
PLSQL TutorialPLSQL Tutorial
PLSQL Tutorial
Quang Minh Đoàn
 
Chapter02
Chapter02Chapter02
Chapter02
sasa_eldoby
 
Everything about Database JOINS and Relationships
Everything about Database JOINS and RelationshipsEverything about Database JOINS and Relationships
Everything about Database JOINS and Relationships
Abdul Rahman Sherzad
 
Object relational and extended relational databases
Object relational and extended relational databasesObject relational and extended relational databases
Object relational and extended relational databases
Suhad 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 behavior
IIUI
 
Adbms lab manual
Adbms lab manualAdbms lab manual
Adbms lab manual
RAKESH KUMAR
 

Viewers also liked (20)

Fundamentals of Database system
Fundamentals of Database systemFundamentals of Database system
Fundamentals of Database system
 
Chapter18
Chapter18Chapter18
Chapter18
 
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
 
Adbms lab manual
Adbms lab manualAdbms lab manual
Adbms lab manual
 

Similar to Eer case study

EER-database.ppt
EER-database.pptEER-database.ppt
EER-database.ppt
MhndHTaani
 
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
 
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
Raj vardhan
 
3_EERD.pdf
3_EERD.pdf3_EERD.pdf
3_EERD.pdf
LPhct2
 
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
Christalin Nelson
 
27 f157al5enhanced er diagram
27 f157al5enhanced er diagram27 f157al5enhanced er diagram
27 f157al5enhanced er diagram
dddgh
 
27f157al5enhanceder diagram-111005002740-phpapp02
27f157al5enhanceder diagram-111005002740-phpapp0227f157al5enhanceder diagram-111005002740-phpapp02
27f157al5enhanceder diagram-111005002740-phpapp02
marangburu42
 
Fundamentals of oops in .Net
Fundamentals of oops in .NetFundamentals of oops in .Net
Fundamentals of oops in .Net
Harman Bajwa
 
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
Maryo Manjaruni
 
Software Testing and UML Lab
Software Testing and UML LabSoftware Testing and UML Lab
Software Testing and UML Lab
Harsh Kishore Mishra
 
Lecture 12
Lecture 12Lecture 12
Lecture 12
talha ijaz
 
Concepts of oops
Concepts of oopsConcepts of oops
Concepts of oops
Sourabrata Mukherjee
 
Enhance ERD(Entity Relationship Diagram)
Enhance ERD(Entity Relationship Diagram)Enhance ERD(Entity Relationship Diagram)
Enhance ERD(Entity Relationship Diagram)
Imdad Ul Haq
 
C# program structure
C# program structureC# program structure
Abstract class and Interface
Abstract class and InterfaceAbstract class and Interface
Abstract class and Interface
Haris 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 Trainings
Garuda Trainings
 
Object Oriented Principles
Object Oriented PrinciplesObject Oriented Principles
Object Oriented Principles
Sujit Majety
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
Raj Thilak S
 

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
 
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
 
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
 
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
 
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
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 

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

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 

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