Database Design Using The Entity-Relationship Model Hacettepe - - PowerPoint PPT Presentation

database design using
SMART_READER_LITE
LIVE PREVIEW

Database Design Using The Entity-Relationship Model Hacettepe - - PowerPoint PPT Presentation

Database Design Using The Entity-Relationship Model Hacettepe University Computer Engineering Department Outline 1. Database Design 2. ER Basics: Entities & Relations 3. ER Design considerations 4. Advanced ER Concepts Hacettepe


slide-1
SLIDE 1

Hacettepe University Computer Engineering Department

Database Design Using The Entity-Relationship Model

slide-2
SLIDE 2

Hacettepe University Computer Engineering Department

Outline

  • 1. Database Design
  • 2. ER Basics: Entities & Relations
  • 3. ER Design considerations
  • 4. Advanced ER Concepts

2

slide-3
SLIDE 3

Hacettepe University Computer Engineering Department

Design Phases

  • Initial phase -- characterize fully the data needs of the prospective

database users.

  • Second phase -- choosing a data model
  • Applying the concepts of the chosen data model
  • Translating these requirements into a conceptual schema of the database.
  • A fully developed conceptual schema indicates the functional requirements of

the enterprise.

  • Describe the kinds of operations (or transactions) that will be performed
  • n the data.
slide-4
SLIDE 4

Hacettepe University Computer Engineering Department

Design Phases (Cont.)

  • Final Phase -- Moving from an abstract data model to the

implementation of the database

  • Logical Design – Deciding on the database schema.
  • Database design requires that we find a “good” collection of relation

schemas.

  • Business decision – What attributes should we record in the database?
  • Computer Science decision – What relation schemas should we have and

how should the attributes be distributed among the various relation schemas?

  • Physical Design – Deciding on the physical layout of the database
slide-5
SLIDE 5

Hacettepe University Computer Engineering Department

Design Alternatives

  • In designing a database schema, we must ensure that we avoid two major pitfalls:
  • Redundancy: a bad design may result in repeat information.
  • Redundant representation of information may lead to data inconsistency

among the various copies of information

  • Incompleteness: a bad design may make certain aspects of the enterprise

difficult or impossible to model.

  • Avoiding bad designs is not enough. There may be a large number of good

designs from which we must choose.

slide-6
SLIDE 6

Hacettepe University Computer Engineering Department

Design Approaches

  • Entity Relationship (ER) Model
  • Models an enterprise as a collection of entities and relationships
  • Entity: a “thing” or “object” in the enterprise that is distinguishable from
  • ther objects
  • Described by a set of attributes
  • Relationship: an association among several entities
  • Represented diagrammatically by an entity-relationship diagram:
  • Normalization Theory (will be discussed in BBM471)
  • Formalize what designs are bad, and test for them
slide-7
SLIDE 7

Hacettepe University Computer Engineering Department

This process is iterated many times

ER is a visual syntax for DB design which is precis ise en enough for technical points, but abstracted en enough for non-technical people

Database Design Process

  • 1. Requirements Analysis
  • 2. Conceptual Design
  • 3. Logical, Physical, Security, etc.

Makes Product name category price Company name

ER Mod

  • del & Dia

Diagrams used ed

7

slide-8
SLIDE 8

Hacettepe University Computer Engineering Department

Interlude: Impact of the ER model

  • The ER model is one of the most cited articles in Computer

Science

  • “The Entity-Relationship model – toward a unified view of data” Peter Chen,

1976

  • Used by companies big and small
  • You’ll know it soon enough

8

slide-9
SLIDE 9

Hacettepe University Computer Engineering Department

Entities and Entity Sets

  • Entities & entity sets are the primitive unit of

the ER model

  • Entities are the individual objects, which are members
  • f entity sets
  • Ex: A specific person or product
  • Entity sets are the classes or types of objects in our

model

  • Ex: Person, Product
  • These are what is shown in E/R diagrams - as rectangles
  • Entity sets represent the sets of all possible entities

Product Person

These represent en entity se sets

9

slide-10
SLIDE 10

