1 Chapter 4 Entity Relationship (E-R) Modeling Database Systems: Design, Implementation, and ManagementPeter Rob & Carlos Coronel
2 In this chapter, you will learn: How relationships between entities are defined and refined, and how such relationships are incorporated into the database design processHow ERD components affect database design and implementationHow to interpret the modeling symbols for the four most popular ER modeling toolsThat real-world database design often requires that you reconcile conflicting goals
3 The Entity Relationship (E-R) Model ER model forms the basis of an ER diagramERD represents the conceptual database as viewed by end userMain ComponentsEntitiesIn E-R models an entity refers to the entity set.An entity is represented by a rectangle containing the entity’s name.AttributesAttributes are represented by ovals and are connected to the entity with a line.Each oval contains the name of the attribute it represents.Attributes have a domain -- the attribute’s set of possible values.Attributes may share a domain.Relationships
5 Primary Keys Underlined in the ER diagram Key attributes are also underlined in frequently used table structure shorthandIdeally composed of only a single attributePossible to use a composite key:Primary key composed of more than one attribute
6 The CLASS Table (Entity) Components and Contents
7 The Entity Relationship (E-R) Model Classes of AttributesA simple attribute cannot be subdivided.Examples: Age, Sex, and Marital statusA composite attribute can be further subdivided to yield additional attributes.Examples:ADDRESS Street, City, State, ZipPHONE NUMBER Area code, Exchange number
8 The Entity Relationship (E-R) Model Classes of AttributesA single-valued attribute can have only a single value.Examples:A person can have only one social security number.A manufactured part can have only one serial number.Multivalued attributes can have many values.A person may have several college degrees.A household may have several phones with different numbersMultivalued attributes are shown by a double line connecting to the entity.
10 The Entity Relationship (E-R) Model Multivalued Attribute in Relational DBMSThe relational DBMS cannot implement multivalued attributes.Possible courses of action for the designerWithin the original entity, create several new attributes, one for each of the original multivalued attribute’s components ( Figure 4.4).Create a new entity composed of the original multivalued attribute’s components ( Figure 4.5).
11 Splitting the Multivalued Attribute into New Attributes
12 A New Entity Set Composed of Multivalued Attribute’s Components
13 The Entity Relationship (E-R) Model A derived attributemay be calculated (derived) from other attributesNeed not be physically stored within the databaseCan be derived by using an algorithmExample: AGE can be derived from the data of birth and the current date.
15 The Entity Relationship (E-R) Model RelationshipsA relationship is an association between entities.Relationships are represented by diamond-shaped symbols.
16 The Entity Relationship (E-R) Model ConnectivityThe term connectivity is used to describe the relationship classification (e.g., one-to-one, one-to-many, and many-to-many).
17 The Entity Relationship (E-R) Model CardinalityCardinality expresses the specific number of entity occurrences associated with one occurrence of the related entity.The minimum and maximum number of entity occurrences(0,3) for PROFESSOR : a professor may teach 0-3 classes.(0,35) for CLASS : a class may enroll up to 35 students,but it is possible for a class to have no currently enrolled students initially.
19 Relationship Strength Existence DependentIf an entity’s existence depends on the existence of one or more other entities, it is said to be existence-dependent.CLASS is existence-dependent on COURSE (parent entity)EMPLOYEE claims DEPENDENT— DEPENDENT is existence-dependent on EMPLOYEEExistence independentEntity can exist apart from one or more related entitiesExample:some of parts are produced “in-house” and other parts are bought from vendors. At least some of the parts are not supplied by a vender.PART is existence-independent from VENDOR
20 Relationship Strength Weak (non-identifying) relationshipOne entity is not existence-independent on another entityPK of related entity doesn’t contain PK component of parent entityCOURSE( CRS_CODE, …)CLASS( CLASS_CODE, …)Strong (identifying) relationshipOne entity is existence-dependent on anotherPK of related entity contains PK component of parent entityCLASS( CRS_CODE, CLASS_SECTION, …)
22 A Strong (Identifying) Relationship Between COURSE and CLASS
23 The Entity Relationship (E-R) Model Relationship ParticipationOptionalThe participation is optional if one entity occurrence does not require a corresponding entity occurrence in a particular relationship.An optional entity is shown by a small circle on the side of the optional entity.MandatoryEntity occurrence requires corresponding occurrence in related entityIf no optionality symbol is shown on ERD, it is mandatory
24 CLASS is Optional to COURSE COURSE is Mandatory to CLASSCOURSE and CLASS in a Mandatory Relationship
25 Relationship Strength and Weak Entities A weak entity is an entity thatIs existence-dependent andHas a primary key that is partially or totally derived from the parent entity in the relationship.The existence of a weak entity is indicated by a double rectangle.The weak entity inherits all or part of its primary key from its strong counterpart.
26 A Weak Entity in an ERDEMPLOYEE( EMP_NUM, EMP_LNAME, EMP_FNAME, EMP_INITIAL, EMP_DOB )DEPENDENT( EMP_NUM, DEP_NUM, DEP_FNAME, DEP_DOB ) Primary KeyDEP_NUM
27 Weak entity in a Strong Relationship Between DEPENDENT and EMPLOYEE ( EMP_NUM )( EMP_NUM + DEP_NUM )
28 Weak entity in a Strong Relationship Weak relationshipOne entity is not existence-independent on anotherPK of related entity doesn’t contain PK component of parent entityCOURSE( CRS_CODE, …)CLASS( CLASS_CODE, …)Strong relationshipOne entity is existence-dependent on anotherPK of related entity contains PK component of parent entityCLASS( CRS_CODE, CLASS_SECTION, …)In any case, CLASS is always existence-dependent on COURSE, whether or not it is defined to be weak.Not Weak entity
29 Relationship DegreeA relationship’s degree indicates the number of associated entities or participants.A unary relationship exists when an association is maintained within a single entity.A binary relationship exists when two entities are associated.A ternary relationship exists when three entities are associated.
30 The Implementation of a Ternary Relationship Researchers
31 The Entity Relationship (E-R) Model Recursive relationshipA recursive relationship is one in which a relationship can exist between occurrences of the same entity set.A recursive entity is found within a unary relationship.
32 1:1 Recursive relationship EMPLOYEE is married to EMPLOYEE
33 1:M Recursive relationship PART contains PART each part is used to create only one rotor assemblyC130 = 4× AA × AB …
34 M:N Recursive relationship PART Contains PARTA part_ can be used to create several different kinds of other partsA part_ is itself composed of many parts.PARTPARTcontainsPARTcontainsPARTPARTCOMPONENT
37 Implementation of the 1:M “EMPLOYEE Manages EMPLOYEE” Recursive Relationship
38 The Entity Relationship (E-R) Model Composite EntitiesA composite entity is composed of the primary keys of each of the entities to be connected.The composite entity serves as a bridge between the related entities.The composite entity may contain additional attributes.
39 The Entity Relationship (E-R) Model Composite Entities
40 Converting the M:N Relationship Into Two 1:M Relationships
41 At the start of registration A class may exist even though it contains no students at allA student has not yet signed up for any classes.
43 The Entity Relationship (E-R) Model Entity Supertypes and SubtypesDescribing the different types of employees within a single entity would be awkward at best.Example : Aviation business ( Figure 4.27) the special pilot characteristics (EMP_LICENCE, EMP_RATING, EMP_MED_TYPE) would cause a large number of nulls for other employees who are not pilots.
45 The Entity Relationship (E-R) Model Generalization hierarchyDepicts relationships between higher-level supertype and lower-level subtype entities.Supertype contains the shared attributesSubtype contains the unique attributes.A subtype entity inherits its attributes and its relationships from the supertype entity.
46 A Generalization Hierarchy Disjoint relationships are indicated by G
47 The Entity Relationship (E-R) Model Disjoint SupertypesAlso known as non-overlapping subtypesSubtypes that contain a subset of the supertype entity setEach entity instance (row) of the supertype can appear in only one of the disjoint subtypes.The supertype and its subtype(s) maintain a 1:1 relationship.
48 The EMPLOYEE/PILOT Supertype/Subtype Relationship
49 A Generalization Hierarchy with Overlapping Subtypes Overlapping relationships are indicated by Gs
52 The Chen Representation of the Invoicing Problem
53 The Crow’s Foot Representation of the Invoicing Problem
54 The Rein85 Representation of the Invoicing Problem
55 The IDEF1X Representation of the Invoicing Problem
56 Developing an E-R Diagram The process of database design is an iterative rather than a linear or sequential process.Based on repetition of processes and procedures.The basic E-R model is graphically depicted and presented for review.The process is repeated until the end users and designers agree that the E-R diagram is a fair representation of the organization’s activities and functions.Narrative- 敘述,講述
57 Developing an E-R Diagram Tiny College Database (1)Tiny College (TC) is divided into several schools. Each school is administered by a dean.A 1:1 relationship exists between DEAN and SCHOOL.Each dean is a member of a group of administrators (ADMINISTRATOR).Deans also hold professorial rank and may teach a class ( PROFESSOR).Administrators and professors are also Employees.
59 Developing an E-R Diagram Tiny College Database (0)Most DBMS do not support supertype/subtype relationship directly.At the implementation level, designers convert it into a 1:1 relationship.A PROFESSOR is an EMPLOYEE.An EMPLOYEE is not required to be a PROFESSOR.PROFESSOR is optional to EMPLOYEE.PROFESSOR is existence-dependent on EMPLOYEE, and it inherits its PK from EMPLOYEE. Therefore the relationship between EMPLOYEE and PROFESSOR is strong, while is PROFESSOR a weak entity.
61 Developing an E-R Diagram Tiny College Database (1)Each school is composed of several departments.The smallest number of departments operated by a school is one,and the largest number of departments is indeterminate (N).Each department belongs to only a single school.
62 Developing an E-R Diagram Tiny College Database (2)Each department offers several courses.courses is optional to department. (Some departments are research only.)
63 Developing an E-R Diagram Tiny College Database (3)A department may offer several classes of the same course.A 1:M relationship exists between COURSE and CLASS.CLASS is optional to COURSE
64 Developing an E-R Diagram Tiny College Database (4)Each department has many professors assigned to it.One of those professors chairs the department. Only one of the professors can chair the department.DEPARTMENT is optional to PROFESSOR in the “chairs” relationship.
65 Developing an E-R Diagram Tiny College Database (5)Each professor may teach up to four classes, each one a section of a course.A professor may also be on a research contract and teach no classes.
66 Developing an E-R Diagram Tiny College Database (6)A student may enroll in several classes, but (s)he takes each class only once during any given enrollment period.Each student may enroll in up to six classes and each class may have up to 35 students in it.STUDENT is optional to CLASS.
67 Developing an E-R Diagram Tiny College Database (8)Each department has several students whose major is offered by that department.Each student has only a single major and associated with a single department.It is possible, at least for a while, for a student not to declare a major filed of study. DEPARTMENT is optional to STUDENT.
68 Developing an E-R Diagram Tiny College Database (8)Each student has an advisor in his or her department; each advisor counsels several students.An advisor is also a professor, but not all professors advise students.
72 The Challenge of Database Design: Conflicting Goals Database design must conform to design standardsHigh processing speeds are often a top priority in database designConflicting GoalsDesign standards (design elegance)Processing speed (high-transaction-speed)require design compromisesExample: 1:1 supertype/subtype relationshipTwo tables (avoid nulls)a single table (high speed)Operational requirements 經營上的
74 The Challenge of Database Design: Conflicting Goals A recursive 1:1 relationship yields many different solutions.Your job as a database designer is to use your professional judgment to yield a solution that meets the requirements.Operational requirements 經營上的
75 Summary Entity relationship (ER) model Uses ER diagrams to represent conceptual database as viewed by the end userThree main componentsEntitiesRelationshipsAttributesIncludes connectivity and cardinality notationsConnectivities and cardinalities are based on business rules
76 Summary (continued)ER symbols are used to graphically depict the ER model’s components and relationshipsERDs may be based on many different ER modelsEntities can also be classified as supertypes and subtypes within a generalization hierarchyDatabase designers are often forced to make design compromises