+ All Categories
Home > Documents > 2 The Relational Model and Normalization

2 The Relational Model and Normalization

Date post: 25-Jan-2022
Category:
Upload: others
View: 12 times
Download: 0 times
Share this document with a friend
14
1 IT468 DB @ ITAM 1 §2 – The Relational Model and Normalization Fen Wang [email protected] Lecture 4 IT468 DB @ ITAM 2 Chapter Objectives The foundation of the relational model Characteristics of relations The basic relational terminology Primary, candidate, and composite keys The purpose and use of surrogate keys How foreign keys represent relationships The meaning of functional dependencies Possible insertion, deletion, and update anomalies Apply a process for normalizing relations
Transcript
Page 1: 2 The Relational Model and Normalization

1

IT468 DB @ ITAM 1

§2 – The Relational Model and

Normalization

Fen Wang

[email protected]

Lecture 4

IT468 DB @ ITAM 2

Chapter Objectives

• The foundation of the relational model

• Characteristics of relations

• The basic relational terminology

• Primary, candidate, and composite keys

• The purpose and use of surrogate keys

• How foreign keys represent relationships

• The meaning of functional dependencies

• Possible insertion, deletion, and update anomalies

• Apply a process for normalizing relations

Page 2: 2 The Relational Model and Normalization

2

IT468 DB @ ITAM 3

The Relational Database Model

• The dominant database model is the relational database model – all current major DBMS products are based on it

• Created by IBM engineer E. F. Codd in 1970

• It was based on mathematics called relational algebra

• Now the standard model for commercial DBMS products

IT468 DB @ ITAM 4

Important Relational Model Terms

• Entity • Relation • Functional Dependency • Determinant • Candidate Key • Composite Key • Primary Key • Surrogate Key • Foreign Key • Referential integrity constraint • Normal Form • Multivalued Dependency

Page 3: 2 The Relational Model and Normalization

3

IT468 DB @ ITAM 5

Entity

• An entity is something of importance to a user that needs to be represented in a database:

– Customers

– Computers

– Sales

• An entity represents one theme or topic

IT468 DB @ ITAM 6

Relation

• Relational DBMS products store data about entities in relations, a special type of table

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

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

Page 4: 2 The Relational Model and Normalization

4

IT468 DB @ ITAM 7

Characteristics of a Relation

Smart tip: if a table qualifies to be a relation, it must satisfy all of the

above characteristics!

IT468 DB @ ITAM 8

A Sample Relation

Page 5: 2 The Relational Model and Normalization

5

IT468 DB @ ITAM 9

A Relation with Values of Varying Length

IT468 DB @ ITAM 10

Tables That Are Not Relations

Cells of the table hold multiple values

Page 6: 2 The Relational Model and Normalization

6

IT468 DB @ ITAM 11

Tables That Are Not Relations

Cells of the table require a particular row order/arrangement

IT468 DB @ ITAM 12

Tables That Are Not Relations

EmployeeNumber Phone LastName

100 335-6421 Abernathy

101 215-7789 Cadley

104 610-9850 Copley

100 335-6421 Abernathy

107 299-9090 Jackson

No two rows may be identical

Page 7: 2 The Relational Model and Normalization

7

13

Alternative Terminology

• Although not all tables are relations, the terms table and relation are often used interchangeably

• The following sets of terms are equivalent:

Line format to indicate a table structure

• In addition to using graphic format to display or show a table structure, you could also utilize a line format (a.k.a. textual format) to indicate a table structure:

RELATION_NAME (Column01, Column02, … LastColumn)

IT468 DB @ ITAM 14

Page 8: 2 The Relational Model and Normalization

8

IT468 DB @ ITAM 15

Keys

• A key is a combination of one or more columns that is used to identify rows in a relation

• A composite key is a key that consists of two or more columns

16

Uniqueness of Keys

Unique Key Nonunique Key

Data value is unique for each row.

Consequently, the key will uniquely identify a row.

Data value may be shared among several rows.

Consequently, the key will identify a set of rows.

Page 9: 2 The Relational Model and Normalization

9

Uniqueness of Keys (cont.)

• See below for a sample table using the line format:

TEXTBOOK (Author, Title, ISBN, Publisher, Copyright)

– Analyze each column in the table

• Is it a unique or non-unique key?

IT468 DB @ ITAM 17

Sample answers:

Possible unique keys: ISBN

Possible non-unique keys: Author,

Title, Publisher, Copyright

IT468 DB @ ITAM 18

A Candidate Key

• A candidate key are keys that uniquely identify each row in a relation

• A candidate key is a unique key

Page 10: 2 The Relational Model and Normalization

10

19

Primary Keys

• A primary key is a candidate key selected as the primary means of identifying rows in a relation:

– There is one and only one primary key per relation

– The primary key may be a composite key

– The ideal primary key is short, numeric and never changes

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

20

Primary Keys Example

IT468 DB @ ITAM

Page 11: 2 The Relational Model and Normalization

11

IT468 DB @ ITAM 21

Composite Primary Key Example

• To identify a grade, you need to know a StudentID, CourseID, and Session (e.g., Fall 2009)

• The composite key is:

(StudentID, CourseID, Session)

• One needs to know the value of all three columns to uniquely identify a grade

IT468 DB @ ITAM 22

A Surrogate Key

• A surrogate key is a unique, numeric value that is added to a relation to serve as the primary key

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

• A surrogate key is often used in place of a composite primary key

Page 12: 2 The Relational Model and Normalization

12

IT468 DB @ ITAM 23

Surrogate Key Example

NOTE: The primary key of the relation is underlined below:

• RENTAL_PROPERTY without surrogate key:

RENTAL_PROPERTY (Street, City, State/Province, Zip/PostalCode, Country, Rental_Rate)

• RENTAL_PROPERTY with surrogate key: RENTAL_PROPERTY (PropertyID, Street, City,

State/Province, Zip/PostalCode, Country, Rental_Rate)

IT468 DB @ ITAM 24

Defining the Primary Key in Microsoft Access

Page 13: 2 The Relational Model and Normalization

13

IT468 DB @ ITAM 25

Defining the Primary Key in Microsoft SQL Server

IT468 DB @ ITAM 26

Defining the Primary Key in MySQL

Check the PK

checkbox to

indicate the

Primary Key

Page 14: 2 The Relational Model and Normalization

14

IT468 DB @ ITAM 27

Defining the Primary Key in Oracle

Make drop-down

box selection to

indicate the

Primary Key

IT468 DB @ ITAM 28

Before next class

• Practice more with MS Access 2010 and MS Visio Professional

• Keep working on Project D1

• Start working on Assignment#2 (due 10PM on Friday)

• Read Textbook Chapter 1 – The Access WorkBench Section 1


Recommended