Hacettepe University Computer Engineering Department

Entities and Entity Sets

  • An entity set has attributes
  • Represented by ovals attached to an entity set

Product name category price Shapes ar are important. Colors ar are not

  • t.

10

slide-11
SLIDE 11

Hacettepe University Computer Engineering Department

Entities vs. Entity Sets

Example:

Product name category price Entity Set

Product

Name: Xbox Category: Total Multimedia System Price: $250 Name: My Little Pony Doll Category: Toy Price: $25

Entity Entity Attribute Entities are not

  • t explicitly

represented in ER diagrams!

11

slide-12
SLIDE 12

Hacettepe University Computer Engineering Department

Keys

  • A key is a minimal set of attributes that uniquely identifies an entity.

Product name category price

Denote elements of the primary key by underlining.

Here, {price, category} is not a key. If it were, what would it mean? The ER model forces us to designate a single prim rimary key, though there may be multiple candidate keys

12

slide-13
SLIDE 13

Hacettepe University Computer Engineering Department

The R in ER: Relationships

  • A relationship is between two entities

Product name category price Company name Makes

13

slide-14
SLIDE 14

Hacettepe University Computer Engineering Department 14

makes buys employs Product name category price Person address name ssn Company stockprice name

Company makes one product, employs one person. Person buys one product.

slide-15
SLIDE 15

Hacettepe University Computer Engineering Department

What is a Relationship?

  • A mathematical definition:
  • Let A, B be sets
  • A={1,2,3}, B={a,b,c,d}

1 2 3 a b c d A= B=

15

slide-16
SLIDE 16

Hacettepe University Computer Engineering Department

What is a Relationship?

  • A mathematical definition:
  • Let A, B be sets
  • A={1,2,3}, B={a,b,c,d}
  • A x B (the cross-product) is the set of all pairs

(a,b)

  • A  B = {(1,a), (1,b), (1,c), (1,d), (2,a), (2,b), (2,c), (2,d),

(3,a), (3,b), (3,c), (3,d)}

1 2 3 a b c d A= B=

16

slide-17
SLIDE 17

Hacettepe University Computer Engineering Department

What is a Relationship?

  • A mathematical definition:
  • Let A, B be sets
  • A={1,2,3}, B={a,b,c,d},
  • A x B (the cross-product) is the set of all pairs (a,b)
  • A  B = {(1,a), (1,b), (1,c), (1,d), (2,a), (2,b), (2,c), (2,d),

(3,a), (3,b), (3,c), (3,d)}

  • We define a relationship to be a subset of A x B
  • R = {(1,a), (2,c), (2,d), (3,b)}

1 2 3 a b c d A= B=

17

slide-18
SLIDE 18

Hacettepe University Computer Engineering Department

What is a Relationship?

  • A mathematical definition:
  • Let A, B be sets
  • A x B (the cross-product) is the set of all pairs
  • A relationship is a subset of A x B
  • Makes is relationship- it is a subset of

Product  Company:

1 2 3 a b c d A= B=

makes Company Product

18

slide-19
SLIDE 19

Hacettepe University Computer Engineering Department

What is a Relationship?

Makes Product name category price Company name

A rela lationship ip between enti tity se sets ts P an and C is a su subset of

  • f al

all l po possible le pa pair irs of

  • f en

entit ities in in P an and d C, with tuples uniquely identified by P and C’s keys

19

slide-20
SLIDE 20

Hacettepe University Computer Engineering Department

What is a Relationship?

name category price Gizmo Electronics $9.99 GizmoLite Electronics $7.50 Gadget Toys $5.50 name GizmoWorks GadgetCorp

Product Company Makes Product name category price Company name

A rela lationship ip between enti tity se sets ts P an and C is a su subset of

  • f al

all l po possible le pa pair irs of

  • f en

entit ities in in P an and d C, with tuples uniquely identified by P and C’s keys

20

slide-21
SLIDE 21

Hacettepe University Computer Engineering Department

What is a Relationship?

name category price Gizmo Electronics $9.99 GizmoLite Electronics $7.50 Gadget Toys $5.50 name GizmoWorks GadgetCorp

