SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

14. Query Optimization in DBMS
14. Query Optimization in DBMS14. Query Optimization in DBMS
14. Query Optimization in DBMS
koolkampus
 
Enhanced E-R diagram
Enhanced E-R diagramEnhanced E-R diagram
Enhanced E-R diagram
Mayank Jain
 

La actualidad más candente (20)

5. stored procedure and functions
5. stored procedure and functions5. stored procedure and functions
5. stored procedure and functions
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Database development life cycle
Database development life cycleDatabase development life cycle
Database development life cycle
 
Ppt of dbms e r features
Ppt of dbms e r featuresPpt of dbms e r features
Ppt of dbms e r features
 
What is Virtualization and its types & Techniques.What is hypervisor and its ...
What is Virtualization and its types & Techniques.What is hypervisor and its ...What is Virtualization and its types & Techniques.What is hypervisor and its ...
What is Virtualization and its types & Techniques.What is hypervisor and its ...
 
Sequences and indexes
Sequences and indexesSequences and indexes
Sequences and indexes
 
embedded-static-&dynamic
embedded-static-&dynamicembedded-static-&dynamic
embedded-static-&dynamic
 
14. Query Optimization in DBMS
14. Query Optimization in DBMS14. Query Optimization in DBMS
14. Query Optimization in DBMS
 
Database development life cycle unit 2 part 1
Database development life cycle  unit 2 part 1Database development life cycle  unit 2 part 1
Database development life cycle unit 2 part 1
 
PL/SQL TRIGGERS
PL/SQL TRIGGERSPL/SQL TRIGGERS
PL/SQL TRIGGERS
 
Enhanced E-R diagram
Enhanced E-R diagramEnhanced E-R diagram
Enhanced E-R diagram
 
SQL, Embedded SQL, Dynamic SQL and SQLJ
SQL, Embedded SQL, Dynamic SQL and SQLJSQL, Embedded SQL, Dynamic SQL and SQLJ
SQL, Embedded SQL, Dynamic SQL and SQLJ
 
09 Managing Dependencies
09 Managing Dependencies09 Managing Dependencies
09 Managing Dependencies
 
Chapter8 pl sql
Chapter8 pl sqlChapter8 pl sql
Chapter8 pl sql
 
joins in database
 joins in database joins in database
joins in database
 
Subqueries -Oracle DataBase
Subqueries -Oracle DataBaseSubqueries -Oracle DataBase
Subqueries -Oracle DataBase
 
Chapter-4 Enhanced ER Model
Chapter-4 Enhanced ER ModelChapter-4 Enhanced ER Model
Chapter-4 Enhanced ER Model
 
Referential integrity
Referential integrityReferential integrity
Referential integrity
 
Query processing and optimization (updated)
Query processing and optimization (updated)Query processing and optimization (updated)
Query processing and optimization (updated)
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 

Destacado

Chapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency controlChapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency control
AbDul 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 theory
meenatchi selvaraj
 
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
 

Destacado (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 a Eer case study

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
Taher Barodawala
 
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
 
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
 

Similar a Eer case study (20)

EER-database.ppt
EER-database.pptEER-database.ppt
EER-database.ppt
 
Chapter04
Chapter04Chapter04
Chapter04
 
EER modeling
EER modelingEER modeling
EER modeling
 
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
 
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
 

Más de 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
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

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