SlideShare a Scribd company logo
1 of 61
Download to read offline
Copyright © 2009, Oracle. All rights reserved.
I - 1
Normalization
 After designing the database, it is important to ensure that the data in the
table is consistent and relevant.
 Normalization is a process of reducing duplicate data in a relational
database. The opposite of normalization is called as denormalization.
Copyright © 2009, Oracle. All rights reserved.
I - 2
What is data
redundancy?
Understanding Data Redundancy
Copyright © 2009, Oracle. All rights reserved.
I - 3
Redundancy means repetition
of data.
Understanding Data Redundancy (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 4
 Redundancy:
 Increases the time involved in updating, adding, and deleting data.
 Increases the utilization of disk space and hence, disk I/O increases.
 Redundancy can, therefore, lead to:
 Insertion, modification, and deletion of data, which may cause
inconsistencies.
 Errors, which are more likely to occur when facts are repeated.
 Unnecessary utilization of extra disk space.
Understanding Data Redundancy (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 5
 Consider the STUDENT table, as shown in the following diagram.
STUDENT
STUDENTID
STUDENTNAME
STUDENTBIRTHDATE
STUDENTADDRESS
STUDENTCITY
STUDENTZIP
STUDENTCLASS
STUDENTSEMESTER
STUDENTTEST1
STUDENTTEST2
Understanding Data Redundancy (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 6
 The STUDENT table contains the values for each attribute, as shown in the
following diagram.
STUDENTID STUDENTNAME …… STUDENTSEMESTER STUDENTTEST1 STUDENTTEST2
001 Mary …… SEM-1 40 65
001 Mary …… SEM-2 56 48
002 Jake …… SEM-1 93 84
002 Jake …… SEM-2 85 90
The details of the students, such as STUDENTID and STUDENTNAME are
repeated while recording marks of different semesters. As a result, if you need to
modify the address of a student, it has to be modified in multiple row for that
student. If not done, it could lead o data inconsistency across rows.
Understanding Data Redundancy (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 7
How can I
remove data
redundancy?
Definition of Normalization
Copyright © 2009, Oracle. All rights reserved.
I - 8
We can remove data redundancy
with the help of normalization. Let
us understand this concept.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 9
 Normalization:
 Is a method of breaking down complex table structures into simple table
structures by using certain rules.
 Using this method, you can reduce redundancy in a table and eliminate the
problems of inconsistency and disk space usage. You can also ensure that
there is no loss of information.
 Has the following benefits:
 It helps in maintaining data integrity.
 It helps in simplifying the structure of tables, therefore, making a database
more compact.
 It helps in reducing the null values, which reduces the complexity of data
operations.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 10
 Some rules that should be followed to achieve a good database design are:
 Each table should have an identifier.
 Each table should store data for a single type of entity.
 Columns that accept NULLs should be avoided.
 The repetition of values or columns should be avoided.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 11
 Normalization results in the formation of tables that satisfy certain
normal forms.
 The normal forms are used to remove various types of abnormalities
and inconsistencies from the database.
 The most important and widely used normal forms are:
 First Normal Form (1NF)
 Second Normal Form (2NF)
 Third Normal Form (3NF)
 Boyce-Codd Normal Form (BCNF)
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 12
The following diagram shows the different levels of normalization.
UNNORMALIZED RELATION
1NF
2NF
3NF
BCNF
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 13
 First Normal Form (1NF):
A table is said to be in 1NF when each cell of the table contains precisely
one value.
 The guidelines for converting a table into 1NF are:
 Place the related data values in a table. Further, define similar data values
with the column name.
 There should be no repeating group in the table.
 Every table must have a unique primary key.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 14
 Consider the PROJECT table, as shown in the following diagram.
Primary key
PROJECT table is not in first normal form because cells
in PROJCODE and HOURS have more than one value.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 15
 By applying the 1NF definition to the PROJECT table, you arrive at the
table, as shown in the following diagram.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 16
 Consider the STUDENT table, as shown in the following diagram.
STUDENT table contains null values in PHONE
NUMBER2 column, and the number of telephone
numbers per student is restricted to two.
Primary key
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 17
If a student has three telephone
numbers, you are constrained to
record only two and leave the third
unrecorded.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 18
 By applying the 1NF definition to the STUDENT table, you can arrive at the
tables, as shown in the following diagram.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 19
To convert the table to 2NF, you
must first understand the concept
of functional dependency.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 20
 Functional dependency:
 Attribute A is functionally dependent on B if and only if, for each value of
B, there is exactly one value of A.
 Attribute B is called the determinant.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 21
 Consider the REPORT table, as shown in the following diagram.
Primary key
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 22
 In the REPORT table:
 For a particular value of ROLL_NUMBER+COURSE_CODE, there is
precisely one corresponding value for MARKS.
 Hence, MARKS is functionally dependent on
ROLL_NUMBER+COURSE_CODE.
 This can be symbolically represented as:
(ROLL_NUMBER, COURSE_CODE)MARKS.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 23
 The following diagram shows the functional dependency between
MARKS and ROLL_NUMBER+COURSE_CODE.
ROLL_NUMBER
COURSE_CODE
MARKS
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 24
 The other functional dependencies in the REPORT table are:
 COURSE_CODECOURSE_NAME
 COURSE_CODET_NAME
(Assuming one course is taught by only one teacher.)
 T_NAMEROOM_NUMBER
(Assuming each teacher has his/her own, unshared room.)
 MARKSGRADE
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 25
 COURSE_NAME, T_NAME, and ROOM_NUMBER attributes are partially
dependent on the whole key.
 This dependency is called partial dependency, as shown in the following
diagram.
ROLL_NUMBER
COURSE_CODE
COURSE_NAME
T_NAME
ROOM_NUMBER
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 26
 ROOM_NUMBER is dependent on T_NAME, and T_NAME is dependent on
COURSE_CODE, as shown in the following diagram.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 27
This type of dependency is called
as transitive dependency.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 28
 The following diagram shows the transitive (indirect) dependency.
COURSE_CODE T_NAME ROOM_NUMBER
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 29
 Second Normal Form (2NF):
A table is said to be in 2NF when:
 It is in the 1NF, and
 No partial dependency exists between non-key attributes and key
attributes.
 The guidelines for converting a table into 2NF are:
 Find and remove attributes that are functionally dependent on only a
part of the key and not on the whole key. Place them in a different table.
 Group the remaining attributes.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 30
 Consider the PROJECT table, as shown in the following diagram.
 The preceding table could lead to the following problems:
 Insertion
 Updation
 Deletion
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 31
 Consider the PROJECT table, as shown in the following diagram.
 The preceding table could lead to the following problems:
 Insertion
 Updation
 Deletion
Definition of Normalization (Contd.)
The department of an employee cannot be recorded until the
employee is assigned a project.
Copyright © 2009, Oracle. All rights reserved.
I - 32
 Consider the PROJECT table, as shown in the following diagram.
 The preceding table could lead to the following problems:
 Insertion
 Updation
 Deletion
Definition of Normalization (Contd.)
For an employee, ECODE, DEPT, and DEPTHEAD are repeated.
Any change will have to be recorded in every row of the
EMPLOYEE table.
Copyright © 2009, Oracle. All rights reserved.
I - 33
 Consider the PROJECT table, as shown in the following diagram.
 The preceding table could lead to the following problems:
 Insertion
 Updation
 Deletion
Definition of Normalization (Contd.)
When the project finishes, the employee details are deleted. This
leads to loss in information about the department to which
employee belongs.
Copyright © 2009, Oracle. All rights reserved.
I - 34
Let us check if the PROJECT
table is in 2NF.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 35
Hours is functionally dependent on the
whole key, ECODE+PROJCODE.
Composite key
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 36
Composite Key
Dept is functionally dependent on part of the
key, which is ECODE.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 37
Composite Key
DEPTHEAD is functionally dependent on
ECODE; however, it is not dependent on
the attribute, PROJCODE.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 38
To convert the PROJECT table into
2NF, you must remove the attributes
that are not functionally dependent
on the whole key.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 39
You should place the removed
attributes in a different table along
with the attribute they are
functionally dependent on.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 40
 The EMPLOYEEDEPT and PROJECT tables are in 2NF, as shown in the
following diagram.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 41
 Now, consider the following STUD_SUBJECT_DETAILS table
STUD_ID FIRST_NAME LAST_NAME SUB_CODE SUB_NAME DURATION MARKS
ST32 Mark Steven SC345 Java 4 75
ST34 Peter Hanks SC534 HTML 2 70
ST65 Joey Carol SC345 Java 4 65
ST44 Lee Jones SC564 JavaScript 3 80
ST34 Peter Hanks SC564 JavaScript 3 60
ST66 Tom Sean SC655 XML 1 72
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 42
 Tables in 2NF
SUB_CODE SUB_NAME DURATION
SC345 Java 4
SC534 HTML 2
SC564 JavaScript 3
SC655 XML 1
STUD_ID FIRST_NAME LAST_NAME
ST32 Mark Steven
ST34 Peter Hanks
ST65 Joey Carol
ST44 Lee Jones
ST34 Peter Hanks
ST66 Tom Sean
STUD_ID SUB_COD
E
MARKS
ST32 SC345 75
ST34 SC534 70
ST65 SC345 65
ST44 SC564 80
ST34 SC564 60
ST66 SC655 72
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 43
 Third Normal Form (3NF):
A relation is said to be in the 3NF if and only if:
 It is in 2NF, and
 No transitive (indirect) dependency exists between non-key
attributes and key attributes.
 The guidelines for converting a table into 3NF are:
 Find and remove non-key attributes that are functionally dependent
on attributes that are not the primary key. Place them in a different
table.
 Group the remaining attributes.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 44
 Consider the EMPLOYEE table, as shown in the following diagram.
 The preceding table could lead to the following problems:
 Insertion
 Updation
 Deletion
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 45
 Consider the EMPLOYEE table, as shown in the following diagram.
 The preceding table could lead to the following problems:
 Insertion
 Updation
 Deletion
Definition of Normalization (Contd.)
The department head of a new department that does not have any
employees at present cannot be entered in the DEPTHEAD column.
Copyright © 2009, Oracle. All rights reserved.
I - 46
 Consider the EMPLOYEE table, as shown in the following diagram.
 The preceding table could lead to the following problems:
 Insertion
 Updation
 Deletion
Definition of Normalization (Contd.)
For a department, DEPTHEAD is repeated. Any change will have to
be made consistently across the table.
Copyright © 2009, Oracle. All rights reserved.
I - 47
 Consider the EMPLOYEE table, as shown in the following diagram.
 The preceding table could lead to the following problems:
 Insertion
 Updation
 Deletion
Definition of Normalization (Contd.)
If an employee record is deleted, the information about DEPTHEAD
will also be deleted. Hence there will be a loss of information
Copyright © 2009, Oracle. All rights reserved.
I - 48
Let us check if the EMPLOYEE
table is in 3NF.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 49
Primary key
DEPTHEAD is functionally dependent on DEPT,
which is not a primary key.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 50
 To convert the EMPLOYEE table into 3NF, you must remove the DEPTHEAD
column and place it in another table, as shown in the following diagram.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 51
 Consider another table, STUD_DETAILS, which stores the student
residential address.
STUD_DETAILS
ROLL_NO
NAME
DOB
STATE
CITY
STREET
ZIPCODE
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 52
 The STUD_DETAILS table contains the values,
ROLL_NO NAME DOB STATE CITY STREET ZIPCODE
R10 Ryan 22-04-87 Maine Big City Long Lane 435564
R35 Lisa 04-09-88 Nevada Windy Main Lane 435576
R42 Sam 09-09-90 Ohio Ville Wind Road 435764
R58 Aaron 08-08-91 Texas Mega Main Street 435565
R62 Sharon 12-05-92 Nevada Windy Main Lane 435576
 In the preceding table, Street, City and State are associated with the ZipCode.
 For example, if you want to know the number of students residing at a
particular location, then a zip code is enough for this. There fore you can
move attributes, STATE, CITY, STREET, and ZIPCODE into another table,
ADDRESS
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 53
 The following is the ADDRESS table
STATE CITY STREET ZIPCODE
Maine Big City Long Lane 435564
Nevada Windy Main Lane 435576
Ohio Ville Wind Road 435764
Texas Mega Main Street 435565
 Then, you can move the rest of the attributes to another table, which must
include ZIPCODE or matching the address details in the ADDRESS table.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 54
 The following is the STUD_DETAILS table
Definition of Normalization (Contd.)
 Then, you can move the rest of the attributes to another table, which must
include ZIPCODE or matching the address details in the ADDRESS table.
ROLL_NO NAME DOB ZIPCODE
R10 Ryan 22-04-87 435564
R35 Lisa 04-09-88 435576
R42 Sam 09-09-90 435764
R58 Aaron 08-08-91 435565
R62 Sharon 12-05-92 435576
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 55
 Boyce-Codd Normal Form (BCNF):
The original definition of 3NF was not sufficient in some situations. It was
not satisfactory for the tables:
 That had multiple candidate keys.
 Where the multiple candidate keys were composite.
 Where the multiple candidate keys overlapped (had at least one attribute in
common).
 In tables, where the preceding 3 conditions do not apply, you can stop at the
third normal form. In such cases, the third NF is the same as the BCNF.
 A relation is in BCNF if and only if every determinant is a candidate key.
 The guidelines for converting a table into BCNF are:
 Find and remove the overlapping candidate keys. Place the part of the
candidate key and the attribute it is functionally dependent on, in a different
table.
 Group the remaining items into a table.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 56
 Consider the PROJECT table, as shown in the following diagram.
Primary Key
NAME+PROJCODE can also be chosen
as the primary key and hence, is a
candidate key.
PROJECT table is already in 3NF
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 57
 The following points describe the functional dependencies in the
PROJECT table:
 HOURS is functionally dependent on ECODE+PROJCODE.
 HOURS is also functionally dependent on NAME+PROJCODE.
 NAME is functionally dependent on ECODE.
 ECODE is functionally dependent on NAME.
 You will notice that the PROJECT table has:
 Multiple candidate keys that are ECODE+PROJCODE and
NAME+PROJCODE.
 Composite candidate keys.
 Candidate keys that overlap since the PROJCODE attribute is
common between the two candidate keys.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 58
 The only non-key item is HOURS, which is dependent on the whole key,
ECODE+PROJCODE or NAME+PROJCODE.
 ECODE and NAME are determinants since they are functionally dependent
on each other.
 As per BCNF, the determinants have to be candidate keys.
 You can remove NAME and ECODE and place them in a different table.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 59
 You can remove NAME and ECODE and place them in a different table,
as shown in the following diagram.
Definition of Normalization (Contd.)
Copyright © 2009, Oracle. All rights reserved.
I - 60
 Which of the following points helps in achieving a good
database design?
1. A table should store data for all the related entities together.
2. Each table should have an identifier.
3. Columns that contain NULL values should be created.
Solution:
2. Each table should have an identifier.
Just a minute
Copyright © 2009, Oracle. All rights reserved.
I - 61
 In which normal form, you need to remove non-key attributes
that are functionally dependent on non-primary key attributes?
Solution:
 Third normal form
Just a minute

More Related Content

Similar to Normalization.ppt What is Normalizations

Database DESIGN CONCEPTSDr. Dexter Francis2Data Design
Database DESIGN CONCEPTSDr. Dexter Francis2Data DesignDatabase DESIGN CONCEPTSDr. Dexter Francis2Data Design
Database DESIGN CONCEPTSDr. Dexter Francis2Data Design
OllieShoresna
 
2. DBMS Experiment - Lab 2 Made in SQL Used
2. DBMS Experiment - Lab 2 Made in SQL Used2. DBMS Experiment - Lab 2 Made in SQL Used
2. DBMS Experiment - Lab 2 Made in SQL Used
TheVerse1
 
Notes of bca Question paper for exams and tests
Notes of bca Question paper for exams and testsNotes of bca Question paper for exams and tests
Notes of bca Question paper for exams and tests
priyanshukumar97908
 

Similar to Normalization.ppt What is Normalizations (20)

Algorithm and c language
Algorithm and c languageAlgorithm and c language
Algorithm and c language
 
Art of indexing_in_o8i
Art of indexing_in_o8iArt of indexing_in_o8i
Art of indexing_in_o8i
 
G10 Unit 4.pptx
G10 Unit 4.pptxG10 Unit 4.pptx
G10 Unit 4.pptx
 
IRJET- Design of Photovoltaic System using Fuzzy Logic Controller
IRJET- Design of Photovoltaic System using Fuzzy Logic ControllerIRJET- Design of Photovoltaic System using Fuzzy Logic Controller
IRJET- Design of Photovoltaic System using Fuzzy Logic Controller
 
Database DESIGN CONCEPTSDr. Dexter Francis2Data Design
Database DESIGN CONCEPTSDr. Dexter Francis2Data DesignDatabase DESIGN CONCEPTSDr. Dexter Francis2Data Design
Database DESIGN CONCEPTSDr. Dexter Francis2Data Design
 
DBMS summer 19.pdf
DBMS summer 19.pdfDBMS summer 19.pdf
DBMS summer 19.pdf
 
CS8391-DATA-STRUCTURES.pdf
CS8391-DATA-STRUCTURES.pdfCS8391-DATA-STRUCTURES.pdf
CS8391-DATA-STRUCTURES.pdf
 
Computer systems architecture assignment/tutorialoutlet
Computer systems architecture assignment/tutorialoutletComputer systems architecture assignment/tutorialoutlet
Computer systems architecture assignment/tutorialoutlet
 
Etl2
Etl2Etl2
Etl2
 
2. DBMS Experiment - Lab 2 Made in SQL Used
2. DBMS Experiment - Lab 2 Made in SQL Used2. DBMS Experiment - Lab 2 Made in SQL Used
2. DBMS Experiment - Lab 2 Made in SQL Used
 
SQL Database Performance Tuning for Developers
SQL Database Performance Tuning for DevelopersSQL Database Performance Tuning for Developers
SQL Database Performance Tuning for Developers
 
Database Concept - Normalization (1NF, 2NF, 3NF)
Database Concept - Normalization (1NF, 2NF, 3NF)Database Concept - Normalization (1NF, 2NF, 3NF)
Database Concept - Normalization (1NF, 2NF, 3NF)
 
4.Database Management System.pdf
4.Database Management System.pdf4.Database Management System.pdf
4.Database Management System.pdf
 
Semantic Semi-Structured Documents of Least Edit Distance (LED) Calculation f...
Semantic Semi-Structured Documents of Least Edit Distance (LED) Calculation f...Semantic Semi-Structured Documents of Least Edit Distance (LED) Calculation f...
Semantic Semi-Structured Documents of Least Edit Distance (LED) Calculation f...
 
Notes of bca Question paper for exams and tests
Notes of bca Question paper for exams and testsNotes of bca Question paper for exams and tests
Notes of bca Question paper for exams and tests
 
week 7 normalization.pptx
week 7 normalization.pptxweek 7 normalization.pptx
week 7 normalization.pptx
 
Computer Literacy Lesson 8
Computer Literacy Lesson 8Computer Literacy Lesson 8
Computer Literacy Lesson 8
 
Hrms for beginners
Hrms for beginnersHrms for beginners
Hrms for beginners
 
Introduction of Oracle
Introduction of Oracle Introduction of Oracle
Introduction of Oracle
 
Computer Literacy Lesson 23
Computer Literacy Lesson 23Computer Literacy Lesson 23
Computer Literacy Lesson 23
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Recently uploaded (20)

Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 

Normalization.ppt What is Normalizations

  • 1. Copyright © 2009, Oracle. All rights reserved. I - 1 Normalization  After designing the database, it is important to ensure that the data in the table is consistent and relevant.  Normalization is a process of reducing duplicate data in a relational database. The opposite of normalization is called as denormalization.
  • 2. Copyright © 2009, Oracle. All rights reserved. I - 2 What is data redundancy? Understanding Data Redundancy
  • 3. Copyright © 2009, Oracle. All rights reserved. I - 3 Redundancy means repetition of data. Understanding Data Redundancy (Contd.)
  • 4. Copyright © 2009, Oracle. All rights reserved. I - 4  Redundancy:  Increases the time involved in updating, adding, and deleting data.  Increases the utilization of disk space and hence, disk I/O increases.  Redundancy can, therefore, lead to:  Insertion, modification, and deletion of data, which may cause inconsistencies.  Errors, which are more likely to occur when facts are repeated.  Unnecessary utilization of extra disk space. Understanding Data Redundancy (Contd.)
  • 5. Copyright © 2009, Oracle. All rights reserved. I - 5  Consider the STUDENT table, as shown in the following diagram. STUDENT STUDENTID STUDENTNAME STUDENTBIRTHDATE STUDENTADDRESS STUDENTCITY STUDENTZIP STUDENTCLASS STUDENTSEMESTER STUDENTTEST1 STUDENTTEST2 Understanding Data Redundancy (Contd.)
  • 6. Copyright © 2009, Oracle. All rights reserved. I - 6  The STUDENT table contains the values for each attribute, as shown in the following diagram. STUDENTID STUDENTNAME …… STUDENTSEMESTER STUDENTTEST1 STUDENTTEST2 001 Mary …… SEM-1 40 65 001 Mary …… SEM-2 56 48 002 Jake …… SEM-1 93 84 002 Jake …… SEM-2 85 90 The details of the students, such as STUDENTID and STUDENTNAME are repeated while recording marks of different semesters. As a result, if you need to modify the address of a student, it has to be modified in multiple row for that student. If not done, it could lead o data inconsistency across rows. Understanding Data Redundancy (Contd.)
  • 7. Copyright © 2009, Oracle. All rights reserved. I - 7 How can I remove data redundancy? Definition of Normalization
  • 8. Copyright © 2009, Oracle. All rights reserved. I - 8 We can remove data redundancy with the help of normalization. Let us understand this concept. Definition of Normalization (Contd.)
  • 9. Copyright © 2009, Oracle. All rights reserved. I - 9  Normalization:  Is a method of breaking down complex table structures into simple table structures by using certain rules.  Using this method, you can reduce redundancy in a table and eliminate the problems of inconsistency and disk space usage. You can also ensure that there is no loss of information.  Has the following benefits:  It helps in maintaining data integrity.  It helps in simplifying the structure of tables, therefore, making a database more compact.  It helps in reducing the null values, which reduces the complexity of data operations. Definition of Normalization (Contd.)
  • 10. Copyright © 2009, Oracle. All rights reserved. I - 10  Some rules that should be followed to achieve a good database design are:  Each table should have an identifier.  Each table should store data for a single type of entity.  Columns that accept NULLs should be avoided.  The repetition of values or columns should be avoided. Definition of Normalization (Contd.)
  • 11. Copyright © 2009, Oracle. All rights reserved. I - 11  Normalization results in the formation of tables that satisfy certain normal forms.  The normal forms are used to remove various types of abnormalities and inconsistencies from the database.  The most important and widely used normal forms are:  First Normal Form (1NF)  Second Normal Form (2NF)  Third Normal Form (3NF)  Boyce-Codd Normal Form (BCNF) Definition of Normalization (Contd.)
  • 12. Copyright © 2009, Oracle. All rights reserved. I - 12 The following diagram shows the different levels of normalization. UNNORMALIZED RELATION 1NF 2NF 3NF BCNF Definition of Normalization (Contd.)
  • 13. Copyright © 2009, Oracle. All rights reserved. I - 13  First Normal Form (1NF): A table is said to be in 1NF when each cell of the table contains precisely one value.  The guidelines for converting a table into 1NF are:  Place the related data values in a table. Further, define similar data values with the column name.  There should be no repeating group in the table.  Every table must have a unique primary key. Definition of Normalization (Contd.)
  • 14. Copyright © 2009, Oracle. All rights reserved. I - 14  Consider the PROJECT table, as shown in the following diagram. Primary key PROJECT table is not in first normal form because cells in PROJCODE and HOURS have more than one value. Definition of Normalization (Contd.)
  • 15. Copyright © 2009, Oracle. All rights reserved. I - 15  By applying the 1NF definition to the PROJECT table, you arrive at the table, as shown in the following diagram. Definition of Normalization (Contd.)
  • 16. Copyright © 2009, Oracle. All rights reserved. I - 16  Consider the STUDENT table, as shown in the following diagram. STUDENT table contains null values in PHONE NUMBER2 column, and the number of telephone numbers per student is restricted to two. Primary key Definition of Normalization (Contd.)
  • 17. Copyright © 2009, Oracle. All rights reserved. I - 17 If a student has three telephone numbers, you are constrained to record only two and leave the third unrecorded. Definition of Normalization (Contd.)
  • 18. Copyright © 2009, Oracle. All rights reserved. I - 18  By applying the 1NF definition to the STUDENT table, you can arrive at the tables, as shown in the following diagram. Definition of Normalization (Contd.)
  • 19. Copyright © 2009, Oracle. All rights reserved. I - 19 To convert the table to 2NF, you must first understand the concept of functional dependency. Definition of Normalization (Contd.)
  • 20. Copyright © 2009, Oracle. All rights reserved. I - 20  Functional dependency:  Attribute A is functionally dependent on B if and only if, for each value of B, there is exactly one value of A.  Attribute B is called the determinant. Definition of Normalization (Contd.)
  • 21. Copyright © 2009, Oracle. All rights reserved. I - 21  Consider the REPORT table, as shown in the following diagram. Primary key Definition of Normalization (Contd.)
  • 22. Copyright © 2009, Oracle. All rights reserved. I - 22  In the REPORT table:  For a particular value of ROLL_NUMBER+COURSE_CODE, there is precisely one corresponding value for MARKS.  Hence, MARKS is functionally dependent on ROLL_NUMBER+COURSE_CODE.  This can be symbolically represented as: (ROLL_NUMBER, COURSE_CODE)MARKS. Definition of Normalization (Contd.)
  • 23. Copyright © 2009, Oracle. All rights reserved. I - 23  The following diagram shows the functional dependency between MARKS and ROLL_NUMBER+COURSE_CODE. ROLL_NUMBER COURSE_CODE MARKS Definition of Normalization (Contd.)
  • 24. Copyright © 2009, Oracle. All rights reserved. I - 24  The other functional dependencies in the REPORT table are:  COURSE_CODECOURSE_NAME  COURSE_CODET_NAME (Assuming one course is taught by only one teacher.)  T_NAMEROOM_NUMBER (Assuming each teacher has his/her own, unshared room.)  MARKSGRADE Definition of Normalization (Contd.)
  • 25. Copyright © 2009, Oracle. All rights reserved. I - 25  COURSE_NAME, T_NAME, and ROOM_NUMBER attributes are partially dependent on the whole key.  This dependency is called partial dependency, as shown in the following diagram. ROLL_NUMBER COURSE_CODE COURSE_NAME T_NAME ROOM_NUMBER Definition of Normalization (Contd.)
  • 26. Copyright © 2009, Oracle. All rights reserved. I - 26  ROOM_NUMBER is dependent on T_NAME, and T_NAME is dependent on COURSE_CODE, as shown in the following diagram. Definition of Normalization (Contd.)
  • 27. Copyright © 2009, Oracle. All rights reserved. I - 27 This type of dependency is called as transitive dependency. Definition of Normalization (Contd.)
  • 28. Copyright © 2009, Oracle. All rights reserved. I - 28  The following diagram shows the transitive (indirect) dependency. COURSE_CODE T_NAME ROOM_NUMBER Definition of Normalization (Contd.)
  • 29. Copyright © 2009, Oracle. All rights reserved. I - 29  Second Normal Form (2NF): A table is said to be in 2NF when:  It is in the 1NF, and  No partial dependency exists between non-key attributes and key attributes.  The guidelines for converting a table into 2NF are:  Find and remove attributes that are functionally dependent on only a part of the key and not on the whole key. Place them in a different table.  Group the remaining attributes. Definition of Normalization (Contd.)
  • 30. Copyright © 2009, Oracle. All rights reserved. I - 30  Consider the PROJECT table, as shown in the following diagram.  The preceding table could lead to the following problems:  Insertion  Updation  Deletion Definition of Normalization (Contd.)
  • 31. Copyright © 2009, Oracle. All rights reserved. I - 31  Consider the PROJECT table, as shown in the following diagram.  The preceding table could lead to the following problems:  Insertion  Updation  Deletion Definition of Normalization (Contd.) The department of an employee cannot be recorded until the employee is assigned a project.
  • 32. Copyright © 2009, Oracle. All rights reserved. I - 32  Consider the PROJECT table, as shown in the following diagram.  The preceding table could lead to the following problems:  Insertion  Updation  Deletion Definition of Normalization (Contd.) For an employee, ECODE, DEPT, and DEPTHEAD are repeated. Any change will have to be recorded in every row of the EMPLOYEE table.
  • 33. Copyright © 2009, Oracle. All rights reserved. I - 33  Consider the PROJECT table, as shown in the following diagram.  The preceding table could lead to the following problems:  Insertion  Updation  Deletion Definition of Normalization (Contd.) When the project finishes, the employee details are deleted. This leads to loss in information about the department to which employee belongs.
  • 34. Copyright © 2009, Oracle. All rights reserved. I - 34 Let us check if the PROJECT table is in 2NF. Definition of Normalization (Contd.)
  • 35. Copyright © 2009, Oracle. All rights reserved. I - 35 Hours is functionally dependent on the whole key, ECODE+PROJCODE. Composite key Definition of Normalization (Contd.)
  • 36. Copyright © 2009, Oracle. All rights reserved. I - 36 Composite Key Dept is functionally dependent on part of the key, which is ECODE. Definition of Normalization (Contd.)
  • 37. Copyright © 2009, Oracle. All rights reserved. I - 37 Composite Key DEPTHEAD is functionally dependent on ECODE; however, it is not dependent on the attribute, PROJCODE. Definition of Normalization (Contd.)
  • 38. Copyright © 2009, Oracle. All rights reserved. I - 38 To convert the PROJECT table into 2NF, you must remove the attributes that are not functionally dependent on the whole key. Definition of Normalization (Contd.)
  • 39. Copyright © 2009, Oracle. All rights reserved. I - 39 You should place the removed attributes in a different table along with the attribute they are functionally dependent on. Definition of Normalization (Contd.)
  • 40. Copyright © 2009, Oracle. All rights reserved. I - 40  The EMPLOYEEDEPT and PROJECT tables are in 2NF, as shown in the following diagram. Definition of Normalization (Contd.)
  • 41. Copyright © 2009, Oracle. All rights reserved. I - 41  Now, consider the following STUD_SUBJECT_DETAILS table STUD_ID FIRST_NAME LAST_NAME SUB_CODE SUB_NAME DURATION MARKS ST32 Mark Steven SC345 Java 4 75 ST34 Peter Hanks SC534 HTML 2 70 ST65 Joey Carol SC345 Java 4 65 ST44 Lee Jones SC564 JavaScript 3 80 ST34 Peter Hanks SC564 JavaScript 3 60 ST66 Tom Sean SC655 XML 1 72 Definition of Normalization (Contd.)
  • 42. Copyright © 2009, Oracle. All rights reserved. I - 42  Tables in 2NF SUB_CODE SUB_NAME DURATION SC345 Java 4 SC534 HTML 2 SC564 JavaScript 3 SC655 XML 1 STUD_ID FIRST_NAME LAST_NAME ST32 Mark Steven ST34 Peter Hanks ST65 Joey Carol ST44 Lee Jones ST34 Peter Hanks ST66 Tom Sean STUD_ID SUB_COD E MARKS ST32 SC345 75 ST34 SC534 70 ST65 SC345 65 ST44 SC564 80 ST34 SC564 60 ST66 SC655 72 Definition of Normalization (Contd.)
  • 43. Copyright © 2009, Oracle. All rights reserved. I - 43  Third Normal Form (3NF): A relation is said to be in the 3NF if and only if:  It is in 2NF, and  No transitive (indirect) dependency exists between non-key attributes and key attributes.  The guidelines for converting a table into 3NF are:  Find and remove non-key attributes that are functionally dependent on attributes that are not the primary key. Place them in a different table.  Group the remaining attributes. Definition of Normalization (Contd.)
  • 44. Copyright © 2009, Oracle. All rights reserved. I - 44  Consider the EMPLOYEE table, as shown in the following diagram.  The preceding table could lead to the following problems:  Insertion  Updation  Deletion Definition of Normalization (Contd.)
  • 45. Copyright © 2009, Oracle. All rights reserved. I - 45  Consider the EMPLOYEE table, as shown in the following diagram.  The preceding table could lead to the following problems:  Insertion  Updation  Deletion Definition of Normalization (Contd.) The department head of a new department that does not have any employees at present cannot be entered in the DEPTHEAD column.
  • 46. Copyright © 2009, Oracle. All rights reserved. I - 46  Consider the EMPLOYEE table, as shown in the following diagram.  The preceding table could lead to the following problems:  Insertion  Updation  Deletion Definition of Normalization (Contd.) For a department, DEPTHEAD is repeated. Any change will have to be made consistently across the table.
  • 47. Copyright © 2009, Oracle. All rights reserved. I - 47  Consider the EMPLOYEE table, as shown in the following diagram.  The preceding table could lead to the following problems:  Insertion  Updation  Deletion Definition of Normalization (Contd.) If an employee record is deleted, the information about DEPTHEAD will also be deleted. Hence there will be a loss of information
  • 48. Copyright © 2009, Oracle. All rights reserved. I - 48 Let us check if the EMPLOYEE table is in 3NF. Definition of Normalization (Contd.)
  • 49. Copyright © 2009, Oracle. All rights reserved. I - 49 Primary key DEPTHEAD is functionally dependent on DEPT, which is not a primary key. Definition of Normalization (Contd.)
  • 50. Copyright © 2009, Oracle. All rights reserved. I - 50  To convert the EMPLOYEE table into 3NF, you must remove the DEPTHEAD column and place it in another table, as shown in the following diagram. Definition of Normalization (Contd.)
  • 51. Copyright © 2009, Oracle. All rights reserved. I - 51  Consider another table, STUD_DETAILS, which stores the student residential address. STUD_DETAILS ROLL_NO NAME DOB STATE CITY STREET ZIPCODE Definition of Normalization (Contd.)
  • 52. Copyright © 2009, Oracle. All rights reserved. I - 52  The STUD_DETAILS table contains the values, ROLL_NO NAME DOB STATE CITY STREET ZIPCODE R10 Ryan 22-04-87 Maine Big City Long Lane 435564 R35 Lisa 04-09-88 Nevada Windy Main Lane 435576 R42 Sam 09-09-90 Ohio Ville Wind Road 435764 R58 Aaron 08-08-91 Texas Mega Main Street 435565 R62 Sharon 12-05-92 Nevada Windy Main Lane 435576  In the preceding table, Street, City and State are associated with the ZipCode.  For example, if you want to know the number of students residing at a particular location, then a zip code is enough for this. There fore you can move attributes, STATE, CITY, STREET, and ZIPCODE into another table, ADDRESS Definition of Normalization (Contd.)
  • 53. Copyright © 2009, Oracle. All rights reserved. I - 53  The following is the ADDRESS table STATE CITY STREET ZIPCODE Maine Big City Long Lane 435564 Nevada Windy Main Lane 435576 Ohio Ville Wind Road 435764 Texas Mega Main Street 435565  Then, you can move the rest of the attributes to another table, which must include ZIPCODE or matching the address details in the ADDRESS table. Definition of Normalization (Contd.)
  • 54. Copyright © 2009, Oracle. All rights reserved. I - 54  The following is the STUD_DETAILS table Definition of Normalization (Contd.)  Then, you can move the rest of the attributes to another table, which must include ZIPCODE or matching the address details in the ADDRESS table. ROLL_NO NAME DOB ZIPCODE R10 Ryan 22-04-87 435564 R35 Lisa 04-09-88 435576 R42 Sam 09-09-90 435764 R58 Aaron 08-08-91 435565 R62 Sharon 12-05-92 435576 Definition of Normalization (Contd.)
  • 55. Copyright © 2009, Oracle. All rights reserved. I - 55  Boyce-Codd Normal Form (BCNF): The original definition of 3NF was not sufficient in some situations. It was not satisfactory for the tables:  That had multiple candidate keys.  Where the multiple candidate keys were composite.  Where the multiple candidate keys overlapped (had at least one attribute in common).  In tables, where the preceding 3 conditions do not apply, you can stop at the third normal form. In such cases, the third NF is the same as the BCNF.  A relation is in BCNF if and only if every determinant is a candidate key.  The guidelines for converting a table into BCNF are:  Find and remove the overlapping candidate keys. Place the part of the candidate key and the attribute it is functionally dependent on, in a different table.  Group the remaining items into a table. Definition of Normalization (Contd.)
  • 56. Copyright © 2009, Oracle. All rights reserved. I - 56  Consider the PROJECT table, as shown in the following diagram. Primary Key NAME+PROJCODE can also be chosen as the primary key and hence, is a candidate key. PROJECT table is already in 3NF Definition of Normalization (Contd.)
  • 57. Copyright © 2009, Oracle. All rights reserved. I - 57  The following points describe the functional dependencies in the PROJECT table:  HOURS is functionally dependent on ECODE+PROJCODE.  HOURS is also functionally dependent on NAME+PROJCODE.  NAME is functionally dependent on ECODE.  ECODE is functionally dependent on NAME.  You will notice that the PROJECT table has:  Multiple candidate keys that are ECODE+PROJCODE and NAME+PROJCODE.  Composite candidate keys.  Candidate keys that overlap since the PROJCODE attribute is common between the two candidate keys. Definition of Normalization (Contd.)
  • 58. Copyright © 2009, Oracle. All rights reserved. I - 58  The only non-key item is HOURS, which is dependent on the whole key, ECODE+PROJCODE or NAME+PROJCODE.  ECODE and NAME are determinants since they are functionally dependent on each other.  As per BCNF, the determinants have to be candidate keys.  You can remove NAME and ECODE and place them in a different table. Definition of Normalization (Contd.)
  • 59. Copyright © 2009, Oracle. All rights reserved. I - 59  You can remove NAME and ECODE and place them in a different table, as shown in the following diagram. Definition of Normalization (Contd.)
  • 60. Copyright © 2009, Oracle. All rights reserved. I - 60  Which of the following points helps in achieving a good database design? 1. A table should store data for all the related entities together. 2. Each table should have an identifier. 3. Columns that contain NULL values should be created. Solution: 2. Each table should have an identifier. Just a minute
  • 61. Copyright © 2009, Oracle. All rights reserved. I - 61  In which normal form, you need to remove non-key attributes that are functionally dependent on non-primary key attributes? Solution:  Third normal form Just a minute