DATABASE NORMALIZATION
DATABASE DESIGN PROCESS (REVIEW)
· Gathering user needs / business
· Develop the ER model based on user needs / business
· Convert ER Model to set the relation (table)
· Normalization relations, to remove anomalies
· To implement the database for each table to create relationships that are normalizationed
NORMALIZATION
· Normalization process is the establishment of the database structure so that most of the ambiguity can be removed.
· The normalization stage starting from the light (1NF) to most stringent (5NF)
· Usually only up to the level of 3NF or BCNF because already sufficient to generate the table-a table of good quality.
PURPOSE OF NORMALIZATION
· Optimization table structures
· Increase the speed
· Eliminate income data the same
· More efficient use of storage media
· Reduce redundancy
· Avoiding anomalies (insertion anomalies, deletion anomalies, update anomalies).
· Improved data integrity
A table saying good (efficient) or if the normal 3 to meet the following criteria:
- If there is decomposition (decomposition) table, it must be guaranteed safe dekomposisinya (Lossless-Join Decomposition). That is, after the table is described / didekomposisi a new table-table, the table-table can generate a new table with the same exact.
- Maintain the functional dependence on the change data (Dependency preservation).
- No violate Boyce-Code Normal Form (BCNF)
If the three criteria (BCNF) can not be met, then at least the table does not violate the Normal Form of the third stage (3rd Normal Form / 3NF).
FUNCTIONAL DEPENDENCY
· Functional Dependency attributes describe the relationship in a relationship
· An attribute said functionally dependant on the other, if we use the value attribute to determine the value of the other attributes.
· Symbols
is used to represent the functional dependency .
is read determine the functional.
· notation: A
B
A and B are attributes of a table. A means of determining the functional B or B depends on A, if and only if there are 2 rows of data with the same value of A, then B is also the same value
· notation: A
B or A x
B
It is the opposite of the previous notation

Functional Dependency:
· NRP
Name
· Study, NRP
Grade
Non Functional Dependency:
- Study
NRP - NRP
Grade
· Functional Dependency from grade table
– NRP
Name
Because for each value NRP the same, then the value of the same name.
- {Study, NRP}
Grade
Because the Grade of attributes depending on the NRP and Study together. In another sense Study for the NRP and the same, they also Grade the same, because Study and the NRP is a key (is unique).
- Study
NRP
- NRP
Grade
FIRST NORMAL FORM (First Normal Form – 1NF)
A table on the form said to be First Normal did not reside in the unnormalized form of a table, where there is a kind of field multiplication and field that allows a null (empty)
Is not allowed there:
· Multivalued attributes
· Attribute a composite or a combination of both.
So:
· Price is the domain attribute must be atomic rates
· Example Student Data as follows:

· Tables-top table in the not eligible 1NF
Example (2)
- Decomposition becomes:
- Student Table:

- Hobbies Table

SECOND NORMAL FORM (SECOND NORMAL FORM – 2NF)
- The form of normal 2NF met in a table if it meets the form of 1NF, and all the attributes than the primary key, have a full Functional Dependency on primary key
- A table does not meet 2NF, if there are attributes that dependencies (Functional Dependency) are only partial (only depending on the part of the primary key)
- If there are attributes that have no dependence on the primary key, then the attributes must be moved or removed
- Functional dependence X
Y if it is said of a remove attribute A from X means that Y is no longer dependent functional. - Functional dependence X
Y if it is said partial delete an attribute A from X means that Y is functionally dependent. - The scheme in the form of the relation R 2NF if every non-primary key attribute A
R depend on the full primary key functional R.
Example (1)
· The following table meet 1NF, but not 2NF

Example (2)
· Not meet 2NF, because {NIM, CodeStd} is regarded as the primary key:
{NIM,CodeStd}
Name
{NIM,CodeStd}
Address
{NIM,CodeStd}
Study
{NIM,CodeStd}
Credit
{NIM,CodeStd}
Grade
· The table need to be decomposition become a few table to eligible 2NF
Example (3)
· Its Functional dependency as follows:
- {NIM,CodeStd}
Grade (fd1)
- NIM
{Name, Address} (fd2)
- CodeStd
{Study, Credit} (fd3)
· So that:
- fd1 (NIM,CodeStd,Grade)
Grade Table
- fd2 (NIM,Name,Address)
Student Table
- fd3 (CodeStd,Study,Credit)
Study Table
THIRD NORMAL FORM (THIRD NORMAL FORM – 3NF)
· The form of normal 3NF has been met if the form meets 2NF, and if there are no non-primary key attribute that has a dependence on non-primary key attributes of the other (transitive dependencies).
Example (1)
· Table the following students qualified 2NF, 3NF, but does not meet

· Because there are non-primary key attribute (ie, City and Province), which has a dependence on non-primary key attributes of the other (ie PosCode):
PosCode à {City, Province}
Example (2)
· So that the table should be Decomposition :
· Students (NIM, Name, Address, PosCode)
- PosCode (PosCode, Province, City)
BOYCE-CODD NORMAL FORM (BNCF)
Boyce-Codd Normal Form constraint has a stronger form of the Normal third. To be BNCF, relations must be in the form of First Normal and forced each of the attributes depends on the function in the super key attributes.
In the example below there is a relationship seminar, is the Primary Key NPM + Seminar.
Students may take one or two seminars. Each seminar requires 2 each of the students and led by one of the 2 seminar. Each leader can only take one seminar course. NPM in this example and show a Seminar Pembimbing.

Relations Seminar is a form of Third Normal, but not BCNF
Seminar Code because the function depends on the Pembimbing, if any Pembimbing can only teach a seminar. Seminar depend on one key attribute is not as super condition by BCNF.
So
Seminar relations must be parsed into two namely:

NORMAL FORM OF THE FOURTH AND FIFTH
· Relations in fourth normal form (4NF ) if the relation in BCNF and dependency not contain many values. To remove the dependency of many values from a relation, we divide the relationship into two new relations. Each relation contains two attributes that have a lot of relationship value.
· Relations in fifth normal form (5NF) deal with the property called the join without any loss of information (lossless join). Fifth normal form (also called the 5 NF PJNF (projection join normal form). The case is very rare and appear difficult to detect in practice.
Reff : Slide Normalisasi by Ngurah Agus Sanjaya Er, S.Kom, M.Kom