Product Company

C.name P.name P.category P.price GizmoWorks Gizmo Electronics $9.99 GizmoWorks GizmoLite Electronics $7.50 GizmoWorks Gadget Toys $5.50 GadgetCorp Gizmo Electronics $9.99 GadgetCorp GizmoLite Electronics $7.50 GadgetCorp Gadget Toys $5.50

Company C × Product P Makes Product name category price Company name

A rela lationship ip between enti tity se sets ts P an and C is a su subset of

  • f al

all l po possible le pa pair irs of

  • f en

entit ities in in P an and d C, with tuples uniquely identified by P and C’s keys

21

slide-22
SLIDE 22

Hacettepe University Computer Engineering Department

What is a Relationship?

name category price Gizmo Electronics $9.99 GizmoLite Electronics $7.50 Gadget Toys $5.50 name GizmoWorks GadgetCorp

Product Company

C.name P.name P.category P.price GizmoWorks Gizmo Electronics $9.99 GizmoWorks GizmoLite Electronics $7.50 GizmoWorks Gadget Toys $5.50 GadgetCorp Gizmo Electronics $9.99 GadgetCorp GizmoLite Electronics $7.50 GadgetCorp Gadget Toys $5.50

Company C × Product P

C.name P.name GizmoWorks Gizmo GizmoWorks GizmoLite GadgetCorp Gadget

Makes Makes Product name category price Company name

A rela lationship ip between enti tity se sets ts P an and C is a su subset of

  • f al

all l po possible le pa pair irs of

  • f en

entit ities in in P an and d C, with tuples uniquely identified by P and C’s keys

22

slide-23
SLIDE 23

Hacettepe University Computer Engineering Department

What is a Relationship?

  • There can only be one relationship for every

unique combination of entities

  • This also means that the relationship is uniquely

determined by the keys of its entities

  • Example: the “key” for Makes (to right) is

{Product.name, Company.name}

This follows from our mathematical definition of a relationship- it’s a SET!

Makes Product name category price Company name since

KeyMakes = KeyProduct ∪ KeyCompany

23

slide-24
SLIDE 24

Hacettepe University Computer Engineering Department

Product name category price Company name Makes since

  • Relationships may have attributes as well.

For example: “since” records when company started making a product

Note: “since” is implicitly unique per pair here! Why? Note #2: Why not “how long”?

Relationships and Attributes

24

slide-25
SLIDE 25

Hacettepe University Computer Engineering Department

Decision: Relationship vs. Entity?

  • Q: What does this say?
  • A: A person can only buy a specific product once (on one date)

Purchased Product name category price Person name date

Modeling something as a relationship makes it unique; what if not appropriate?

25

slide-26
SLIDE 26

Hacettepe University Computer Engineering Department

Decision: Relationship vs. Entity?

  • What about this way?
  • Now we can have multiple purchases per product, person pair!

Product name category price Person name date Purchase quantity PID# ProductOf BuyerOf

We can always use a a new entit ity instead of a relationship. For example, to permit multiple instances of each entity combination!

26

slide-27
SLIDE 27

Hacettepe University Computer Engineering Department

Mapping Cardinality Constraints

  • Express the number of entities to which another entity can be associated via a

relationship set.

  • Most useful in describing binary relationship sets.
  • For a binary relationship set the mapping cardinality must be one of the following

types:

  • One to one
  • One to many
  • Many to one
  • Many to many
slide-28
SLIDE 28

Hacettepe University Computer Engineering Department

Mapping Cardinalities

One to one One to many

Note: Some elements in A and B may not be mapped to any elements in the other set

slide-29
SLIDE 29

Hacettepe University Computer Engineering Department

Mapping Cardinalities

Many to one Many to many

Note: Some elements in A and B may not be mapped to any elements in the other set

slide-30
SLIDE 30

Hacettepe University Computer Engineering Department

Representing Cardinality Constraints in ER Diagram

  • We express cardinality constraints by drawing either a directed line (→),

