69
Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Embed Size (px)

Citation preview

Page 1: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Concepts of Database ManagementSeventh Edition

Chapter 5

Database Design 1: Normalization

Page 2: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Objectives

• Discuss functional dependence and primary keys

• Define first normal form, second normal form, and fourth normal form

• Describe the problems associated with tables (relations) that are not in first normal form, second normal form, or third normal form, along with the mechanism for converting to all three

• Understand how normalization is used in the database design process

2

Page 3: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Introduction

• Normalization process– Identifying potential problems, called update

anomalies, in the design of a relational database– Methods for correcting these problems

• Normal form: table has desirable properties– First normal form (1NF)– Second normal form (2NF)– Third normal form (3NF)

3

Page 4: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Introduction (continued)

• Normalization – Table in first normal form better than table not in first

normal form– Table in second normal form better than table in first

normal form, and so on– Goal: new collection of tables that is free of update

anomalies

4

Page 5: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Functional Dependence

5

BAA certain field say Column B is functionally dependent

on another field say Column A if Column B’s value depend

on the value of Column A. And also that Column A’s value is associated only with a exactly one value of Column B.

And so if Column B depends on Column A then it also means that Column A functionally determines Column B.

Page 6: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Functional Dependence (continued)

FIGURE 5-2: Rep table with additional column, PayClass

6

Let’s assume that in Premiere Products all Sales Rep in any givenPay class earn the Commission Rate.

So, which means

And his/her Commission Rate

a Sale’s Rep Pay Class his/her Commission Ratedetermines

therefore depends on his/her Pay Class

PayClass Rate

Page 7: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Functional Dependence (continued)

7

Let’s make it a local example here. Suppose we have a Courses table below:

That is, Course Code determines his/her Course Description

And Course Description depends on Course Code

Course Code Course Description

IS230 Database Design

CA100 Computer Literacy

BU101 Intro to Business

Course Code Course Description

Page 8: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Functional Dependence (continued)

8

Given an Employee table for which one field determines which field and which field depends which field?

SSS Number

Firstname Lastname Position

123456 Butler Joshua Programmer

987654 Cruz John Accountant

775577 Miller Mary Secretary

888444 Jones River Manager

Page 9: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Let us examine Rep table on Premier Database

FIGURE 5-4: Rep table with second rep named Kaiser added

FIGURE 5-3: Rep table

9

Page 10: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Question?

Is Street functionally depend on Firstname or Lastname?

10

Page 11: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Question?

Is CustomerName Functionally Dependent on RepNum?

FIGURE 5-3: Rep table

11

Page 12: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Question?

So, on which columns does QuotedPrice is functionally dependent?

12

Is QuotedPrice Functionally Dependent on PartNum?

Is QuotedPrice Functionally Dependent on OrderNum?

Page 13: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Non-Graded Exercise

13

Identify which field(s) is functionally dependent on which field(s)And then which field(s) functionally determines which field(s).

StudID

StudeLast StudFirst HighSchoolNum

HighSchoolName

AdvisorNum

AdvisorName

1 Cruz John 101 CCA 990 Smith

2 Moore Anna 102 SDA 991 Song

3 Friend Fe 101 CCA 991 Song

4 Zap Mario 103 MNHS 990 Smith

5 Bass Gerard 103 MNHS 992 George

Page 14: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Primary Key and Functional Depedence

14

• Remember the primary key concept that we learn on Chapter 4?

• Primary key uniquely identifies a record or row.• The key in determining if column is functionally

dependent to another column is to ask the question, is a certain column functionally dependent to the Primary Key.

Page 15: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Primary Key and Functional Depedence

15

What is the Primary Key of Part table?

Is Warehouse functionally dependent on Class?

Is the Combination of Partnum and Descriptin is the Primary Key?

Page 16: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Primary Key and Functional Depedence

16

Is CustomerNum the Primary Key for Customer table?

Does CustomerNum determines the values of the other fields?

Page 17: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Question?

Is OrderNum the Primary Key of OrderLine table?

FIGURE 5-3: Rep table

17

What is the Primary Key of OrderLine Table?

Page 18: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Nothing but the Key

18

