Professional Documents
Culture Documents
2019390004
Assignment: Normalization
Answer the following questions using your own word in MS-word or pdf file, and submit this
repository:
1. Describe what is database normalization, including the goal and pro and cons of the
normalization process.
Normalization is a database design technique that reduces data redundancy and
eliminates unwanted characteristics such as Insertions, Updates and Deletes Anomalies.
Normalization rules divide larger tables into smaller tables and link them using
relationships.
The goal of normalization is to have relational tables that are free of redundant data and
can be modified correctly consistently.
Cons of normalization:
1. Difficult & expensive to do well
2. requires skills to provide understandable and simplified functional views and access
methods for consumer OLTP applications
3. requires discipline to maintain current conceptual & normalization
4. requires skill & discipline to remain well indexed
5. requires expertise & experience to create & manage OLAP displays and the ETL
processes that populate them.
Pros of normalization:
1. ACID - no redundancy means no relational inconsistencies
2. performance - a fully normalized data model expression is very close to the most
concise representation of the data in terms of bytes per unit of information
3. performance - a well-normalized database is faster to write and access for the same
reason - fewer bytes per unit of information.
2. Describe the specification of each normal form: 1st, 2nd, 3rd, BCNF, 4th and 5th
(PJNF).
1) 1NF (First Normal Form) Rules
Each table cell should contain a single value.
Each record needs to be unique.
2) 2NF (Second Normal Form) Rules
Rule 1- Be in 1NF
Rule 2- Single Column Primary Key
3) 3NF (Third Normal Form) Rules
Rule 1- Be in 2NF
Rule 2- Has no transitive functional dependencies
4) BCNF (Boyce-Codd Normal Form)
Even when a database is in 3rd Normal Form, still there would be anomalies
resulted if it has more than one Candidate Key. Sometimes is BCNF is also
referred as 3.5 Normal Form.
5) 4NF (Fourth Normal Form) Rules
If no database table instance contains two or more, independent and multivalued
data describing the relevant entity, then it is in 4th Normal Form.
6) 5NF (Fifth Normal Form) or PJNF
Fifth normal form (5NF), also known as project combined normal form (PJNF).
This is a level of database normalization designed to reduce redundancy in
relational databases. A relation is said to be in 5NF if and only if it satisfies 4NF
and there are no joint dependencies. A relation is said to have a compound
dependency if it can be re-created by combining several sub-relations and each of
these sub-relations has a subset of the attributes of the original relation.
3. Develop the sample tables each of normalization forms/process.
Normal form
Table name: Profession
ID Name Position Expertise Length_of_work
001 Yuyun Analysis C 3 years
Java 2 years
PHP 5 years
002 Dwi Programmers Oracle 2 years
C 3 years
Python 2 years
003 Putri Analysis Java 2 years
C 3 years
1NF
Table name: Profession
2NF
Table name: Employee
ID Name Position
001 Yuyun Analysis
001 Yuyun Analysis
001 Yuyun Analysis
002 Dwi Programmers
002 Dwi Programmers
002 Dwi Programmers
003 Putri Analysis
003 Putri Analysis
ID Expertise Length_of_work
001 C 3 years
001 Java 2 years
001 PHP 5 years
002 Oracle 2 years
002 C 3 years
002 Python 2 years
003 Java 2 years
003 C 3 years
3NF
Table Name: Employee1
ID Name Position
001 Yuyun Analysis
001 Yuyun Analysis
001 Yuyun Analysis
002 Dwi Programmers
002 Dwi Programmers
002 Dwi Programmers
003 Putri Analysis
003 Putri Analysis
Expertise Length_of_work
C 3 years
Java 2 years
PHP 5 years
Oracle 2 years
C 3 years
Python 2 years
Java 2 years
C 3 years
Table Name: Expertise2
ID Position Expertise
001 Analysis C
001 Analysis Java
001 Analysis PHP
002 Programmers Oracle
002 Programmers C
002 Programmers Python
003 Analysis Java
003 Analysis C
BCNF
Table name: Employee2
ID Name Position
001 Yuyun Analysis
001 Yuyun Analysis
001 Yuyun Analysis
002 Dwi Programmers
002 Dwi Programmers
002 Dwi Programmers
003 Putri Analysis
003 Putri Analysis
Name Length_of_work
Yuyun 3 years
Yuyun 2 years
Yuyun 5 years
Dwi 2 years
Dwi 3 years
Dwi 2 years
Putri 2 years
Putri 3 years
4NF
Table Name: Employee4
ID Name
001 Yuyun
001 Yuyun
001 Yuyun
002 Dwi
002 Dwi
002 Dwi
003 Putri
003 Putri
ID Position
001 Analysis
001 Analysis
001 Analysis
002 Programmers
002 Programmers
002 Programmers
003 Analysis
003 Analysis
ID Expertise Length_of_work
001 C 3 years
001 Java 2 years
001 PHP 5 years
002 Oracle 2 years
002 C 3 years
002 Python 2 years
003 Java 2 years
003 C 3 years
5NF (PJNF)
Table Name: Employee6
ID Name Position
001 Yuyun Analysis
001 Yuyun Analysis
001 Yuyun Analysis
002 Dwi Programmers
002 Dwi Programmers
002 Dwi Programmers
003 Putri Analysis
003 Putri Analysis
ID Expertise Length_of_work
001 C 3 years
001 Java 2 years
001 PHP 5 years
002 Oracle 2 years
002 C 3 years
002 Python 2 years
003 Java 2 years
003 C 3 years
Name Position
Yuyun Analysis
Yuyun Analysis
Yuyun Analysis
Dwi Programmers
Dwi Programmers
Dwi Programmers
Putri Analysis
Putri Analysis