signifying “one,” or an undirected line (—), signifying “many,” between the relationship set and the entity set.

  • One-to-one relationship between an instructor and a student :
  • A student is associated with at most one instructor via the relationship

advisor

  • An instructor is associated with at most one student via advisor
slide-31
SLIDE 31

Hacettepe University Computer Engineering Department

One-to-Many Relationship

  • one-to-many relationship between an instructor and a student
  • an instructor is associated with several (including 0) students via advisor
  • a student is associated with at most one instructor via advisor,
slide-32
SLIDE 32

Hacettepe University Computer Engineering Department

Many-to-One Relationships

  • In a many-to-one relationship between an instructor and a student,
  • an instructor is associated with at most one student via advisor,
  • and a student is associated with several (including 0) instructors via advisor
slide-33
SLIDE 33

Hacettepe University Computer Engineering Department

Many-to-Many Relationship

  • An instructor is associated with several (possibly 0) students via advisor
  • A student is associated with several (possibly 0) instructors via advisor
slide-34
SLIDE 34

Hacettepe University Computer Engineering Department

Total and Partial Participation

▪ Total participation (indicated by double/bold line): every entity in the entity set

participates in at least one relationship in the relationship set

  • participation of student in advisor relation is total

every student must have an associated instructor

▪ Partial participation: some entities may not participate in any relationship in the

relationship set

  • Example: participation of instructor in advisor is partial
slide-35
SLIDE 35

Hacettepe University Computer Engineering Department

Notation for Expressing More Complex Constraints

▪ A line may have an associated minimum and maximum cardinality, shown in the form l..h, where l

is the minimum and h the maximum cardinality

  • A minimum value of 1 indicates total participation.
  • A maximum value of 1 indicates that the entity participates in at most one relationship
  • A maximum value of * indicates no limit.

▪ Example

  • Instructor can advise 0 or more students. A student must have 1 advisor; cannot have

multiple advisors

slide-36
SLIDE 36

Hacettepe University Computer Engineering Department

Multiplicity of ER Relationships

36

Marriage Man Woman

1 1

Study Department Student

1 n

Enrolled Student Course

m n

slide-37
SLIDE 37

Hacettepe University Computer Engineering Department 37

makes buys employs Product name category price Person address name ssn Company stockprice name

Company can make many product, can employ many person. Person buys still one product.

slide-38
SLIDE 38

Hacettepe University Computer Engineering Department

Multi-way Relationships

How do we model a purchase relationship between buyers, products and stores?

38

Purchase Product Person Store

slide-39
SLIDE 39

Hacettepe University Computer Engineering Department

Converting Multi-way Relationships to Binary

Purchase Person Store Product

StoreOf ProductOf BuyerOf

date

39

slide-40
SLIDE 40

Hacettepe University Computer Engineering Department

Converting Multi-way Relationships to New Entity + Binary Relationships

40

Purchase Person Store Product

StoreOf ProductOf BuyerOf

date

slide-41
SLIDE 41

Hacettepe University Computer Engineering Department

Decision: Multi-way or New Entity + Binary?

Should we use a single mult lti-way rela lationship or a ne new en entity with ith bi bina nary ry rela relations? (A) Multi-way Relationship (B) Entity + Binary

41

Purchase Person Store Product

StoreOf ProductOf BuyerOf

date

Purchase Product Person Store

slide-42
SLIDE 42

Hacettepe University Computer Engineering Department

Decision: Multi-way or New Entity + Binary?

(A) Multi-way Relationship (B) Entity + Binary

42

Purchase Person Store Product

StoreOf ProductOf BuyerOf

date

Purchase Product Person Store

Multiple purchases per (product, store, person) combo possible here!

(B) is useful if we want to have multiple instances of the “relationship” per entity combination

slide-43
SLIDE 43

Hacettepe University Computer Engineering Department

Decision: Multi-way or New Entity + Binary?

(A) Multi-way Relationship (B) Entity + Binary

43

Purchase Person Store Product

StoreOf ProductOf BuyerOf

date

Purchase Product Person Store

(B) is also useful when we want to add details (constraints or attributes) to the relationship “A person who shops in only one store” “How long a person has been shopping at a store”