• The key thought in normalization is the primary key.

• To Quote E.F. Codd the father of relational database systems.– “[Every] non-key [attribute] must provide a fact

about the key, the whole key, and nothing but the key.”

• Take this into mind as we go on three basic normal forms in Database Design.

Page 19: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Three Normal Forms Mnemonics

• In order to easily remember the three normal forms just remember the word RePeaT ignoring the vowels (which are in small letters) which are:

19

R – 1ST Normal Form - No Repeating groups or multi-valued fields

T – 3rd Normal Form - No Transitional Dependence

P – 2nd Normal Form - No Partial Dependence

Page 20: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

First Normal Form

• There should be no repeating group or multi-valued columns in order for a Table to be in first normal form.– Repeating group: multiple entries for a single

record– Unnormalized relation: contains a repeating group

20

Page 21: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

First Normal Form (continued)

Orders (OrderNum, OrderDate, (PartNum, NumOrdered) )

FIGURE 5-5: Sample unnormalized table

21

Multi-valued Columns

Multi-valued Columns

Page 22: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

First Normal Form (continued)

Orders (OrderNum, OrderDate, PartNum, NumOrdered)

FIGURE 5-6: Result of normalization (conversion to first normal form)

22

Converted to

First Normal Form

No more Multi-valuedfields

Page 23: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

23

StudentID Lastname Firstname Program CoursesTaken

457411 Red Ray CIS IS230, IS220

256742 Zen Anna Education EN210, EN215, EN110

444771 Call Sabrina Business BU250, BU260

Below is a Table students and the course they are taking here at COM:

First Normal Form (continued)

Multi-Valued Column

Violates 1NF

Students

Page 24: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

24

StudentID Lastname Firstname Program CoursesTaken

457411 Red Ray CIS IS230, IS220

256742 Zen Anna Education EN210, EN215, EN110

444771 Call Sabrina Business BU250, BU260

To convert to First Normal Form (1NF) is to remove the multi-value column

First Normal Form (continued)

Remove Multi-ValueColumn

XStudents

Page 25: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

25

StudentID Lastname Firstname Program

457411 Red Ray CIS

256742 Zen Anna Education

444771 Call Sabrina Business

And create a new Table let’s say named CoursesTaken and relate the two.

First Normal Form (continued)

Students

CourseID StudentID CourseCode

101 457411 IS230

102 457411 IS220

103 256742 ED210

104 256742 ED215

105 256742 EN110

106 444771 BU250

107 444771 BU260

CoursesTaken

Page 26: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

26

StudentID Lastname Firstname Program CourseCode

222333 Khan Bert CIS IS230

222333 Khan Bert CIS IS220

222333 Khan Bert CIS MS100

Below is a Table students and the course they are taking here at COM:

First Normal Form (continued)

Repeating Groups violates 1NF

CoursesTaken

Page 27: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

27

To convert to First Normal Form (1NF) is to remove the multi-value column

First Normal Form (continued)

Remove Repeating Groups

CoursesTakenStudentID Lastname Firstname Program CourseCode

222333 Khan Bert CIS IS230

222333 Khan Bert CIS IS220

222333 Khan Bert CIS MS100X

Page 28: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

28

StudentID Lastname Firstname Program

222333 Khan Bert CIS

And create a new Table let’s say named Students and relate the two.

First Normal Form (continued)

Students

CourseID StudentID CourseCode

101 222333 IS230

102 222333 IS220

103 222333 ED210

CoursesTaken

Page 29: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Non-Graded Exercise

29

EmployeeID Lastname Firstname Gender Computer Skills

1 James George M Encoding, MS Office, Photoshop

2 Miles May F Encoding, Programming, Database Design

3 Gates Alan M Programming, MS Office

Convert to 1NF the Table below which records the employee and his/her computer skills.

Employees

Page 30: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Non-Graded Exercise

30

StudentID Lastname Firstname SchoolClub

88855 Combe Aber Math Club

88855 Combe Aber Computer Club

77744 Vibrant Vive Social Club

Convert to 1NF the Table below which records the students and the school club that he/she joins in.

Students

Page 31: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Second Normal Form (continued)

