Top Banner
The Relational The Relational Model Model Chapter Two Chapter Two
40

The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

Dec 19, 2015

Download

Documents

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: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

The Relational The Relational ModelModel

Chapter TwoChapter Two

Page 2: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

2

Chapter ObjectivesChapter Objectives

Learn the conceptual foundation of the Learn the conceptual foundation of the relational modelrelational model

Understand how relations differ from Understand how relations differ from nonrelational tablesnonrelational tables

Learn basic relational terminologyLearn basic relational terminology Learn the meaning and importance of Learn the meaning and importance of

keys, foreign keys, and related keys, foreign keys, and related terminology terminology

Understand how foreign keys represent Understand how foreign keys represent relationshipsrelationships

Page 3: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

3

Chapter Objectives Chapter Objectives (continued)(continued)

Learn the purpose and use of surrogate Learn the purpose and use of surrogate keyskeys

Learn the meaning of functional Learn the meaning of functional dependenciesdependencies

Learn to apply a process for normalizing Learn to apply a process for normalizing relationsrelations

Page 4: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

4

EntityEntity

An An entityentity is something of importance is something of importance to a user that needs to be to a user that needs to be represented in a databaserepresented in a database

An entity represents one theme or An entity represents one theme or topictopic

In an entity-relationship model In an entity-relationship model (discussed in Chapter 4), entities are (discussed in Chapter 4), entities are restricted to things that can be restricted to things that can be represented by a single tablerepresented by a single table

Page 5: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

5

RelationRelation

A A relation relation is a two-dimensional table is a two-dimensional table that has specific characteristicsthat has specific characteristics

The table dimensions, like a matrix, The table dimensions, like a matrix, consist of rows and columnsconsist of rows and columns

Page 6: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

6

Characteristics of a Characteristics of a RelationRelation

Rows contain data about an entityRows contain data about an entity Columns contain data about attributes of Columns contain data about attributes of

the entitythe entity Cells of the table hold a single valueCells of the table hold a single value All entries in a column are of the same All entries in a column are of the same

kindkind Each column has a unique nameEach column has a unique name The order of the columns is unimportantThe order of the columns is unimportant The order of the rows is unimportantThe order of the rows is unimportant No two rows may be identicalNo two rows may be identical

Page 7: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

7

A Sample RelationA Sample Relation

EmployeeNumEmployeeNumberber

FirstNaFirstNameme

LastNamLastNamee

100100 MaryMary AbermanyAbermany

101101 JerryJerry CalderaCaldera

104104 AleaAlea CopleyCopley

107107 MuruganMurugan JacksoniJacksoni

Page 8: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

8

A Nonrelation ExampleA Nonrelation Example

EmployeeNumEmployeeNumberber

PhonePhone LastNamLastNamee

100100 335-335-6421,6421,

454-9744454-9744

AbermanyAbermany

101101 215-7789215-7789 CalderaCaldera

104104 610-9850610-9850 CopleyCopley

107107 299-9090299-9090 JacksoniJacksoni

Cells of the table hold multiple values

Page 9: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

9

EmployeeNumEmployeeNumberber

PhonePhone LastNamLastNamee

100100 335-6421335-6421 AbermanyAbermany

101101 215-7789215-7789 CalderaCaldera

104104 610-9850610-9850 CopleyCopley

100100 335-6421335-6421 AbermanyAbermany

107107 299-9090299-9090 JacksoniJacksoni

No two rows may be identical

A Nonrelation ExampleA Nonrelation Example

Page 10: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

10

A Sample RelationA Sample Relation

Page 11: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

11

A Nonrelation ExampleA Nonrelation Example

Page 12: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

12

A Nonrelation ExampleA Nonrelation Example

Page 13: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

13

A Sample RelationA Sample Relation

Page 14: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

14

TerminologyTerminology

TableTable RowRow ColumnColumn

File or File or DatafileDatafile

RecordRecord FieldField

RelationRelation TupleTuple AttributeAttribute

Synonyms…

Page 15: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

15

A KeyA Key

A A keykey is one (or more) columns is one (or more) columns of a relation that is (are) used to of a relation that is (are) used to identify a rowidentify a row

Page 16: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

16

Uniqueness of KeysUniqueness of Keys

Unique KeyUnique Key Nonunique KeyNonunique Key

Data value is Data value is unique for each unique for each row.row.

Consequently, the Consequently, the key will uniquely key will uniquely identify a row.identify a row.

Data value may be Data value may be shared among shared among several rows.several rows.

