supertype,subtype

31
CHAPTER 3: CHAPTER 3: THE ENHANCED E-R MODEL THE ENHANCED E-R MODEL 1 Modern Database Management

Upload: harryomharry

Post on 24-Dec-2015

213 views

Category:

Documents


0 download

DESCRIPTION

Entity Relationship modelling

TRANSCRIPT

Page 1: supertype,subtype

CHAPTER 3:CHAPTER 3:THE ENHANCED E-R MODELTHE ENHANCED E-R MODEL

1

Modern Database Management

Page 2: supertype,subtype

OBJECTIVESOBJECTIVES

Define termsDefine terms Understand use of supertype/subtype Understand use of supertype/subtype

relationshipsrelationships Understand use of specialization and Understand use of specialization and

generalization techniquesgeneralization techniques Specify completeness and disjointness constraintsSpecify completeness and disjointness constraints Develop supertype/subtype hierarchies for Develop supertype/subtype hierarchies for

realistic business situationsrealistic business situations Develop entity clustersDevelop entity clusters Explain universal (packaged) data modelExplain universal (packaged) data model Describe special features of data modeling Describe special features of data modeling

project using packaged data modelproject using packaged data model

2

Page 3: supertype,subtype

SUPERTYPES AND SUBTYPESSUPERTYPES AND SUBTYPES Enhanced ER model: Enhanced ER model: extends original ER model extends original ER model

with new modeling constructswith new modeling constructs Subtype:Subtype: A subgrouping of the entities in an entity A subgrouping of the entities in an entity

type that has attributes distinct from those in other type that has attributes distinct from those in other subgroupingssubgroupings

Supertype:Supertype: A generic entity type that has a A generic entity type that has a relationship with one or more subtypesrelationship with one or more subtypes

Attribute Inheritance:Attribute Inheritance: Subtype entities inherit values of all attributes of the Subtype entities inherit values of all attributes of the

supertypesupertype An instance of a subtype is also an instance of the An instance of a subtype is also an instance of the

supertypesupertype

3

Page 4: supertype,subtype

4

Figure 3-1 Basic notation for supertype/subtype notation

a) EER notation

4

Page 5: supertype,subtype

5

Different modeling tools may have different notation for the same modeling constructs.

b) Microsoft

Visio Notation

Figure 3-1 Basic notation for supertype/subtype notation (cont.)

5

Page 6: supertype,subtype

6

Figure 3-2 Employee supertype with three subtypes

All employee subtypes will have employee number, name, address, and date hired

Each employee subtype will also have its own attributes

6

Page 7: supertype,subtype

RELATIONSHIPS AND SUBTYPESRELATIONSHIPS AND SUBTYPES

Relationships at the Relationships at the supertypesupertype level level indicate that all subtypes will indicate that all subtypes will participate in the relationshipparticipate in the relationship

The instances of a The instances of a subtypesubtype may may participate in a relationship unique to participate in a relationship unique to that subtype. In this situation, the that subtype. In this situation, the relationship is shown at the subtype relationship is shown at the subtype levellevel

7

Page 8: supertype,subtype

8

Figure 3-3 Supertype/subtype relationships in a hospital

8

Page 9: supertype,subtype

GENERALIZATION AND GENERALIZATION AND SPECIALIZATIONSPECIALIZATION Generalization:Generalization: The process of The process of

defining a more general entity type defining a more general entity type from a set of more specialized entity from a set of more specialized entity types. BOTTOM-UPtypes. BOTTOM-UP

Specialization:Specialization: The process of The process of defining one or more subtypes of the defining one or more subtypes of the supertype and forming supertype and forming supertype/subtype relationships. TOP-supertype/subtype relationships. TOP-DOWNDOWN

9

Page 10: supertype,subtype

10

Figure 3-4 Example of generalization

a) Three entity types: CAR, TRUCK, and MOTORCYCLE

All these types of vehicles have common attributes

10

Page 11: supertype,subtype

11

Figure 3-4 Example of generalization (cont.)

So we put the shared attributes in a supertype

Note: no subtype for motorcycle, since it has no unique attributes

b) Generalization to VEHICLE supertype

11

Page 12: supertype,subtype

12

Figure 3-5 Example of specialization

a) Entity type PART

Only applies to manufactured parts

Applies only to purchased parts

12

Page 13: supertype,subtype

13

b) Specialization to MANUFACTURED PART and PURCHASED PART

Note: multivalued composite attribute was replaced by an associative entity relationship to another entity

Created 2 subtypes

Figure 3-5 Example of specialization (cont.)

13

Page 14: supertype,subtype

CONSTRAINTS IN CONSTRAINTS IN SUPERTYPE/SUBTYPE SUPERTYPE/SUBTYPE RELATIONSHIPSRELATIONSHIPS Completeness ConstraintsCompleteness Constraints: :

Whether an instance of a supertype Whether an instance of a supertype mustmust also be a member of at least one also be a member of at least one subtypesubtype Total Specialization Rule: Yes (double line)Total Specialization Rule: Yes (double line) Partial Specialization Rule: No (single line)Partial Specialization Rule: No (single line)