• Table (relation) in second normal form (2NF)– Table is in first normal form– No nonkey column (not a primary key) column

should be partially dependent of a composite primary key.

• Partial dependencies: only on a portion of the primary key

31

Page 32: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Second Normal Form

32

Description is partially dependent on PartNum but not on both OrderNum and PartNum which are the composite Primary Key.

Primary Key : OrderNum and PartNum

OrderDate is partially dependent on OrderNum but not on both OrderNum and PartNum which is the composite Primary Key.

Page 33: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Converting to Second Normal Form

33

OrderNum OrderDateXBecause the Primary Key is OrderNum and Partnum

Page 34: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Converting to Second Normal Form

34

X

Remove partially dependent field OrderDate

And make a new table out of it let’s say in this case Orders table

Page 35: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Converting to Second Normal Form

35

PartNum DescriptionXBecause the Primary Key is OrderNum and Partnum

Page 36: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Converting to Second Normal Form

36

X

Remove partially dependent field Description

And make a new table out of it let’s say in this case Part table

Page 37: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Converting to Second Normal Form

37

XX

The Original table becomes a new table which is Normalized. And let’s say we name it OderLine table.

Page 38: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Second Normal Form (continued)

FIGURE 5-9: Conversion to second normal form38

Page 39: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

39

StudentID Lastname Firstname Program CoursesCode CourseDescription

457411 Red Ray CIS IS230 Database Design

457411 Red Ray CIS CA105 Data Analysis

444771 Call Sabrina Business BU101 Intro to Business

Below is a Table of the courses taken by students

Second Normal Form (continued)

CourseDescription isdependent on CourseCodebut not on CourseCode andStudentID

CourseTaken

Lastname, Firstname, Program aredependent on StudentIDbut not on CourseCode andStudentID

Page 40: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

40

StudentID Lastname Firstname Program CoursesCode CourseDescription

457411 Red Ray CIS IS230 Database Design

457411 Red Ray CIS CA105 Data Analysis

444771 Call Sabrina Business BU101 Intro to Business

To convert to 2NF remove partially dependent fields and make it as another table.

Second Normal Form (continued)

CourseTaken

Remove PartiallyDependent Field

X

Remove PartiallyDependent Fields

X

Page 41: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

41

StudentID Lastname Firstname Program

457411 Red Ray CIS

444771 Call Sabrina Business

Converting into a new Table those who are partially dependent

Second Normal Form (continued)

StudentsCoursesCode CourseDescription

IS230 Database Design

CA105 Data Analysis

BU101 Intro to Business

Courses

StudentID CoursesCode

457411 IS230

457411 CA105

444771 BU101

CoursesTaken

Page 42: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Non-Graded Exercise

42

CustomerID StoreID StoreLocation

1 1 Manila

2 2 Pohnpei

2 1 Manila

3 4 Hilo

4 3 LA

5 4 Hilo

Convert to 2NF the Table below which Customer’s purchase from which store location.

CustomersPurchase

Page 43: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Third Normal Form (continued)

• Table (relation) in third normal form (3NF)– It is in second normal form– There should no non-primary key that is transitional

dependent to a primary key.

43

Page 44: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Third Normal Form (continued)

FIGURE 5-10: Sample Customer table

44

Page 45: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Third Normal Form

• Customer (CustomerNum, CustomerName, Balance, CreditLimit, RepNum, LastName, FirstName)

• Functional dependencies:– CustomerNum → CustomerName, Balance,

CreditLimit, RepNum, LastName, FirstName– RepNum → LastName, FirstName

45

Page 46: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Third Normal Form (continued)

• Correction procedure– Remove each column that is transitionally

dependent.– Create a new table, transferring the removed

columns to the newly created table.– Make a primary key of the new table– And use the primary key as the foreign key from the

table where the columns were removed earlier.

46

Page 47: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Third Normal Form (continued)

47

FIGURE 5-12: Conversion to third normal form

Page 48: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Third Normal Form (continued)

FIGURE 5-12: Conversion to third normal form (continued)

48

Page 49: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Incorrect Decompositions

• Decomposition must be done using method described for 3NF

