The process includes:
• Gathering user or business's requirement
• Develop E-R Model bases user or business's requirements
• Convert E-R Model go to relationship gatherings (table)
• Relationship normalization to remove anomaly
• Implementation goes to database by make table for each relationship already most normalization
Database Normalization
Normalization is process of database structure forming so mainly part of ambiguity can be removed. Normalization phase is begun from lightest phase (1NF) until tightest (5NF). Usually, only coming up with level 3NF or BCNF because has adequate enough to yield the tables of which with quality goodness.
Why done by normalization?
• Optimizing table structures
• Increasing speed
• Removing same data inclusion
• More efficient in storage media purpose
• Reducing redundancy
• Avoiding anomaly (insertion anomalies, deletion anomalies, and anomaly's update).
• Increased data integrity
One table is said well (efficient) or normal if accomplish 3 criterions as follows:
If there is decomposition (parsing) table, therefore the decomposition shall be secured safe (Lossless Join Decomposition). It’s mean, after that table is untied / at decomposition becomes new tables, that new tables can result original table equally exactly
Its preserve dependency functional at the moment data change (Dependency Preservation).
Don't breach Boyce-Code Normal Form (BCNF)
If the third criterion (BCNF) can't be accomplished, therefore at least that table not breach the third Normal Form (3rd Normal Form/ 3NF).
Functional Dependency
Functional Dependency is describe attributes interaction 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. Symbol be used is –> to represent the functional dependency. –> read the functional determining.
• Notation : A B
A and B are attributes of a table. Means that the functional A determining 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
Mata_Kuliah, NRP -> Value
Non Functional Dependency:
Mata_Kuliah -> NRP
NRP -> Value
Functional Dependency of the table value
Nrp -> Name
Because for each value Nrp the same, then the value of the same name
(Mata_kuliah, NRP) -> Value
Because the value of attributes depending on the NRP and Mata_kuliah together.
In another sense Mata_kuliah for the NRP and the same, they also rated the same,
because Mata_kuliah and the NRP is a key (is unique).
Mata_kuliah -> NRP
NRP -> Value
FIRST NORMAL FORM 1NF
A table on the form said to be normal if I 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)
Not allowed:
Many attributes of value (Multivalued attributes).
Attributes composite or a combination of both.
So: Price is the domain attribute must be atomic rates
Eg Student Data as follows:
The table above does not meet the requirements 1NF
Decomposition as follows :
Second Normal Form - 2NF
2NF's normal form is accomplished in one table if have accomplished 1NF's form, and all attribute besides primary key, as whole to have Functional Dependency on primary key. One table will not accomplishes 2NF, if there is attribute which its dependency (Functional Dependency) just have partial character only (just depend on a part of primary key). If anything attribute that have no dependency for primary key, therefore that attribute have to move or is removed. Functional dependency X Y is said full if erasing an attribute A of X its mean that Y no longer functional dependent. Functional dependency X Y is said partial if erases an A's attribute of X matter Y still functional dependent. Relationship scheme r on 2NF form if each attribute non primary key A R full dependent functionally on primary key R.
The following table meet 1NF, but not meet 2NF :
Does not meet 2NF, because (NIM, KodeMk) is regarded as the primary key:
(NIM, KodeMk) -> NamaMhs
(NIM, KodeMk) -> Address
(NIM, KodeMk) -> Matakuliah
(NIM, KodeMk) -> SKS
(NIM, KodeMk) -> NilaiHuruf
Table needs to be some table decomposition eligible 2NF
Functional dependency as follows:
(NIM, KodeMk) -> NilaiHuruf (fd1)
NIM -> (NamaMhs, Address) (fd2)
KodeMk -> (Matakuliah, SKS) (fd3)
So that:
fd1 (NIM, KodeMk, NilaiHuruf) -> Value Table
fd2 (NIM, NamaMhs, Address) -> Table Student
fd3 (KodeMk, Matakuliah, SKS) -> Table MataKuliah
THIRD NORMAL FORM - 3NF
Normal form 3NF fulfilled 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).
The following table meet 2NF, but not meet 3NF :
Because there are non-primary key attribute (ie, City and Provincial), which has a dependence on non-primary key attributes of the other (ie KodePos):
KodePos -> (City, Province)
So that the table should be dicomposition as follows:
Student (NIM, NamaMhs, Road, KodePos)
KodePos (KodePos, Province, City)
Boyce-Codd Normal Form (BNCF)
Boyce Codd Normal Form has stronger compulsion of third Normal form. To become BNCF, relationship shall in first Normal form and each attribute is forced dependent on function on attribute super key. On example hereunder is exists Seminar relationship, Prime key is NPM + seminar.
Student may take one or two seminar. Each seminar needs 2 counselors and each student led by one of between 2 that seminar counselor. Each counselor just may take one seminar only. On this example NPM and seminar points out a Counselor.
Seminar Relationship
NPM Seminar Counselor
1000 S100 Arya
1001 S100 Ayu
1002 S101 Mezi
1001 S101 Mezi
1003 S101 Edi
Seminar Relationship form is third Normal Form, but not BCNF since Seminar Code is still dependent function on Counselor, if each Counselor gets to teach just one seminar. Dependent seminar on one attribute is not super key as presupposed by BCNF. Therefore Seminar relationship shall be broken down as two which is:
Counselor Relationship
Counselor Seminar
Arya S100
Ayu S100
Mezi S101
Edi S101
Seminar-Counselor Relationship
NPM Counselor
1000 Arya
1001 Ayu
1002 Mezi
1001 Mezi
1003 Edi
Fourth and fifth Normal Form
Relationship in fourth normal form (4 NF) if relationship in BCNF and not contains of multi value dependency. To remove multi value dependency from one relationship, we are divide relationship become two new relationships. Each relationship contains of two attributes that have multi value relationship.
Relationship in fifth normal form (5NF) get business with property is called join without marks sense information loss (lossless join). The fifth normal Form (5 NF also called PJNF (projection join normal form). This case is very rare to appearance and hard to be detected practically.
References:
1. Agus Sanjaya ER, S.Kom, M.Kom, slide presentation : Database and ER-Diagram


