6Entity-Relationship (E-R) Model COURSE#CTITILEPROFSCHEDROOMCOURSEENROLLGRADESTUDENTSNAMECREDITSSTUIDMAJOR
7Class Hierarchies* Sometimes it’s natural to classify the entities in an entity set into subclass, then we will use Class Hierarchies.namelotssnEmployeesHourlywageHoursworkedISAcontractidHourlyEmpsContractEmps
8Aggregation * A relationship set is an association between entity sets.Sometimes we have to model a relationship between a collection of entities and relationships, then we need to use aggregation.AggregationnamessnlotEmployeesmonitorsuntilStarted-ondnamesincepidpbudgetdidbudgetSponsorsProjectsDepartment
9Conceptual design using the ER model Should a concept be modeled as an entity or an attribute ?Should a concept be modeled as an entity or a relationship ?What are the relationships ? Should we use binary or ternary relationships ?Should we use aggregation ?
10UNARY RELATIONSHIPArthur Keller – CS 180Winter 2002Unary relationship : is an associate of 1 entity set.* Note : an entity set is a group of related entities.Dr. LeeStudent* Entity set =* Relation =* Attribute =
11BINARY RELATIONSHIPBinary relationship : is an associate of 2 entities sets .Works_InEmployeesDepartmentssnnamelotdnamebudgetdid* Entity set =* Relation =* Attribute =
12TERNARY RELATIONSHIPTernary relationship : is an associate of 3 entities sets .Works_InEmployeesDepartmentssnnamelotdidbudgetdnameLocationsaddcap* Entity set =* Relation =* Attribute =
13QUARTERY RELATIONSHIP Quartery relationship : is an associate of 4 entities sets.ProductWorks_InEmployeesDepartmentLocations* Entity set =* Relation =* Attribute =
15Additional features of the ER model In the ER model allow us to draw important distinctions about the data.One of the features of the ER model is :Key ConstraintsNote : A key constraints is also known as Primary key.A primary key is a candidate key selected to uniquely identify all other attribute values in any given row, can not contain null entries.
16An example of Key Constraints on Manage nameSincednamebudgetdidssnlotManagesDepartmentEmployeesssn = Social Security Number.did = Department id.
21Entity versus Attribute fromtonamednamebudgetdidssnlotWorks-In2DepartmentEmployees* Entity set =* Relation =* Attribute =
22Entity versus Relationship dnamenamedidbudgetssnlotManagesDepartmentEmployeessinceapptnumMgr-Apptsdbudget
23Binary versus Ternary Relationship namePnameagessnlotCoversDependentsEmployeesPoliciespolicyidcost
24Using a Ternary Relationship instead of Aggregation Started-ondnamedidbudgetpidpbudgetSponsorsDepartmentsProjectsEmployeeslotssnname
25ONE TO MANY RELATIONSHIP customer-namecustomer-streetloan-numberamountcustomer-citycustomer-idborrowerloancustomer
26MANY TO ONE RELATIONSHIP customer-namecustomer-streetloan-numberamountcustomer-citycustomer-idborrowerloancustomer
27ONE TO ONE RELATIONSHIP customer-namecustomer-streetloan-numberamountcustomer-citycustomer-idborrowerloancustomer
28E-R Diagram with Composite, Multivalued, and Derived Attributes street-namemiddle-nameStreet-numberapartment-numberlast-namefirst-namestreetnamecitycustomer-idaddressstateCustomerzip-codeagedate-of-birthphone-number
29WEAK ENTITY SETSAn entity set may not have sufficient attributes to form a primary key. Such an entity set is termed a weak entity set. An entity set that has a primary key is termed a strong entity set.For a weak entity set to be meaningful, it must be associated with another entity set, called the identifying or owner entity set. The relationship associating the weak entity set with the identifying entity set is called the identifying relationship.The identifying relationship is many to one from the weak entity set to the identifying entity set, and the participation of the weak entity set in the relationship is total.
30DISCRIMINATORThe discriminator of a weak entity set is a set of attributes that allows this distinction to be made. For example, the discriminator of a weak entity set payment is the attribute payment-number, since, for each loan a payment number uniquely identifies one single payment for that loan. The discriminator of a weak entity set is also called the partial key of the entity set.Note: although each payment entity is distinct, payments for different loans may share the same payment-number. Thus, payment entity set does not have a primary key; it is a weak entity set.The primary key of a weak entity set is formed by the primary key of the identifying entity set, plus the weak entity set’s discriminator.
31E-R DIAGRAM WITH A WEAK ENTITY SET In a E-R diagrams, a doubly outlined box indicates a weak entity set, and a doubly outlined diamond indicates the corresponding identifying relationship. We underline the discriminator of a weak entity set with a dashed line.payment-dateamountloan-numberpayment-numberpayment-amountloan-paymentloanpaymentE-R diagram with a weak entity set
36Entity/Relationship Model Diagrams to represent designs.Entity like object, = “thing.”Entity set like class = set of “similar” entities/objects.Attribute = property of entities in an entity set, similar to fields of a struct.In diagrams, entity set rectangle; attribute oval.namephoneIDStudentsheight
37Relationships Connect two or more entity sets. Represented by diamonds.TakingStudentsCourses
38Relationship SetThink of the “value” of a relationship set as a table.One column for each of the connected entity sets.One row for each list of entities, one from each set, that are connected by the relationship.Students CoursesSally CS180Sally CS111Joe CS180… …
39Multiway Relationships Usually binary relationships (connecting two E.S.) suffice.However, there are some cases where three or more E.S. must be connected by one relationship.Example: relationship among students, courses, TA's (and graders).Possibly, this E/R diagram is OK:TakingStudentsCoursesAssistingTA/Graders
40But what if students were divided into sections, each headed by a TA? Works in CS180, because each TA (or grader) is a TA of all students. Connection student-TA is only via the course.But what if students were divided into sections, each headed by a TA?Then, a student in CS180 would be related to only one of the TA's for CS180. Which one?Need a 3-way relationship to tell.
41Students Courses TAs Ann CS180 Jan Sue CS180 Pat Bob CS180 Jan … … … EnrollsStudentsTAsStudents Courses TAsAnn CS180 JanSue CS180 PatBob CS180 Jan… … …
42Beers-Bars-Drinkers Example Our running example for the course.nameaddrlicenseFrequentsServesBarsLikesBeersDrinkersnamemanfnameaddr
43Multiplicity of Relationships Many-manyMany-oneOne-oneRepresentation of Many-OneE/R: arrow pointing to “one.”Rounded arrow = “exactly one.”
44Example: Drinkers Have Favorite Beers nameaddrlicenseFrequentsServesBarsLikesBeersDrinkersFavoritenamemanfnameaddr
45One-One Relationships Put arrows in both directions.Design Issue:Is the rounded arrow justified?Here, manufacturer is an E.S.In earlier diagrams it is an attribute.Which is right?Best- sellerManfsBeers
46Attributes on Relationships priceSellsBarsBeersShorthand for 3-way relationship:pricePricesSellsBarsBeers
47A true 3-way relationship. Price depends jointly on beer and bar.Notice arrow convention for multiway relationships: “all other E.S. determine one of these.”Not sufficiently general to express any possibility.However, if price, say, depended only on the beer, then we could use two 2-way relationships: price-beer and beer-bar.Or better: just make price an attribute of beer.
48Converting Multiway to 2-Way Baroque in E/R, but necessary in certain “object-oriented” models.Create a new connecting E.S. to represent rows of a relationship set.E.g., (Joe's Bar, Bud, $2.50) for the Sells relationship.Many-one relationships from the connecting E.S. to the others.BBPThe- BarThe- BeerThe- PriceBarsBeersPrice
49Roles Sometimes an E.S. participates more than once in a relationship. Label edges with roles to distinguish.MarriedHusband Wifed1 d2d3 d4… …husbandwifeDrinkers
50Notice Buddies is symmetric, Married not. Design Question Buddy1 Buddy2d1 d2d1 d3d2 d1d2 d4… …Buddies12DrinkersNotice Buddies is symmetric, Married not.No way to say “symmetric” in E/R.Design QuestionShould we replace husband and wife by one relationship spouse?
52Subclasses Subclass = special case = fewer entities = more properties. Example: Ales are a kind of beer. In addition to the properties (= attributes and relationships) of beers, there is a “color” attribute for ales.
53E/R SubclassesAssume subclasses form a tree (no multiple inheritance).isa triangles indicate the subclass relation.BeersnamemanfisaAlescolor
54Different Subclass Viewpoints 1. E/R viewpoint: An entity has a component in each entity set to which it logically belongs.Its properties are the union of the properties of these E.S.2. Contrasts with object-oriented viewpoint: An object (entity) belongs to exactly one class.It inherits properties of its superclasses.BeersnamemanfisaPete’s AleAlescolor
55Multiple InheritanceTheoretically, an E.S. could be a subclass of several other entity sets.namemanfnamemanfBeersWinesisaisaGrapeBeers
56Problems How should conflicts be resolved? Example: manf means vintner for wines, bottler for beers. What does manf mean for “grape beers”?Need ad-hoc notation to resolve meanings.In practice, we shall assume a tree of entity sets connected by isa, with all “isas” pointing from child to parent.
57KeysA key is a set of attributes whose values can belong to at most one entity.In E/R model, every E.S. must have a key.It could have more than one key, but one set of attributes is the “designated” key.In E/R diagrams, you should underline all attributes of the designated key.
58Example Suppose name is key for Beers. Beer name is also key for ales. In general, key at root is key for all.BeersnamemanfisaAlescolor
59Example: A Multiattribute Key numberhoursCoursesdeptroomPossibly, the combination of hours + room also forms a key, but we have not designated it as such.