database principles entities and relationships. database principles what is an entity? something of...

22
Database Principles Entities and Relationships

Upload: austen-ryan

Post on 17-Dec-2015

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Entities and Relationships

Page 2: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

What is an Entity?

• Something of interest, capable of independent existence• A “stand alone” thing or a concept• A type of thing such as Automobile and not “my car”.• Something with properties.

– EMPLOYEE is an entity with property SALARY– SALARY is not an entity because if I say SALARY

you say, “Whose?” In other words, a SALARY only makes sense if we are talking a some EMPLOYEE so it is not “capable of independent existence”.

• In sentences, entities show up often as nouns; unfortunately, so do properties.

• Check out Wikipedia and what it says about entities.

Page 3: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Exercise:

• Working in pairs come up with a list of (Entity,Property) pairs. Both people in the pair need to agree.

• Don’t throw the pairs away, you’ll need them later.

Entity Property ok? Reason

Amazon Seattle no Amazon is an entity instance; Seattle is a property value

Company Location yes

Elephant tusk no Tusk is a value of Body Part; an entity.

Book Publisher yes but both are entities

Student AdvisorName no AdvisorName is property of Advisor entity

Page 4: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

What are Properties:

• The fact that an entity has a property often represents a specific business rule.

• A business or organization is run by rules. It is a well-known secret among database designers that the process of designing a database is that of capturing, in an unambiguous way, the rules of a business or organization.

• The above is a business rule captured in the Entity-Relationship language by representing Salary as a property of the entity, EMPLOYEE.

Every employee earns exactly one salary

Page 5: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Exercise:

• Go back to your (Entity,Property) pairs and express the related business rules.

• What “business” is each pair a part of?

Page 6: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Exercise:

• A database designer is in a unique position to understand how a business is run. Discuss.

• How could a database designer beneficially use this power?

• How could a database designer detrimentally use this power?

Page 7: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

How do we picture an Entity?

EntityName

List of some of its properties

Page 8: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Was it always this way? No

• Chen’s early notation, called a “Bubble Diagram”.

EntityName

Property 1

Property 2

. . .

Page 9: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Exercise:

• Discuss the pros and cons of each approach to drawing an entity.

Page 10: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Notational Confusion:

• Chen called EMPLOYEE an entity type and Andrew Pletch an entity.

• Other people said, if there is no confusion let’s drop the “type” and call EMPLOYEE an entity and Andrew Pletch an entity instance (or just an instance).

• So Chen’s original approach should have been called the

• We will use the terms entity and (entity) instance.• In some sense, an entity represents the set of its

instances.• Entities are usually identified in the singular

Entity-Type Relationship-Type Approach

Page 11: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Just to make it clear:

• Exercise: Why call it EMPLOYEE and not EMPLOYEES?

EMPLOYEE

EmployeeIDFNameLNameDOBSalary

This is an ENTITY This is a group of entity instances

Page 12: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Exercise:

• Work in small groups.• In the following paragraph identify things you think are

entities and things you think are properties of entities. You can also consider things that are implicitly (not explicitly) referred to in the paragraph.

• Note that a property that is also an entity can have additional properties of its own.

The College at New Paltz is one of the campuses of the State University of New York. It is a liberal arts college with programs in arts, fine arts, business, science and engineering. Its faculty and students come from all over the state, the United States and the world.

Page 13: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

What’s in a Name?

• A rose, by any other name …• It turns out, in database at least, a name is not enough.

• Both these sets of instances can legitimately be called instances an entity called CAR but they are NOT instances of the same thing, are they?

CAR

What are this entity’s instances?

{ VW Passat,Honda Accord,Toyota Corolla,Ford Escort,. . . }

{ My car,My son’s car,My wife’s car,Your car, . . . }

Page 14: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Exercise:

• How can the following been seen as different types of Entities?– BOOK, PRODUCT, COURSE

• Give me an example of something else with multiple meanings.

• Keep these examples around for a couple of slides

Page 15: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Attributes:

• Some properties of entities are called attributes.• Among the attributes of an entity there are some that

identify the entity. These are called key attributes.• No two different instances of an entity have the same

values for their key attributes.

{ VW Passat,Honda Accord,Toyota Corolla,Ford Escort,. . . }

{ My car,My son’s car,My wife’s car,Your car, . . . }

CAR CARMakeModel

VINunderscorekey attributes

Page 16: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

The Key to Power; the Power of the Key

• Keys are also called unique identifiers.• What is an identifier? What is a unique identifier?• In the Earthsea Trilogy by Ursula Le Guin, a story about

a mage called Ged, people or things would be “under your control” if you knew their true name.

• In database you “control/know” an entity if you know its key attributes. If you don’t, you don’t!! (CAR??)

• This is the first hint that in Entity-Relationship we are going to insist that we know what we are talking about.

• It turns out that as a language, Entity-Relationship is well-defined.

• What does well-defined mean?

Page 17: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Exercise:

• Returning to our previous example:– What different keys are possible for BOOK,

PRODUCT and COURSE?

Page 18: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Keys vs Entities

• There is a one-to-one correspondence between the distinct values of a key attribute and the instances of the corresponding entity.

• Keys are surrogates for Entities – we can store key values where we can’t store entity instances.

• Exercise: Identify the keys for the following entities

BOOKCARMEDICAL PROCEDUREPROFESSORPROCESSAPARTMENTCOURSE

{ISBN},{Author,Title}{VIN},{License Number}{Name},{Procedure Number}{Name}, {SSN}{ProcessID}{BuildingName,ApartmentNum}{Crs#,Sec#},{Crs#,Sec#,Sem}

Page 19: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Context:

• Notice that things exist in a “context” and that unless the context is clear, assignment of keys is not easy.

For example, the context for identifying the key to Course to be the (Crs#,Sec#) pair is that we are only talking about a single semester and not multiple semesters. • If you broaden the context, then something needs to be

added to the key that helps distinguish between instances in different contexts.

Historically, the new key to Course would be (Crs#,Sec#,Sem).

Page 20: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

A Final Word (or Two) on Keys:

• Things with the same key value are the same thing!

• An Entity can have multiple, alternative keys. Give an example.

Page 21: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

A final word on attributes:

• Although it is not a hard-and-fast rule, in this course we will insist that attributes be single-valued. In other words, not records and not lists.

EMPLOYEE

EmployeeIDFNameLName

Address{ Street City, State, Zip}

List_of_Jobs

key attribute

good examples of attributes

bad examples of attributes

NOTE: Any attribute name thatis expressed in the plural is probably a list so badly designed.

Page 22: Database Principles Entities and Relationships. Database Principles What is an Entity? Something of interest, capable of independent existence A “stand

Database Principles

Exercise:

• Let’s revisit the exercise we worked on a while ago.

• Suppose these are our entities: Add some suitable attributes and underscore the key attributes.

The College at New Paltz is one of the campuses of the State University of New York. It is a liberal arts college with programs in arts, fine arts, business, science and engineering. Its faculty and students come from all over the state, the United States and the world.

CAMPUS PROGRAM FACULTY STUDENT

NameLocationCampusTypeNum_FacultyNum_Students

NameTelephoneNum_DeptsNum_FacultyNum_Students

SSNFNameLNameOffice_NumTelephone

StudentIDFNameLNameAddressTelephone