In the field of relational database design, normalization is a systematic way of ensuring that a database structure is suitable for general-purpose querying and free of certain undesirable characteristics—insertion, update, and deletion anomalies—that could lead to a loss of data integrity.
The reason is other waste storage space (hard disk),Normalization process is the establishment of database structure so the ambiguity can be removed. Normalization stage, starting from the most mild (1NF) to most stringent (5NF). Normalization is usually only up to the level of 3NF or BCNF because already sufficient to generate the table-a table of good quality.
Database Design Process (review)
- Gather user needs / business
- Develop an ER Model based on user / business
- Convert E-R model to the set of relations (tables)
- To Normalized relations, to remove anomalies
- Implemented to create a database with a table for each relationship that have to normalized
Why normalization is needed?
- Optimizing table structures
- Increase speed
- The income data is the same
- More efficient in the use of storage media
- Reduce redundancy
- Avoid 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:
1. If there is decomposition (decomposition) table, it must be guaranteed safe decomposition (Lossless-Join Decomposition). That is, after the table is described / in the decomposition into a new tables, the tables can generate a new table with the same exact.
2. Maintain dependence on the functional changes in data (Dependency preservation).
Does not violate Boyce-Code Normal Form (BCNF)
3. 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 (FD)
- Functional dependency (abbreviated FD) is a restriction that comes from the meaning of attributes and relationships between attributes.
- 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 used are to represent the functional dependency.
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
Example
Functional Dependency:
NRP -> Nama
Mata_Kuliah, NRP -> Nilai
Non Functional Dependency:
Mata_Kuliah -> NRP
NRP -> Nilai
- Functional Dependency from the value table :
NRP -> Nama
- Because for each value NRP the same, then the value of the same nama.
{Mata_Kuliah, NRP } -> Nilai
- 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
Normal Form
Normal form is a condition (using the FD and key) that determines whether a scheme relationships meet certain criteria. There are several normal forms based on a number of criteria:
- Primary keys (1NF, 2NF, 3NF)
- All Candidate Keys (2NF, 3NF, BCNF)
- Multivalued dependencies (4NF)
- Join dependencies (5NF)
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) 1NF is not allowed on the:
- Attribute values, many ( Multivalued attributes).
- Attribute a composite or a combination of both.
- Nested relations.
So, price is the domain attribute must be atomic rates.
Advantage of the 1NF compared Unnormalized relation (UNRs) is a simplification in the form of representation and ease of use in developing a query language
Second Normal Form (2NF) ~ 1
- Normal form 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 it's 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
Second Normal Form (2NF) ~ 2
- Functional dependency X -> Y is full if it is said to delete an attribute A from X means that Y is no longer dependent functional.
- Functional dependency X -> Y said if deleting a partial attribute A from X means that Y is functionally dependent.
- Relation scheme R in the form 2NF if every non-primary key attribute A element R depend on the full functional primary key R.
EXAMPLE:
The following table meet 1NF, but not include 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 in the decomposition needs to be some of the table is eligible 2NF
their 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) ~ 1
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).
Table following students eligible 2NF, 3NF, but does not meet
Because the table above there are still non-primary key attribute (ie, Kota and Provinsi), which has a dependence on non-primary key attributes of the other (ie KodePos), namely:
KodePos à {Kota, Provinsi}
So that the table in the decomposition needs to be:
• Mahasiswa (NIM, NamaMhs, Jalan, KodePos)
– KodePos (KodePos, Provinsi, Kota)
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 form and forced each of the attributes depends on the function in the super key attributes.
Fourth Normal Form and Fifth Normal Form
- Relations in the fourth normal form (4NF) if the relation in BCNF and does not contain a lot of dependence 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.
5th Normal Form /5NF
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.
References
1. Agus Sanjaya ER, S.Kom, M.Kom, slide presentation : Normalisasi
2. http://en.wikipedia.org/wiki/Database_normalization
3. http://kuliah.dinus.ac.id/ika/prc4.html
4. http://databases.about.com/od/specificproducts/a/normalization.htm




.jpg)