Enhanced ER-diagram - PowerPoint PPT Presentation

1 / 70
About This Presentation
Title:

Enhanced ER-diagram

Description:

Enhanced ER-diagram Prof. Sin-Min Lee Department of Computer Science Example: A library database contains a listing of authors that have written books on various ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 71
Provided by: csSjsuEd3
Category:
Tags: diagram | enhanced

less

Transcript and Presenter's Notes

Title: Enhanced ER-diagram


1
Enhanced ER-diagram
CS157A Lecture 5
  • Prof. Sin-Min Lee
  • Department of Computer Science

2
(No Transcript)
3
(No Transcript)
4
(No Transcript)
5
  • Example A library database contains a listing
    of authors that have written books on various
    subjects (one author per book). It also contains
    information about libraries that carry books on
    various subjects.

6
RELATIONSHIPS (Cont)
  • Example A library database contains a listing
    of authors that have written books on various
    subjects (one author per book). It also contains
    information about libraries that carry books on
    various subjects.
  • Entity sets authors, subjects, books, libraries

7
RELATIONSHIPS (Cont)
  • Example A library database contains a listing
    of authors that have written books on various
    subjects (one author per book). It also contains
    information about libraries that carry books on
    various subjects.
  • Entity sets authors, subjects, books, libraries
  • Relationship sets wrote, carry, indexed

8
RELATIONSHIPS (Cont)
Subject matter
title
isbn
SS
index
wrote
books
subject
authors
name
carry
libraries
address
9
RELATIONSHIPS (Cont)
Subject matter
title
isbn
SS
index
wrote
books
subject
authors
name
carry
quantity
libraries
address
10
BINARY RELATIONSHIP
  • A binary relationship between entity set A and B
    might be
  • 11 Women marrying Men (function)
  • N1 Children having mothers (function)
  • 1N Mothers having children (inverse function)
  • MN Students enrolled in a class

marry
B
A
women
men
n
1
B
A
having
children
mothers
n
1
having
B
A
mothers
children
enrolled
B
A
students
classes
11
KEY
  • Entities and relationships are distinguishable
    using various keys
  • A key is a combination of one or more attributes,
    e.g., social-security number, combination of name
    and social-security number.
  • A superkey is a key defined either for an entity
    set or relationship set that uniquely identifies
    an entity, e.g., social-security number, phone
    number, combination of name and social-security
    number.
  • A candidate key is a minimal superkey that
    uniquely identifies either an entity or a
    relationship, e.g., social-security number, phone
    number.
  • A primary key is a candidate key that is chosen
    by the database designer to identify the entities
    of an entity set.

12
  • A foreign key is a set of one or more attributes
    of a strong entity set that are employed to
    construct the discriminator of a weak entity set.
    The primary key of a weak entity set is formed
    by the primary key of the strong entity set on
    which it is existence-dependent.
  • Relationship sets also have primary keys. Assume
    R is a relationship set involving entity sets E1,
    E2, ..., En. Let primary-key(Ei) denote the
    primary key for entity set Ei. Assume
    primary-key(Ei) is unique for 1 i n. If R has
    no attributes then its superkey is
  • primary-key(E1) ? primary-key(E2) ? ... ?
    primary-key(En)
  • This is a primary key if the mapping constraint
    is many-to-many.
  • If the mapping constraint is many to one from E1
    to E2 then the primary key of R is primary key of
    E1.

title
SS
wrote
books
authors
name
edition
R
E1
E2
13
EXAMPLE
  • Employees of a large company, e.g., IBM, where an
    employee reports to a manager. The manager is
    also an employee who reports to another manager.
    This chain of command continues to the very top
    where the CEO is the only employee who is not
    reporting to a manager. Draw the ER diagram for
    this example.

14
Works for
SS
Emp
name
address
Primary keys Emp SS Works-for (empSS,
mgrSS)
Works for
SS
Emp
name
Primary keys Emp SS Works-for (empSS)
address
15
  • A relationship may involve n entities, N-ary
    relationship
  • It is always possible to replace a non-binary
    relationship set by a number of distinct binary
    relationship sets

