16
CS3431 1 The Entity- Relationship Model Part I.

CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

Embed Size (px)

DESCRIPTION

CS34313 Conceptual Design What is Conceptual Design? Concise representation of our DB application requirements Why Conceptual Design ? It helps us to understand application requirements better It helps us to communicate our understanding of application It helps us to come up with a ‘good’ design

Citation preview

Page 1: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 1

The Entity-Relationship Model

Part I.

Page 2: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 2

Database Design StagesApplication

Requirements

ConceptualDesign

Logical Design

Physical Design

Conceptual Schema

Logical Schema

Physical Schema

Page 3: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 3

Conceptual Design What is Conceptual Design?

Concise representation of our DB application requirements

Why Conceptual Design ? It helps us to understand application requirements

better It helps us to communicate our understanding of

application It helps us to come up with a ‘good’ design

Page 4: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 4

Conceptual Design

Conceptual Models ER (Entity Relationship) Model, UML (Unified Modeling Language), ORM (Object Role Modeling), etc

ER Model Structures: entities and relationships Constraints

An ER schema is represented as an ER diagram.

Page 5: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 5

ER: Entity Types and Attributes Entity: “Object” Entity Type: “Class” Attribute: property of an entity, has a domain In ER diagrams

Entity Type rectangle Attribute Oval.

Student

sNamesNumber

sAge

Entity Type Studentwith attributes (sNumber, sName, sAge)

Page 6: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 6

ER Example Consider DB

instance with 3 students :

(1, Joe, 21), (2, Mary, 20), (3, Emily, 20)

s1

s2

s3

Student

1

2

3

Emily

Mary

Joe

21

20

Page 7: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 7

ER Model: Complex AttributesComposite Attribute: address Multivalued Attribute: major

major

Student entity typewith all its attributes

sta testreet

address

city

S tudent

sN am esN um ber

sA ge

m ajor

statestreet

address

city

Page 8: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 8

ER Model: Relationship Types Relationship: Association between entities Relationship Type: Class of relationships Representation: Use a diamond shape

Student

sNumber

sName

Course

cNumber

title

HasTaken

Relationship type HasTaken to represent Courses taken by Students

Page 9: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 9

ER Model: Relationship Types with Attributes

Student

sNumber

sName

Course

cNumber

title

HasTaken

project

Relationship HasTaken has an attribute project which is theproject the Student did for the Course

Student

sNumber

sName

Course

cNumber

title

HasTaken

Page 10: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 10

Example: Relationship Instances students {Hong, Song}, courses {DB1, DB2}, and relationships {(Hong, DB1 : 98), (Song, DB1 : 99), (Hong, DB2 : 97)}

HasTaken

98

97

99

DB1

DB2

Hong

Song

Student Course

Page 11: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 11

Example : Relationship types

Example :Suppliers have a name and an address.Products have a type and a default price.Consumers have a name and a telephone number.Some Suppliers have established contracts to supply a certain Product to a particular Consumer for specially negotiated price at a given quantity.

How would you model this ?

Page 12: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 12

More relationship types

Supplier

sName

sLoc

Consumer

cName

cLoc

Supply

price

Product

pName pNumber

qty

Model the relationship Supplier supplies Products to Consumers

Could we make two binary (or three binary) relationships instead?

Page 13: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 13

Binary vs. Ternary Relationships

What about following binary relationships : S “can-supply” P, C “needs” P, and C “deals-with” S

No combination of binary relationships is an adequate substitute: Together 3 binary relationships don’t imply that C has

agreed to buy P from S. Also, how could we record qty and price?

Page 14: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS343114

Recursive Relationship Types

Model: All parts have a part number and name. Some parts contain other parts as subcomponents, with a certain quantity.

For instance:Both bikes and wheels are parts that we sell.Yet, a bike contains two wheels.

Contains

bike

Part

framewheel

seattire

1

2

1

1

Page 15: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 15

Recursive Relationship Types and Roles

Recursive relationship type : Part-Subpart

Roles: There are Parts that play the role of superPartThere are Parts that play the role of subPart

Contains

Part

pName pNumber

subPartsuperPart

quantityContains

bike

Part

framewheel

seattire

1

2

1

1

Page 16: CS34311 The Entity- Relationship Model Part I.. CS34312 Database Design Stages Application Requirements Conceptual Design Logical Design Physical Design

CS3431 16

ER Model so far Structures

Entity Types Relationship Types

Binary, ternary, n-ary Recursive (roles)

Attributes For entity types and relationship types Simple, composite, multi-valued

Roles