chapter 3: the enhanced e-r model

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

Upload: jana-mooney

Post on 30-Dec-2015

95 views

Category:

Documents


28 download

DESCRIPTION

Modern Database Management. Chapter 3: The Enhanced E-R Model. Define terms Understand use of supertype/subtype relationships Understand use of specialization and generalization techniques Specify completeness and disjointness constraints - PowerPoint PPT Presentation

TRANSCRIPT

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

1

Modern Database Management

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

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

4

Figure 3-1 Basic notation for supertype/subtype notation

a) EER notation

4

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

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

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

8

Figure 3-3 Supertype/subtype relationships in a hospital

8

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

10

Figure 3-4 Example of generalization

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

All these types of vehicles have common attributes

10

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

12

Figure 3-5 Example of specialization

a) Entity type PART

Only applies to manufactured parts

Applies only to purchased parts

12

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

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

Figure 3-6 Examples of completeness constraints

a) Total specialization rule

15

16

b) Partial specialization rule

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

16

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

18

a) Disjoint rule

Figure 3-7 Examples of disjointness constraints

18

19

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

19

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

21

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

21

22

Figure 3-9 Subtype discriminator (overlap rule)

22

23

Figure 3-10 Example of supertype/subtype hierarchy

23

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

25

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

Related groups of entities could become clusters

26

Figure 3-13b EER diagram of PVF entity clusters

More readable, isn’t it?

26

27

Figure 3-14 Manufacturing entity cluster

Detail for a single cluster

27

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

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

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

31

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

(b) PARTY supertype/subtype hierarchy

31