fans
Football Teams
People
on
Date
16
(No Transcript)
17
(No Transcript)
18
(No Transcript)
19
(No Transcript)
20
(No Transcript)
21
(No Transcript)
22
(No Transcript)
23
  • Example A library database contains a listing
    of authors that have written books on various
    subjects (one author per book). It also contains
    information about libraries that carry books on
    various subjects.
  • Entity sets authors, subjects, books, libraries
  • Relationship sets wrote, carry, indexed
  • E-R diagram

24
(No Transcript)
25
(No Transcript)
26
(No Transcript)
27
(No Transcript)
28
(No Transcript)
29
(No Transcript)
30
(No Transcript)
31
(No Transcript)
32
(No Transcript)
33
(No Transcript)
34
(No Transcript)
35
(No Transcript)
36
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

37
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

38
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

39
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

40
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

41
Example of a Specialization
42
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

43
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
  • 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

44
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

45
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

46
Constraints on Specialization and Generalization
(3)
  • Hence, we have four types of specialization/genera
    lization
  • Disjoint, total
  • Disjoint, partial
  • Overlapping, total
  • Overlapping, partial
  • Note Generalization usually is total because the
    superclass is derived from the subclasses.

47
Example of disjoint partial Specialization
48
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)

49
  • 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

50
Specialization / Generalization Lattice Example
(UNIVERSITY)
51
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

52
  • 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).

53
Example of categories(UNION TYPES)
54
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 GOtherwise, Z is partial.
  • Z is disjoint if we always have
  • Si n S2 empty-set for i ? j
  • Otherwise, Z is overlapping.

55
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 Cp, where Cp 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

56
  • 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, ngt1
  • 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
    (D1p1 ? D2p2 ?? Dnpn
  • Note The definition of relationship type should
    have 'entity type' replaced with 'class'.

57
Specialization
  • This is the process of maximising the differences
    between members of an entity by identifying their
    distinguishing characteristics.
  • Staff(staff_no,name,address,dob)
  • Manager(bonus)
  • Secretary(wp_skills)
  • Sales_personnel(sales_area, car_allowance)

58
GENERALIZATION AND SPECIALIZATION
  • Generalization is the result of computing the
    union of two or more entity sets to produce a
    higher-level entity set. It represents the
    containment relationship that exists between the
    higher-level entity set and one or more
    lower-level entity sets.
  • Specialization constructs the lower level entity
    sets that are a subset of a higher level entity
    set.

59
GENERALIZATION AND SPECIALIZATION
sid
student
name
is A
Specialization
Generalization
graduate
Undergrad
60
GENERALIZATION AND SPECIALIZATION
  • Undergrad and graduate are termed subclasses of
    the superclass student.
  • This is a superclass/subclass or simply
    class/subclass relationship.
  • A member of a subclass MUST be a member of the
    superclass.
  • An alternative notation is the Union symbol
  • The circle with d specifies that the
    specializations are disjoint. A member of
    Undergrad entity set may NOT be a member of the
    graduate entity set.

61
GENERALIZATION AND SPECIALIZATION
sid
student
name
d
Specialization
Generalization
U
U
graduate
Undergrad
62
  • A design may require all members of an entity-set
    to be specialized. For example, an employee MUST
    be a member of either a Salaried or Part-time.
    Use double lines to dictate this constraint

63
GENERALIZATION AND SPECIALIZATION
sid
Emp
name
d
Specialization
Generalization
U
U
Part-time
Salaried
64
GENERALIZATION AND SPECIALIZATION
  • One may allow the specialized entity sets to
    overlap. For example, an entity might be both a
    Salaried and Part-time. o stands for Overlap
    when specializing.

sid
Emp
name
o
Specialization
Generalization
U
U
Part-time
Salaried
65
Generalisation
  • Generalisation is the process of minimising the
    differences between entities byidentifying common
    features.
  • This is the identification of a generalised
    superclass from the original subclasses. This is
    the process of identifying the common attributes
    and relationships.

66
UML Example for Displaying Specialization /
Generalization
67
Alternative Diagrammatic Notations
Symbols for entity type / class, attribute and
relationship
68
Notations for displaying specialization /
generalization
69
Displaying attributes
70
Various (min, max) notations
Displaying cardinality ratios
Write a Comment
User Comments (0)
About PowerShow.com