You are on page 1of 8

Dwi Putri Wahyuningsih

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

ID Name Position Expertise Length_of_work


001 Yuyun Analysis C 3 years
001 Yuyun Analysis Java 2 years
001 Yuyun Analysis PHP 5 years
002 Dwi Programmers Oracle 2 years
002 Dwi Programmers C 3 years
002 Dwi Programmers Python 2 years
003 Putri Analysis Java 2 years
003 Putri Analysis C 3 years

 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

Table Name: Expertise

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

Table Name: Expertise1

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

Table Name: Employee3

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

Table Name: Position

ID Position
001 Analysis
001 Analysis
001 Analysis
002 Programmers
002 Programmers
002 Programmers
003 Analysis
003 Analysis

Table Name: Expertise2

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

Table Name: Expertise3

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

Table Name: Employee7

Name Position
Yuyun Analysis
Yuyun Analysis
Yuyun Analysis
Dwi Programmers
Dwi Programmers
Dwi Programmers
Putri Analysis
Putri Analysis

Table Name: Expertise4

Name Expertise Length_of_work


Yuyun C 3 years
Yuyun Java 2 years
Yuyun PHP 5 years
Dwi Oracle 2 years
Dwi C 3 years
Dwi Python 2 years
Putri Java 2 years
Putri C 3 years

4. Show the normalization using the Armstrong’s rule.


If F is a set of functional dependencies then the closure of F, denoted as F+, is the set of
all functional dependencies logically implied by F. Armstrong's Axioms are a set of rules,
that when applied repeatedly, generates a closure of functional dependencies.
Reflexive rule − If alpha is a set of attributes and beta is subset of alpha, then alpha holds
beta.
Augmentation rule − If a → b holds and y is attribute set, then ay → by also holds. That
is adding attributes in dependencies, does not change the basic dependencies.
Transitivity rule − Same as a transitive rule in algebra, if a → b holds and b → c holds,
then a → c also holds. a → b is called as a function that determines b.

You might also like