Top Banner
M.P. Johnson, DBMS, Stern/NYU , Sp2004 1 C20.0046: Database Management Systems Lecture #2 Matthew P. Johnson Stern School of Business, NYU Spring, 2004
32

C20.0046: Database Management Systems Lecture #2

Jan 07, 2016

Download

Documents

triage

C20.0046: Database Management Systems Lecture #2. Matthew P. Johnson Stern School of Business, NYU Spring, 2004. Relational schema. Relational DB. E/R design. DB development path. the World. Admin: use stern.nyu.edu addresses. Agenda. Last time: intro, RDBMS, ACID test - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

1

C20.0046: Database Management SystemsLecture #2

Matthew P. Johnson

Stern School of Business, NYU

Spring, 2004

Page 2: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

2

DB development path

the

WorldE/R

design

Relational

schema

Relational

DB

Admin: use stern.nyu.edu addresses

Page 3: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

3

Agenda Last time: intro, RDBMS, ACID test This time: E/R model1. Identify entity sets, relations and attributes2. One-one, one-many, many-many relations3. Simple ER diagrams to model a situation4. 3-way relationships; Converting to binary5. Entities with multiple roles6. Subclasses Design issues1. Principles of faithfulness & simplicity in ER diagrams2. Redundancy3. Whether an element should be an attribute or entity set4. Replacing a relationships with entity sets

Page 4: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

4

Entity Relationship (E/R) Model A popular data model – useful to database

designers Graphical representation of miniworld Helps design the database, not implement it E/R design is translated to a relational design

relational design then implemented in an RDBMS Elements of model

Entities Entity Sets Attributes Relationships (!= relations!)

Page 5: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

5

Elements of E/R Model: Entity Sets Entity: like an object

e.g. President Bush Particular instance of a concept

Entity set: set of one sort of entities or a concept e.g. World leaders Generally, same set of attributes

Represented by a rectangle A “good” entity set – you decide

Common properties Correspond to class of phys. or bus. objects

(People, products, accounts, grades, etc.)

World Leader

Page 6: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

6

Elements of E/R Model: Attributes Properties of entities in entity set

Like fields in a struct Like columns in a table/spreadsheet Like data members in an object

Values in some domain (e.g., ints, strings) Represented by ovals: Assumed atomic

But could have limited structure Ints, strings, etc.

ID Name

Student

Page 7: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

7

Elements of E/R Model: Relationships Connect two or more entity sets

e.g. students enroll in courses Binary relationships: connect two entity sets –

most common Multiway relationships: connect several entity

sets Represented by diamonds

Students Enroll Courses

Page 8: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

8

Elms of E/R Model: Rel’ships (cont’d) Students Enroll in courses Courses are Held in rooms The E/R data model:

Students Enroll Courses

Held

Rooms

NameID

Page 9: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

9

A little set theory A mathematical set a collection of members A set is defined by its members

“Are you in or are you out?” No other structure, no order, no duplicates allowed

Sets specified by listing: {1, 2, 3, …} = N {1, 2, George Bush} (not useful in DBMS)

Or by “set-builder” notation: { x in N: 2 divides x} = ? { x in Presidents | reelected(x)} = ? {2x: x in N} = ?

Page 10: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

10

A little set theory One set can be a subset of another (which is a

superset) ReelectedPresidents is a subset of Presidents Also, RP is a proper subset of Pres – some lost reelection

Given two sets X and Y, the cross product or Cartesian product isX x Y = {(x,y): x in X, y in Y}= the set of all ordered pairs in which the first comes from X and the second comes from Y

Important: (x,y) != {x,y} In an order pair or tuple

Order matters Duplicates are allowed

Page 11: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

11

A little set theory Mathematically, a relation(ship) between X and Y is

just a subset of X x Y= all those pairs (x,y) s.t. x is related to y

Example: owner-of O on People, Cats O(MPJ, Izzy) holds

The equals relation E on N, N: E(3,3) holds because 3 = 3 E(3,4) does not hold E is still a set: E = {(1,1), (2,2), (3,3), …}

Father of relation F on People, People: F(GHWB, GWB) holds F(GWB, GHWB) does not hold Relations aren’t necessarily symmetric

Page 12: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

12

Many-many

Multiplicity of Relationships

Many-one One-one

Representation of relationships No arrow: many-to-many Sharp arrow: many-to-one Rounded arrow: “exactly one”

“key constraint” One-one:

Page 13: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

13

Multiplicity of Relationships

Students Enrolls Courses

Many-to-many:

Student Live Residence hall

Many to one: a student living in a residence hall

Many to exactly one: a student must live in a residence hall

Student Live Residence hall

Page 14: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

14

Multiplicity, set-theoretically Assume no vars below are equal Many-one means:

if (x1, y1) in R then (x2,y1) cannot be in R One-many means:

if (x1,y1) in R then (x1,y2) cannot be in R One-one means:

if (x1,y1) in R, then neither (x2,y1) nor (x1,y2) can be in R

Notice: one-one is stronger than many-one One-one implies both many-one and one-

many

Page 15: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

15

E/R Diagram

Students CoursesEnrolls

ID

Name

ID

Name

Assisting

