Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization.
-
Upload
brianna-dary -
Category
Documents
-
view
225 -
download
3
Transcript of Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization.
![Page 1: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/1.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/10.jpg)
Question?
Is Street functionally depend on Firstname or Lastname?
10
![Page 11: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/14.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/15.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/16.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/17.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/18.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/19.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/20.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/21.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/22.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/23.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/24.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/25.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/26.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/27.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/28.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/29.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/30.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/31.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/32.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/33.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/34.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/35.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/36.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/37.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/38.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/39.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/40.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/41.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/42.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/43.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/44.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/45.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/46.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/47.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/48.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/49.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/50.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/51.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/52.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/53.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/54.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/55.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/56.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/57.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/58.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/59.jpg)
More Practice Exercises
59
![Page 60: Concepts of Database Management Seventh Edition Chapter 5 Database Design 1: Normalization.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/60.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/61.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/62.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/63.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/64.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/65.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/66.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/67.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/68.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022062320/56649c785503460f9492dff9/html5/thumbnails/69.jpg)
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