Consequently, the Consequently, the key will identify a key will identify a set of rows.set of rows.

Page 17: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

17

A Composite KeyA Composite Key

A A composite keycomposite key is a key that is a key that contains two or more attributescontains two or more attributes

For a key to be unique, often it For a key to be unique, often it must become a composite keymust become a composite key

Page 18: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

18

Composite Key ExampleComposite Key Example

To identify a family member, you To identify a family member, you need to know a FamilyID, a need to know a FamilyID, a FirstName, and a Suffix (e.g., Jr.) FirstName, and a Suffix (e.g., Jr.)

The composite key is:The composite key is:

(FamilyID, FirstName, Suffix)(FamilyID, FirstName, Suffix) One needs to know the value of all One needs to know the value of all

three columns to uniquely identify three columns to uniquely identify an individualan individual

Page 19: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

19

A Candidate KeyA Candidate Key

A A candidate keycandidate key is called is called “candidate” because it is a “candidate” because it is a candidate to become the primary candidate to become the primary keykey

A candidate key is a unique keyA candidate key is a unique key

Page 20: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

20

A Primary KeyA Primary Key

A primary key is a candidate key A primary key is a candidate key chosen to be the main key for the chosen to be the main key for the relationrelation

If you know the value of the If you know the value of the primary key, you will be able to primary key, you will be able to uniquely identify a single rowuniquely identify a single row

Page 21: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

21

Relationship NotationRelationship Notation

EMPLOYEE (EmployeeNumber, EMPLOYEE (EmployeeNumber, FirstName, LastName, FirstName, LastName, Department, Email, Phone)Department, Email, Phone)

DEPARTMENT (DeptName, DEPARTMENT (DeptName, BudgetCode, OfficeNumber)BudgetCode, OfficeNumber)

Page 22: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

22

Specifying Primary Specifying Primary KeysKeys

EMPLOYEE (EMPLOYEE (EmployeeNumberEmployeeNumber, , FirstName, LastName, FirstName, LastName, Department, Email, Phone)Department, Email, Phone)

DEPARTMENT (DEPARTMENT (DeptNameDeptName, , BudgetCode, OfficeNumber)BudgetCode, OfficeNumber)

Page 23: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

23

Relationships Between Relationships Between TablesTables

A table may be related to other A table may be related to other tablestables

For exampleFor example An Employee works in a DepartmentAn Employee works in a Department A Manager controls a ProjectA Manager controls a Project

Page 24: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

24

A Foreign KeyA Foreign Key

To preserve relationships, you may To preserve relationships, you may need to create a need to create a foreign keyforeign key

A foreign key is a primary key from A foreign key is a primary key from one table placed into another tableone table placed into another table

The key is called a foreign key in the The key is called a foreign key in the table that received the keytable that received the key

Page 25: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

25

Foreign Key ExampleForeign Key Example

PROJECTPROJECT

ProjIDProjID

ProjNameProjName

MgrIDMgrID

MANAGEMANAGERR

MgrIDMgrID

MgrNameMgrName

Foreign Key

Primary Key

PROJECT (ProjID, ProjName, MgrID)MANAGER (MgrID, MgrName)

Page 26: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

26

DEPARTMEDEPARTMENTNT

DeptIDDeptID

DeptNameDeptName

LocationLocation

EMPLOYEEEMPLOYEE

EmpIDEmpID

DeptIDDeptID

EmpNameEmpNameForeign Key

Primary Key

Foreign Key ExampleForeign Key Example

DEPARTMENT (DeptID, DeptName, Location)

EMPLOYEE (EmpID, DeptID, EmpName)

Page 27: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

27

Referential IntegrityReferential Integrity

Referential integrity states that every Referential integrity states that every value of a foreign key must match a value of a foreign key must match a value of an existing primary keyvalue of an existing primary key

For example (see previous slide)For example (see previous slide) If EmpID = 4 in EMPLOYEE has a DeptID If EmpID = 4 in EMPLOYEE has a DeptID

= 7 (a foreign key), a Department with = 7 (a foreign key), a Department with DeptID = 7 must exist in DEPARTMENTDeptID = 7 must exist in DEPARTMENT

The primary key value must exist before The primary key value must exist before the foreign key value is enteredthe foreign key value is entered

Page 28: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

28

Referential IntegrityReferential Integrity

EQUIPMENT (SerialNumber, Type, AcquisitionCost)

Page 29: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

29