We can add more-fine- grained constraints here!

slide-44
SLIDE 44

Hacettepe University Computer Engineering Department

Decision: Multi-way or New Entity + Binary?

(A) Multi-way Relationship (B) Entity + Binary

44

Purchase Person Store Product

StoreOf ProductOf BuyerOf

date

Purchase Product Person Store

(A) is useful when a relationship really is between multiple entities

  • Ex: A three-party legal contract
slide-45
SLIDE 45

Hacettepe University Computer Engineering Department

  • 3. Design Principles

Purchase Product Person What’s wrong with these examples? President Person Country

45

slide-46
SLIDE 46

Hacettepe University Computer Engineering Department

Design Principles: What’s Wrong?

Purchase Product Store date personName personAddr

46

slide-47
SLIDE 47

Hacettepe University Computer Engineering Department

Examples: Entity vs. Attribute

Should address (A) be an attribute?

Employee Addr 1 Addr 2 Address Street Addr ZIP Employee AddrOf

Or (B) be an entity?

48

slide-48
SLIDE 48

Hacettepe University Computer Engineering Department

Examples: Entity vs. Attribute

Should address (A) be an attribute?

Employee Addr 1 Addr 2

How do we handle employees with multiple addresses here? How do we handle addresses where internal structure of the address (e.g. zip code, state) is useful?

49

slide-49
SLIDE 49

Hacettepe University Computer Engineering Department

Examples: Entity vs. Attribute

Address Street Addr ZIP Employee AddrOf

Or (B) be an entity?

In general, when we want to record several values, we choose new entity

Should address (A) be an attribute?

Employee Addr 1 Addr 2

50

slide-50
SLIDE 50

Hacettepe University Computer Engineering Department

Aggregation

  • Suppose we want to record evaluations of a student by a guide on a

project

slide-51
SLIDE 51

Hacettepe University Computer Engineering Department

Aggregation (Cont.)

  • Relationship sets eval_for and proj_guide represent overlapping information
  • Every eval_for relationship corresponds to a proj_guide relationship
  • However, some proj_guide relationships may not correspond to any eval_for

relationships

  • So we can’t discard the proj_guide relationship
  • Eliminate this redundancy via aggregation
  • Treat relationship as an abstract entity
  • Allows relationships between relationships
  • Abstraction of relationship into new entity
slide-52
SLIDE 52

Hacettepe University Computer Engineering Department

Aggregation (Cont.)

▪ Eliminate this redundancy via aggregation without introducing redundancy, the following diagram represents:

  • A student is guided by a particular instructor on a particular project
  • A student, instructor, project combination may have an associated evaluation
slide-53
SLIDE 53

Hacettepe University Computer Engineering Department

Modeling Subclasses

  • Some objects in a class may be special, i.e. worthy of their own class
  • Define a new class?
  • But what if we want to maintain connection to current class?
  • Better: define a subclass
  • Ex:

Products Software products Educational products

We can define su subcla lasses in ER!

54

slide-54
SLIDE 54

Hacettepe University Computer Engineering Department

Product name price Software Product platforms Educational Product ageGroup isA

Modeling Subclasses

Child subclasses contain all the attributes of all of their parent classes plu lus the new attributes shown attached to them in the ER diagram

55

slide-55
SLIDE 55

Hacettepe University Computer Engineering Department

Understanding Subclasses

  • Think in terms of records; ex:
  • Product
  • SoftwareProduct
  • EducationalProduct

name price name price

platforms

name price

ageGroup

Child subclasses contain all the attributes of all of their parent classes plu lus the new attributes shown attached to them in the ER diagram

Product name price isA Educational Product Software Product ageGroup platforms 56

slide-56
SLIDE 56

Hacettepe University Computer Engineering Department

Think like tables…

Product name price isA Educational Product Software Product ageGroup platforms

name price category Gizmo 99 gadget Camera 49 photo Toy 39 gadget name platforms Gizmo unix name ageGroup Gizmo todler Toy retired

Product Sw.Product Ed.Product

57