• Incorrect decompositions can lead to tables with the same problems as original table

49

Page 50: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Incorrect Decompositions (continued)

FIGURE 5-13: Incorrect decomposition of the Customer table

50

Page 51: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Incorrect Decompositions (continued)

FIGURE 5-13: Incorrect decomposition of the Customer table (continued)

51

Page 52: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Incorrect Decompositions (continued)

FIGURE 5-14: Second incorrect decomposition of the Customer table

52

Page 53: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Incorrect Decompositions (continued)

FIGURE 5-14: Second incorrect decomposition of the Customer table (continued)

53

Page 54: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

54

StudentID Lastname Firstname ProgramCode

ProgramName

12345 Green Arnel CIS Computer Information Systems

23456 Azure Zenaida GenEd General Education

34567 Brown Country LA Liberal Arts

Below is a Table students the program he/she belongs here at COM

Third Normal Form (continued)

ProgramName isDependent on ProgramCodenot StudentID which isthe PK

Students

Page 55: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

55

To convert to Third Normal Form (3NF) is to remove the Transitory Dependent column:

Third Normal Form (continued)

Remove TransitoryDependent Column

StudentsStudentID Lastname Firstname ProgramC

odeProgramName

12345 Green Arnel CIS Computer Information Systems

23456 Azure Zenaida GenEd General Education

34567 Brown Country LA Liberal Arts

X

Page 56: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

56

And create a new Table out of it let’s say we name it Programs and relate the two.

Third Normal Form (continued)

Students

ProgramCode ProgramName

CIS Computer Information Systems

GenEd General Education

LA Liberal Arts

Programs

StudentID Lastname Firstname ProgramCode

12345 Green Arnel CIS

23456 Azure Zenaida GenEd

34567 Brown Country LA

Page 57: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

57

Or we could create a new Primary Key for Programs and do like this:

Third Normal Form (continued)

Students

ProgramID ProgramCode ProgramName

1 CIS Computer Information Systems

2 GenEd General Education

3 LA Liberal Arts

Programs

StudentID Lastname Firstname ProgramID

12345 Green Arnel 1

23456 Azure Zenaida 2

34567 Brown Country 3

Page 58: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Non-Graded Exercise

58

Convert to 3NF the Table (i.e. Employees) below which records the Employee’s info including his/her department.

Employees

EmployeeID

Lastname Firstname DepartmentCode DepartmentName

1001 Mills Karen SAL01 Sales North

1002 Courtney Francis SAL02 Sales South

1003 Smith Phillip ENG01 Engineering Design

1005 Xavier Duran ENG02 Engineering Construction

1004 Morrison John SAL02 Sales South

Page 59: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

More Practice Exercises

59

Page 60: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Non-Graded Exercise

60

StudentID Lastname Firstname BooksBorrowed

1001 Mills Karen College Algebra, Cooking in Micronesia, Data Analysis

1002 Courtney Francis Statistics, Chronicles of Narnia

1003 Smith Phillip Hermeneutics, Bible Mysteries solved

How should we normalized the above table?

Let’s say we want to store into a table, Students who are borrowing books from the Library

What Normal Form did it violate?

Page 61: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Non-Graded Exercise

61

StudentID DateBorrowed

ReturnDate BookNumber BookTitle

22222 09/16/13 09/23/13 BKN13981 War and Peace

23232 09/18/13 09/20/13 XYZ39825 Algorithm

24242 09/12/13 09/19/13 ABC36987 Peace with GOD

22222 09/16/13 09/23/13 JIP879874 Incredible Journey

How should we normalized the above table?

Let’s say we want to record the books that Students borrow. And let’s assume

that there is already a Table named Students that contains basic information for

Students like first name, last name, student ID etc.

What Normal Form did it violate?

Page 62: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Non-Graded Exercise

62

How should we normalized the above table?

Let’s say we want to record the Courses that Faculties taught this semester on a

Table like one below and CourseAssignID is the Primary Key.

What Normal Form did it violate?

CourseAssignID

FacultyNum Lastname Firstname CourseCode Section

1 2010-12 Ullman Kathy IS230 1

2 1998-25 Gent Kris EN110 5

