Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
45 views

Normalization of Database Tables

This lecture discusses database normalization. It defines normalization and normal forms up to 4NF. The goals of normalization are to reduce data redundancies and anomalies while allowing controlled redundancies. Normalization and E-R modeling are used together for database design. While normalization improves design, some situations require denormalization for efficiency.

Uploaded by

Varun Jain
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views

Normalization of Database Tables

This lecture discusses database normalization. It defines normalization and normal forms up to 4NF. The goals of normalization are to reduce data redundancies and anomalies while allowing controlled redundancies. Normalization and E-R modeling are used together for database design. While normalization improves design, some situations require denormalization for efficiency.

Uploaded by

Varun Jain
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 27

4

Lecture 4

Normalization of Database
Tables
4

In this Lecture, you will learn:


• What normalization is and what role it plays in
database design
• About the normal forms 1NF, 2NF, 3NF, BCNF, and
4NF
• How normal forms can be transformed from lower
normal forms to higher normal forms
• That normalization and E-R modeling are used
concurrently to produce a good database design
• That some situations require denormalization to
generate information efficiently

2
4

Database Tables and Normalization


• Table is basic building block in database design
• Normalization is process for assigning attributes to
entities
– Reduces data redundancies
– Helps eliminate data anomalies
– Produces controlled redundancies to link tables
• Normalization stages
– 1NF - First normal form
– 2NF - Second normal form
– 3NF - Third normal form
– 4NF - Fourth normal form

3
4

Need for Normalization

Figure 4.1

4
4

Figure 4.1 Observations


• PRO_NUM intended to be primary key
• Table entries invite data inconsistencies
• Table displays data anomalies
– Update
• Modifying JOB_CLASS
– Insertion
• New employee must be assigned project
– Deletion
• If employee deleted, other vital data lost

5
4

Conversion to 1NF
• Repeating groups must be eliminated
– Proper primary key developed
• Uniquely identifies attribute values (rows)
• Combination of PROJ_NUM and EMP_NUM
– Dependencies can be identified
• Desirable dependencies based on primary key
• Less desirable dependencies
– Partial
» based on part of composite primary key
– Transitive
» one nonprime attribute depends on another nonprime
attribute

6
4

Dependency Diagram (1NF)

Figure 4.4

7
4

Data Organization: 1NF

Figure 4.3

8
4

1NF Summarized
• All key attributes defined
• No repeating groups in table
• All attributes dependent on
primary key

9
4

Conversion to 2NF
• Start with 1NF format:
• Write each key component on separate line
• Write original key on last line
• Each component is new table
• Write dependent attributes after each key

PROJECT (PROJ_NUM, PROJ_NAME)


EMPLOYEE (EMP_NUM, EMP_NAME, JOB_CLASS, CHG_HOUR)
ASSIGN (PROJ_NUM, EMP_NUM, HOURS)

10
4

2NF Conversion Results


Figure 4.5

11
4

2NF Summarized
• In 1NF
• Includes no partial dependencies
– No attribute dependent on a portion of primary key
• Still possible to exhibit transitive dependency
– Attributes may be functionally dependent on
nonkey attributes

12
4

Conversion to 3NF
• Create separate table(s) to eliminate transitive
functional dependencies

PROJECT (PROJ_NUM, PROJ_NAME)


ASSIGN (PROJ_NUM, EMP_NUM, HOURS)
EMPLOYEE (EMP_NUM, EMP_NAME, JOB_CLASS)
JOB (JOB_CLASS, CHG_HOUR)

13
4

3NF Summarized
• In 2NF
• Contains no transitive dependencies

14
4

Additional DB Enhancements

Figure 4.6

15
4

Boyce-Codd Normal Form (BCNF)


• Every determinant in the table is a candidate key
– Determinant is attribute whose value determines
other values in row
– 3NF table with one candidate key is already in
BCNF

16
4

3NF Table Not in BCNF

Figure 4.7

17
4
Decomposition of Table
Structure to Meet BCNF

Figure 4.8

18
4

Decomposition into BCNF

Figure 4.9
19
4

Normalization and Database Design


• Normalization should be part of the design
process
• E-R Diagram provides macro view
• Normalization provides micro view of entities
– Focuses on characteristics of specific entities
– May yield additional entities
• Difficult to separate normalization from E-R
diagramming
• Business rules must be determined

20
4

Initial ERD for Contracting Company

Figure 4.10

21
4
Modified ERD for
Contracting Company

Figure 4.11 22
4
Final ERD for
Contracting Company

Figure 4.12

23
4

Higher-Level Normal Forms


• Fourth Normal Form (4NF)
– Table is in 3NF
– Has no multiple sets of multivalued dependencies

24
4

Conversion to 4NF

Figure 4.15
Set of Tables in 4NF

Figure 4.14
Multivalued Dependencies

25
4

Denormalization
• Normalization is one of many database design
goals
• Normalized table requirements
– Additional processing
– Loss of system speed
• Normalization purity is difficult to sustain due to
conflict in:
– Design efficiency
– Information requirements
– Processing

26
4

Unnormalized Table Defects


• Data updates less efficient
• Indexing more cumbersome
• No simple strategies for creating views

27

You might also like