slide-57
SLIDE 57

Hacettepe University Computer Engineering Department

  • OO: Classes are disjoint (same for Java, C++)

Difference between OO and ER inheritance

p1 p2 p3 sp1 sp2 ep1 ep2 ep3 Product SoftwareProduct EducationalProduct OO = Object Orie Oriented. E.g. classes as fundamental building block, etc…

58

slide-58
SLIDE 58

Hacettepe University Computer Engineering Department

  • ER: entity sets overlap

Difference between OO and ER inheritance

SoftwareProduct EducationalProduct p1 p2 p3 sp1 sp2 ep1 ep2 ep3 Product

59

slide-59
SLIDE 59

Hacettepe University Computer Engineering Department

No need for multiple inheritance in ER

SoftwareProduct EducationalProduct p1 p2 p3 sp1 sp2 ep1 ep2 ep3 Product esp1 esp2

We have three entity sets, but four different kinds

  • f objects

Difference between OO and ER inheritance

60

slide-60
SLIDE 60

Hacettepe University Computer Engineering Department

IsA Review

  • If we declare A IsA B then every A is a B
  • We use IsA to
  • Add descriptive attributes to a subclass
  • To identify entities that participate in a relationship
  • No need for multiple inheritance

61

slide-61
SLIDE 61

Hacettepe University Computer Engineering Department

Modeling UnionTypes With Subclasses

Suppose each piece of furniture is owned either by a person, or by a company. How do we represent this?

FurniturePiece Person Company

62

slide-62
SLIDE 62

Hacettepe University Computer Engineering Department

Modeling Union Types with Subclasses

Say: each piece of furniture is owned either by a person, or by a company So Solut lutio ion 1. Acceptable, but imperfect (What’s wrong ?)

FurniturePiece Person Company

  • wnedByPerson
  • wnedByComp

63

slide-63
SLIDE 63

Hacettepe University Computer Engineering Department

Modeling Union Types with Subclasses

Solution 2: better (though more laborious)

FurniturePiece Person Company

  • wnedBy

Owner isa What is happening here?

64

slide-64
SLIDE 64

Hacettepe University Computer Engineering Department

Constraints in ER Diagrams

  • Finding constraints is part of the E/R modeling process. Commonly used

constraints are:

  • Keys: Implicit constraints on uniqueness of entities
  • Ex: An SSN uniquely identifies a person
  • Single-value constraints:
  • Ex: a person can have only one father
  • Referential integrity constraints: Referenced entities must exist
  • Ex: if you work for a company, it must exist in the database
  • Other constraints:
  • Ex: peoples’ ages are between 0 and 150

Recall FOREIGN KEYs!

65

slide-65
SLIDE 65

Hacettepe University Computer Engineering Department

Keys in ER Diagrams

address name ssn Person Product name category price Underline keys: Note: no formal way to specify multiple keys in E/R diagrams…

66

slide-66
SLIDE 66

Hacettepe University Computer Engineering Department

Participation Constraints: Partial v. Total

makes Product Company Are there products made by no company? Companies that don’t make a product? makes Product Company Bold line indicates total participation (i.e. here: all products are made by a company)

67

slide-67
SLIDE 67

Hacettepe University Computer Engineering Department

Referential Integrity Constraints

Company Product makes Company Product makes Each product made by at most one company. Some products made by no company? Each product made by exactly one company.

68

slide-68
SLIDE 68

Hacettepe University Computer Engineering Department

Weak Entity Sets

  • Consider a section entity, which is uniquely identified by a course_id, semester,

year, and sec_id.

  • Clearly, section entities are related to course entities. Suppose we create a

relationship set sec_course between entity sets section and course.

  • Note that the information in sec_course is redundant, since section already has

an attribute course_id, which identifies the course with which the section is related.

  • One option to deal with this redundancy is to get rid of the relationship

sec_course; however, by doing so the relationship between section and course becomes implicit in an attribute, which is not desirable.

slide-69
SLIDE 69

Hacettepe University Computer Engineering Department

Weak Entity Sets (Cont.)

  • An alternative way to deal with this redundancy is to not store the attribute course_id in the