3 2013-01 Chiu Ching CA100 1

4 2008-78 Moore Alexis CA100 2

Page 63: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Graded Case Study – Alexamara

63

Problem 1 : Normalize the table below which is about owners and the boat(s) they

owned

OwnerNum LastName FirstName BoatName Weight Marina

AD57 Adney Bruce and Jean AdBruce X 1,000 lbs East

Zinger 1,500 lbs East

AN75 Anderson Bill Yellow Beast 2,000 lbs West

BL72 Blake Mary Kumodo 1,200 lbs East

Kryptonite 1,000 lbs West

EL25 Elend Sandy and Bill Shark Fin 1,300 lbs East

Two Cute 900 lbs East

Ride North 1,400 lbs West

Page 64: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Graded Case Study - Alexamara

64

Problem 2 : Normalize the table below regarding the Boats in Marina Slip and its

corresponding owners.

SlipID MarinaNum SlipNum Length RentalFee BoatName BoatType OwnerNum OwnerLastName OwnerFirstName

1 1 A1 40 $3,800.00 Anderson II Sprite 4000 AN75 Anderson Bill

2 1 A2 40 $3,800.00 Our Toy Ray 4025 EL25 Elend Sand and Bill

3 1 A3 40 $3,600.00 Escape Sprite 4000 KE22 Kelly Allysa

4 1 B1 30 $2,400.00 Gypsy Dolphin 28 JU92 Juarez Maria

5 1 B2 30 $2,600.00 Anderson III Sprite 3000 AN75 Anderson Bill

6 2 1 25 $1,800.00 Bravo Dolphin 25 AD57 Adney Bruce and Jean

7 2 2 25 $1,800.00 Chinook Dolphin 22 FE82 Feenstra Daniel

8 2 3 25 $2,000.00 Listy Dolphin 25 SM72 Smeltz Beck and Dave

9 2 4 30 $2,500.00 Mermaid Dolphin 28 BL72 Blake Mary

10 2 5 40 $4,200.00 Axxon II Dolphin 40 NO27 Norton Peter

11 2 6 40 $4,200.00 Karvel Ray 4025 TR72 Trent Ashton

Page 65: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Graded Case Study – Henry Books

65

Problem 1 : Normalize the table below regarding Publishers and the Books they

published.

PublisherCode PublisherName City BookTitle YearPublished

AH Arkham House Sauk City WI Dream House 1999

Partial Recall 2011

AP Arcade Publishing New York Games Played 1982

BA Basic Books Boulder CO Dance Fundamentals 1980

Booking the Flight 1993

BP Berkley Publishing Boston Bastketball glory 2001

VB Vintage Books New York Archive Reload 1998

Rusty Road 2002

WN W.W. Norton New York War and Breeze 2006

WP Westview Press Boulder CO General Goodwill 1978

Page 66: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Graded Case Study – Henry Books

66

Problem 2 : Normalize the table below regarding Books and their corresponding

author.

BookCode Title AuthorCode AuthorFirstname AuthorLastname

0180 A Deepness in the Sky 1001 George Graham

0189 Magic Terror 1002 Earl Johnson

0200 The Stranger 1001 George Graham

0378 Venice 1003 Vitali Pablo

079X Second Wind 1004 Strong Mary

0808 The Edge 1002 Earl Johnson

Page 67: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Summary

• Column (attribute) B is functionally dependent on another column A (or collection of columns) when each value for A in the database is associated with exactly one value of B

• Column(s) A is the primary key if all other columns are functionally dependent on A and no sub-collection of columns in A also have this property

67

Page 68: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Summary (continued)

• Table (relation) in first normal form (1NF) does not contain repeating groups

• Nonkey column (or nonkey attribute) is not a part of the primary key

• Table (relation) is in the second normal form (2NF) when it is in 1NF and no nonkey column is dependent on only a portion of the primary key

• Determinant is a column that functionally determines another column

68

Page 69: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization

Summary (continued)

• Table (relation) is in third normal form (3NF) when it is in 2NF and its only determinants are candidate keys

• Collection of tables (relations) that is not in third normal form has inherent problems called update anomalies

69