Uncategorized

Normalization – Database

Normalization

  • Definition-:Is the technique for producing a set of relations with desirable properties, given the data requirements of an enterprise.
  • We will talk about:
    • Database Normalization
      • Data Anomalies Caused by:
        • Update, Insertion, Deletion
    • Brief History/Overview
    • 1st Normal Form
    • 2nd Normal Form
    • 3rd Normal Form
    • Conclusion
  • The main goal of Database Normalization is to restructure the logical data model of a database so as to:
  • Eliminate redundancy
  • Organize data efficiently
  • Reduce the potential for data anomalies.

Data Anomalies

  • Data anomalies are inconsistencies in the data stored in a database as a result of an operation such as update, insertion, and/or deletion.
  • Such inconsistencies may arise when you have a particular record stored in multiple locations and not all of the copies are updated.
  • We can prevent such anomalies by implementing 7 different level of normalization called Normal Forms (NF)
  • We will only look at the first three Normal Forms.

Brief History/Overview

  • Database Normalization was first proposed by Edgar F. Codd.
  • Codd defined the first three Normal Forms, which we will look into, of the 7 known Normal Forms.
  • In order to do normalization we must know what are the requirements for each of the three Normal Forms that we will go over.
  • One of the key requirements to remember is that Normal Forms are progressive. That is, in order to have 3rd NF we must have 2nd NF and in order to have 2nd NF we must have 1st NF.

1st Normal Form
The Requirements

  • The requirements to satisfy the 1st NF:
    • Each table has a primary key: minimal set of attributes which can uniquely identify a record
    • The values in each column of a table are atomic (No multi-value attributes allowed).
    • There are no repeating groups: two columns do not store similar information in the same table.

1st Normal Form
Example

Un-normalized  Student table:

Student# AdvID AdvName AdvRoom Class1 Class2
123 123A James 555 102-8 104-9
124 123B Smith 467 209-0 102-8

Normalized Student table:

Student# AdvID AdvName AdvRoom Class#
123 123A James 555 102-8
123 123A James 555 104-9
124 123B Smith 467 209-0
124 123B Smith 467 102-8

2nd Normal Form
The Requirements

  • The requirements to satisfy the 2nd NF:
    • All requirements for 1st NF must be met.
    • Redundant data across multiple rows of a table must be moved to a separate table.
      • The resulting tables must be related to each other by use of foreign key.

2nd Normal Form
Example

Student table

Student# AdvID AdvName AdvRoom
123 123A James 555
124 123B Smith 467

Registration table

Student# Class#
123 102-8
123 104-9
124 209-0
124 102-8

3rd Normal Form
The Requirements

  • The requirements to satisfy the 3rd NF:
    • All requirements for 2nd NF must be met.
    • Eliminate fields that do not depend on the primary key;
      • That is, any field that is dependent not only on the primary key but also on another field must be moved to another table.

3rd Normal Form
Example

Student table:

Student# AdvID AdvName AdvRoom
123 123A James 555
124 123B Smith 467

Student table:

Student# AdvID
123 123A
124 123B

Advisor table:

AdvID AdvName AdvRoom
123A James 555
123B Smith 467

3rd Normal Form
Example Cont.

Student table:

Student# AdvID
123 123A
124 123B

Registration table:

Student# Class#
123 102-8
123 104-9
124 209-0
124 102-8

Advisor table:

AdvID AdvName AdvRoom
123A James 555
123B Smith 467

Conclusion

  • We have seen how Database Normalization can decrease redundancy, increase efficiency and reduce anomalies by implementing three of seven different levels of normalization called Normal Forms. The first three NF’s are usually sufficient for most small to medium size applications.

Prepared by dwadwaempire.com