section entity and to only store the remaining attributes section_id, year, and semester.

  • However, the entity set section then does not have enough attributes to identify a particular

section entity uniquely

  • To deal with this problem, we treat the relationship sec_course as a special relationship that

provides extra information, in this case, the course_id, required to identify section entities uniquely.

  • A weak entity set is one whose existence is dependent on another entity, called its identifying

entity

  • Instead of associating a primary key with a weak entity, we use the identifying entity, along with

extra attributes called discriminator to uniquely identify a weak entity.

slide-70
SLIDE 70

Hacettepe University Computer Engineering Department

Weak Entity Sets (Cont.)

  • An entity set that is not a weak entity set is termed a strong entity set.
  • Every weak entity must be associated with an identifying entity; that is, the weak

entity set is said to be existence dependent on the identifying entity set.

  • The identifying entity set is said to own the weak entity set that it identifies.
  • The relationship associating the weak entity set with the identifying entity set is

called the identifying relationship.

  • Note that the relational schema we eventually create from the entity set section

does have the attribute course_id, for reasons that will become clear later, even though we have dropped the attribute course_id from the entity set section.

slide-71
SLIDE 71

Hacettepe University Computer Engineering Department

Expressing Weak Entity Sets

  • In E-R diagrams, a weak entity set is depicted via a double rectangle.
  • We underline the discriminator of a weak entity set with a dashed line.
  • The relationship set connecting the weak entity set to the identifying strong

entity set is depicted by a double diamond.

  • Primary key for section – (course_id, sec_id, semester, year)
slide-72
SLIDE 72

Hacettepe University Computer Engineering Department

Summary of Used Symbols

73

attribute Entity Set Weak Entity Set Relationship Subclass

slide-73
SLIDE 73

Hacettepe University Computer Engineering Department

Alternative Representations: Basic Symbols

74

Entity Type symbol Relationship symbol Primary Key Attributes Relationship name Entity Type name

CourseNo CrsDesc CrsUnits

Course

OfferNo OffLocation OffTime

Offering Has

slide-74
SLIDE 74

Hacettepe University Computer Engineering Department

Alternative Representations: Cardinality

75

Inside symbol: minimum cardinality

CourseNo CrsDesc CrsUnits

Course

OfferNo OffLocation OffTime

Offering Has Perpendicular line:

  • ne cardinality

Outside symbol: maximum cardinality Circle: zero cardinality Crow's foot: many cardinality

slide-75
SLIDE 75

Hacettepe University Computer Engineering Department

Alternative Representations: Example

76

StdNo StdName

Student

OfferNo OffLocation

Offering

EnrGrade

Enrollment Registers Grants

slide-76
SLIDE 76

Hacettepe University Computer Engineering Department

Alternative Representations: Tool X

77

slide-77
SLIDE 77

Hacettepe University Computer Engineering Department

ER Summary

  • E/R diagrams are a visual syntax that allows

technical and non-technical people to talk

  • For conceptual design
  • Basic constructs: entity, relationship, and

attributes

  • A good design is faithful to the constraints of the

application, but not overzealous

78

slide-78
SLIDE 78

Hacettepe University Computer Engineering Department

ER Design Decisions

  • The use of an attribute or entity set to represent an object.
  • Whether a real-world concept is best expressed by an entity set or a relationship

set.

  • The use of a ternary relationship versus a pair of binary relationships.
  • The use of a strong or weak entity set.
  • The use of specialization/generalization – contributes to modularity in the design.
  • The use of aggregation – can treat the aggregate entity set as a single unit

without concern for the details of its internal structure.

slide-79
SLIDE 79

Hacettepe University Computer Engineering Department

Acknowledgements

The course material used for this lecture is mostly taken and/or adopted from

  • The course materials of the CS145 Introduction to Databases lecture

given by Christopher Ré at Stanford University (http://web.stanford.edu/class/cs145/).

  • From the slides of the textbook Database System Concepts, Seventh

Edition by Avi Silberschatz, Henry F. Korth, S. Sudarshan.

80