From ER Diagrams to the Relational Model Rose-Hulman Institute of - - PowerPoint PPT Presentation

from er diagrams to the relational model
SMART_READER_LITE
LIVE PREVIEW

From ER Diagrams to the Relational Model Rose-Hulman Institute of - - PowerPoint PPT Presentation

From ER Diagrams to the Relational Model Rose-Hulman Institute of Technology Curt Clifton Review Entity Sets and Attributes Entity set: collection of things in the DB Attribute: property of an entity calories name Soda


slide-1
SLIDE 1

From ER Diagrams to the Relational Model

Rose-Hulman Institute of Technology Curt Clifton

slide-2
SLIDE 2

Review – Entity Sets and Attributes

 Entity set: collection of “things” in the DB  Attribute: property of an entity

Soda name calories

slide-3
SLIDE 3

Kinds of Attributes

 Simple – single atomic value

 Soda name, calories

 Composite – several sub-attributes

 PersonName(First,Middle,Last)

 Multi-valued – set of values for one attribute

 Car color, Degrees earned  (Somewhat rare, makes some searches harder)

slide-4
SLIDE 4

Review – Keys

 Let us tell entities apart  The key for an entity set is a subset of the

attributes for that entity set, such that no two entities agree on all the attributes

Soda name calories

slide-5
SLIDE 5

Review – Relationships

 Associate 2 or more entity sets  Constraints

 Maximums shown with numbers

Read like: a subject-verb-number-object

 Participation shown with double line

Read like: a subject-has to-verb… Person Soda Most Likes

N 1

slide-6
SLIDE 6

ER Design Techniques

 Avoid redundancy and don’t duplicate data  Don’t use entity set when attribute will do  Limit use of weak entity sets

slide-7
SLIDE 7

N 1

Redundancy

 Wastes space  Leads to inconsistency  For example:

Soda name manf Manf name addr Made by

slide-8
SLIDE 8

Failed Attempt At Fix

Soda name manf Manf addr

 Delete Manf entity set  Add address to Soda

slide-9
SLIDE 9

Successful Fix

 Eliminate manf attribute from Soda  Use relationship to find manufacturer info.

N 1

Soda name Manf name addr Made by

slide-10
SLIDE 10

Don’t Use Unnecessary Entity Sets

 Entity set should…

 Have at least one non-key attribute OR  Be the “many” in a many-one or many-many

relationship

N 1

Soda name Manf name addr Made by

slide-11
SLIDE 11

Bad Entity Set

 Suppose we didn’t have manufacturer address

N 1

Soda name Manf name Made by

slide-12
SLIDE 12

Avoid Weak Entity Sets

 Don’t try to be too clever  Can usually just add a unique ID  Government has done this for their databases:

 Social Security Numbers  Vehicle Identification Numbers

 But…

 Don’t trust uniqueness of IDs assigned by others

slide-13
SLIDE 13

Why Use Weak Entity Sets At All?

 Federated Databases, for example…

 All students in Indiana receiving state aid  All players on FIFA soccer teams

 One query sent to multiple DB  Still want a Conceptual DB Schema  But no global authority to assign unique IDs

slide-14
SLIDE 14

The Relational Model

 Originated as theoretical idea

 “A Relational Model of Data for Large Shared

Data Banks”, E. F. Codd, Comm. of the ACM, 13(6), June 1970

 http://www.acm.org/classics/nov95/s1p3.html

 Revolutionized databases  Led to 1981 ACM Turing Award

 The “Nobel Prize of computing”

slide-15
SLIDE 15

Some Terms

 Relation Schema

 Relation

slide-16
SLIDE 16

Relations

 (Semi-) Formally

Tuple: an ordered list

n-tuple: an ordered list of length n

Relation: a set of n-tuples

 Informally:

Relation: a table with unique rows

Rows = tuples; Columns = attributes;

Values in column = domain

 Database: a collection of relations

slide-17
SLIDE 17

Some Other Terms

 Relation schema

 Describes a relation  RelationName (AttrName1, AttrName2,…)  Or RelationName (AttrName1:type, …)

 Database schema

 Set of all the relation schema for the DB’s

relations

slide-18
SLIDE 18

Why is the Relational Model Dominant?

 Very simple – just one data structure  Matches a “list the items” mentality  Easy to manipulate tables with UI  Forms basic foundation for SQL

 Relational model based on sets  SQL based on bags (a.k.a., multi-sets)

slide-19
SLIDE 19

From ER Diagrams to Relations

 Entity sets become relations

 Columns are attributes of entity set

 Relationships also become relations

 Columns are keys of participating entity sets

slide-20
SLIDE 20

Example: Basic Entity Sets

Soda name calories Customer name addr

slide-21
SLIDE 21

Example: Basic Relationship

Soda name calories Likes Most Likes Customer name addr Buddy With

1 Naming buddy Named buddy

since

slide-22
SLIDE 22

Simplifying!

 Can avoid relations for

many-one relationships

 Just add key of the one

to the relation of the many

Soda Most Likes Customer

1

name addr name calories

slide-23
SLIDE 23

Over Simplifying!

 What happens if we try to eliminate relation

for a many-many relationship?

 Consider treating Likes as we did Most Likes

 Redundancy  Data loss

slide-24
SLIDE 24

Weak Entity Sets

 Need enough columns to make rows unique!  So…

 All attributes of weak entity set  + Key from supporting relationship

Player Team Plays

  • n

name name number

1

city

slide-25
SLIDE 25

Entity Sets with Subclasses

 Use nulls, or  Use multiple relations

“ER Style”

 How should we choose

which to use?

Soda name calories Diet Soda sweetener

isa