EQUIPMENT (SerialNumber, Type, AcquisitionCost, EmployeeNumber)

Suppose Equipment can be assigned to Employees. Primary key of EMPLOYEE is EmployeeNumber.

Constraint: EmployeeNumber in EQUIPMENT must exist in EmployeeNumber in EMPLOYEE

Page 30: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

30

A Surrogate KeyA Surrogate Key

A A Surrogate KeySurrogate Key is a unique, is a unique, numeric value that is added to a numeric value that is added to a relation to serve as the Primary Keyrelation to serve as the Primary Key

Surrogate Key values have no Surrogate Key values have no meaning to users and are usually meaning to users and are usually hidden on forms, queries and reportshidden on forms, queries and reports

A Surrogate Key is often used in A Surrogate Key is often used in place of a composite primary keyplace of a composite primary key

Page 31: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

31

Surrogate Key Surrogate Key ExampleExample

If the Family Member Primary Key is If the Family Member Primary Key is FamilyID, FirstName, Suffix, it would be FamilyID, FirstName, Suffix, it would be easier to append and use a surrogate key of easier to append and use a surrogate key of FamMemberIDFamMemberID

FamilyID, FirstName and Suffix remain in the FamilyID, FirstName and Suffix remain in the relationrelation

Referential Integrity:Referential Integrity:Use…Use… (FamMemberID) in School must exist in(FamMemberID) in School must exist in

(FamMemberID) in FamilyMember(FamMemberID) in FamilyMemberInstead of: Instead of:

(FamilyID, FirstName, Suffix) in School must exist in (FamilyID, FirstName, Suffix) in School must exist in

(FamilyID, FirstName, Suffix) in FamilyMember (FamilyID, FirstName, Suffix) in FamilyMember

Page 32: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

32

Surrogate Key Surrogate Key ExampleExample

Landscaping company – has tables:Landscaping company – has tables:

PROPERTY (PROPERTY (StreetStreet, , CityCity, , StateState, , ZipZip))

PLANT (PLANT (ItemNumberItemNumber, VarietyName, , VarietyName, Price)Price)

SERVICE (SERVICE (InvoiceNumberInvoiceNumber, Date, , Date, TotalHours)TotalHours)

Page 33: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

33

Page 34: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

34

Page 35: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

35

The RelationshipsThe Relationships

• A plant is sold for a particular A plant is sold for a particular property.property.

• A service is rendered for a A service is rendered for a particular property.particular property.

PROPERTY (PROPERTY (StreetStreet, , CityCity, , StateState, , ZipZip))

PLANT (PLANT (ItemNumberItemNumber, VarietyName, , VarietyName, Price, Price, StreetStreet, , CityCity, , StateState, , ZipZip))

SERVICE (SERVICE (InvoiceNumberInvoiceNumber, Date, , Date, TotalHours, TotalHours, Street Street , , CityCity, , StateState, , ZipZip))

Page 36: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

36

The ConstraintsThe Constraints

(Street, City, State, Zip) in PLANT (Street, City, State, Zip) in PLANT

must exist in (Street, City, State, must exist in (Street, City, State, Zip) in PROPERTYZip) in PROPERTY

(Street, City, State, Zip) in (Street, City, State, Zip) in SERVICE SERVICE

must exist in (Street, City, State, must exist in (Street, City, State, Zip) in PROPERTYZip) in PROPERTY

Page 37: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

37

Fixing the MessFixing the Mess

That’s a lot of duplication in each table.That’s a lot of duplication in each table.

Let’s add surrogate keys to the tables.Let’s add surrogate keys to the tables.

PROPERTY (PROPERTY (PropertyIDPropertyID, Street, City, , Street, City, State, Zip)State, Zip)

PLANT (PLANT (ItemNumberItemNumber, VarietyName, , VarietyName, Price, Price, PropertyIDPropertyID))

SERVICE (SERVICE (InvoiceNumberInvoiceNumber, Date, , Date, TotalHours, TotalHours, PropertyIDPropertyID))

Page 38: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

38

The New ConstraintsThe New Constraints

PropertyID in PLANT must exist in PropertyID in PLANT must exist in PropertyID in PROPERTYPropertyID in PROPERTY

PropertyID in SERVICE must exist PropertyID in SERVICE must exist in PropertyID in PROPERTYin PropertyID in PROPERTY

Page 39: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

39

Page 40: The Relational Model Chapter Two. 2 Chapter Objectives Learn the conceptual foundation of the relational model Learn the conceptual foundation of the.

40