14

Page 15: supertype,subtype

Figure 3-6 Examples of completeness constraints

a) Total specialization rule

15

Page 16: supertype,subtype

16

b) Partial specialization rule

Figure 3-6 Examples of completeness constraints (cont.)

16

Page 17: supertype,subtype

Disjointness ConstraintsDisjointness Constraints: : Whether an instance of a supertype Whether an instance of a supertype may may simultaneouslysimultaneously be a member of be a member of two (or more) subtypestwo (or more) subtypes Disjoint Rule: An instance of the supertype Disjoint Rule: An instance of the supertype

can be only ONE of the subtypescan be only ONE of the subtypes Overlap Rule: An instance of the supertype Overlap Rule: An instance of the supertype

could be more than one of the subtypescould be more than one of the subtypes

17

CONSTRAINTS IN CONSTRAINTS IN SUPERTYPE/SUBTYPE SUPERTYPE/SUBTYPE RELATIONSHIPSRELATIONSHIPS

17

Page 18: supertype,subtype

18

a) Disjoint rule

Figure 3-7 Examples of disjointness constraints

18

Page 19: supertype,subtype

19

b) Overlap ruleFigure 3-7 Examples of disjointness constraints (cont.)

19

Page 20: supertype,subtype

Subtype DiscriminatorSubtype Discriminator: An attribute : An attribute of the supertype whose values determine of the supertype whose values determine the target subtype(s)the target subtype(s) DisjointDisjoint – a – a simplesimple attribute with alternative attribute with alternative

values to indicate the possible subtypesvalues to indicate the possible subtypes OverlappingOverlapping – a – a compositecomposite attribute whose attribute whose

subparts pertain to different subtypes. Each subparts pertain to different subtypes. Each subpart contains a Boolean value to indicate subpart contains a Boolean value to indicate whether or not the instance belongs to the whether or not the instance belongs to the associated subtypeassociated subtype

20

CONSTRAINTS IN CONSTRAINTS IN SUPERTYPE/SUBTYPE SUPERTYPE/SUBTYPE RELATIONSHIPSRELATIONSHIPS

20

Page 21: supertype,subtype

21

Figure 3-8 Introducing a subtype discriminator (disjoint rule)

21

Page 22: supertype,subtype

22

Figure 3-9 Subtype discriminator (overlap rule)

22

Page 23: supertype,subtype

23

Figure 3-10 Example of supertype/subtype hierarchy

23

Page 24: supertype,subtype

ENTITY CLUSTERSENTITY CLUSTERS

EER diagrams are difficult to read when EER diagrams are difficult to read when there are too many entities and there are too many entities and relationships.relationships.

Solution: Group entities and Solution: Group entities and relationships into relationships into entity clusters.entity clusters.

Entity clusterEntity cluster: Set of one or more : Set of one or more entity types and associated entity types and associated relationships grouped into a single relationships grouped into a single abstract entity typeabstract entity type

24

Page 25: supertype,subtype

25

Figure 3-13a Possible entity clusters for Pine Valley Furniture in Microsoft Visio

Related groups of entities could become clusters

Page 26: supertype,subtype

26

Figure 3-13b EER diagram of PVF entity clusters

More readable, isn’t it?

26

Page 27: supertype,subtype

27

Figure 3-14 Manufacturing entity cluster

Detail for a single cluster

27

Page 28: supertype,subtype

PACKAGED DATA MODELSPACKAGED DATA MODELS

Predefined data modelsPredefined data models Could be universal or industry-Could be universal or industry-

specificspecific Universal data model = a generic or Universal data model = a generic or

template data model that can be template data model that can be reused as a starting point for a data reused as a starting point for a data modeling project (also called a modeling project (also called a “pattern”)“pattern”)

28

Page 29: supertype,subtype

ADVANTAGES OF PACKAGED ADVANTAGES OF PACKAGED DATA MODELSDATA MODELS

Use proven model componentsUse proven model components Save time and costSave time and cost Less likelihood of data model errorsLess likelihood of data model errors Easier to evolve and modify over timeEasier to evolve and modify over time Aid in requirements determinationAid in requirements determination Easier to readEasier to read Supertype/subtype hierarchies promote reuseSupertype/subtype hierarchies promote reuse Many-to-many relationships enhance model flexibilityMany-to-many relationships enhance model flexibility Vendor-supplied data model fosters integration with Vendor-supplied data model fosters integration with

vendor’s applicationsvendor’s applications Universal models support inter-organizational systemsUniversal models support inter-organizational systems

29

Page 30: supertype,subtype

30

Packaged data models are generic models that can be customized for a particular organization’s business rules.

Figure 3-15 PARTY, PARTY ROLE, and ROLE TYPE in a universal data model

(a) Basic PARTY universal data model

30

Page 31: supertype,subtype

31

Figure 3-15 PARTY, PARTY ROLE, and ROLE TYPE in a universal data model

(b) PARTY supertype/subtype hierarchy

31