TAID

Name

Page 16: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

16

E/R Diagrams Works if each TA is a TA of all students.

Connection student-TA is only through the course. But what if students were divided into sections, each

section with a separate TA? Then, a student in C20.0046 would be related to only one

of the TA's for C20.0046. Which one? 3-way relationship is helpful here.

Page 17: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

17

Multiway Relationships

Students

Courses

TAs

Enrolls

Students Courses TAsCarolC20.0046 DonaldRichard C20.0046 PaulAl C20.0046 Colin… … …

Enrolls entries:

NB: Enrolls determines TA:

(student, course) at most one TA

Page 18: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

18

Converting multiway relships to binary Some models (e.g. ODL) limit relationships to binary Multiway relationship – equivalent collection of binary,

many to one relationships Replace relationship with connecting entity set

Students

Courses

TAs

EnrollsStudent-of

Course-of

TA- ofNB: Enrolls has no attributes!

Page 19: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

19

Second multiway e.g.: renting movies Scenario: a Customer Rents a Movie from a

VideoStore on a certain date

Q: Which entity does date belong to? A: To the fact of the renting Relationships can have attributes

always (implicitly) many-one

Rental

VideoStore

Customer

Movie

date

Page 20: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

20

Second multiway e.g.: renting movies But they don’t have to Relationship attributes can be replaced with

(trivial) new entities

Rental

VideoStore

Customer

Movie

date

Date

Page 21: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

21

Where can we draw arrows?

(store, video, customer) date ? Date is a relship att, implicitly determinied

(store, video, date) customer ? (store, date, customer) video ? (video, date, customer) store ?

Second multiway e.g.: renting movies

Rental

VideoStore

Customer

Movie

date

Page 22: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

22

Arrow-drawing Q: Why does it matter? Round arrow benefit:

Obvious: One item takes less space than many Less obvious: easier to access one item x than set of

one item {x} In programming: an int v. a linked list with just one int

Regular arraw benefit: Mapping to a set of either one elm or none seems bad But not implemented this way Always one element, but that value may be NULL

Lesson: it pays to identify your relship’s multiplicity

Page 23: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

23

Second multiway e.g.: renting movies Convert to binary?

Rental

VideoStore

Customer

Movie

date

Rental

Customer

Store

Movie

StoreOf

MovieOf

BuyerOf

date

Page 24: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

24

Roles in relationships Entity set appears more than once in a relship

Generally distinct entities Each appearance is in a different role Edges labeled by roles

Pre-req

Prereq

Successor

Course

Course (Pre-req)

Course (Successor)

Accounting Finance-I

Finance-I Derivatives

Finance-I Finance-II

Calculus Derivatives

Page 25: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

25

Subclasses in the E/R model Some entities are special cases of other Conversely: some are generalizations

Humans are specialized mammals Grad students are specialized students

And, in turn, specialized mammals NB: These aren’t examples but subclasses

Subclass A isa B Represented by a triangle Always one-to-one, though arrows omitted Root is more general Multiple inheritance is allowed! A single entity may consist of all components (sets of

fields) in aribtrary ESs and their ancestors

Page 26: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

26

Subclasses

Movies

Cartoons Murder-Mysteries

isa isaVoices

Weapon

stars

length title year

Lion King

Component

“Lion King”: atts of Movies; relship Voices

“Roger Rabbit”: atts of Movies; relship Voices; att weapon

Roger Rabbit

TX Chainsaw Massacre

Page 27: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

27

E/R inheritance v. OO inheritance In a OOP class hierarchy, children also inherit

“attributes” from parents But an object is an instance of one class

In E/R, an entity may be composed of components from multiple, not-directly-related ESs Roger Rabbit is composed of components from Cartoons,

Murder Mysteries, and Movies We could create a Cartoon Murder Mysteries ES if there

were any atts specific to them So the real difference: In E/R, can have implicit

multiple inheritance between any set of IS-A-connected nodes (sharing a root)

Page 28: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

28

Design Principles Faithfulness Avoiding redundancy Simplicity Choice of relationships Picking elements

Page 29: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

29

Faithfulness Is the relationship many-many or many-one? Are the attributes appropriate? Are the relationships applicable to the

entities? Examples

Courses & instructors maybe many-one, maybe many-many

Bosses & subordinates maybe one-many, maybe many-many

Page 30: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

30

Simplicity Einstein: Theories as simple as possible, but not

simpler. Use as few elements as possible

Minimum required relations No unnecessary attributes (will you be using this

attribute?) Eliminate “spinning wheels”

Example: how can we simplify this?

Movies Ownings StudiosOwned-by Owns

Page 31: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

31

Avoiding redundancy Say everything exactly once

Minimize database storage requirements More important: prevent possible update errors

simplest but not only e.g.: modify data one place but not the other – more later

Example: Spot the redundancy

Studios MoviesOwn

StudioName

Name

Length

Name

Address

Page 32: C20.0046: Database Management Systems Lecture #2

M.P. Johnson, DBMS, Stern/NYU, Sp2004

32

Next time We’ll finish E/R models and begin the

relational model Read rest of chapter 2, 3.1, 3.2 Info on project likely posted over weekend