2
Capaian
Mahasiswa/i mampu melakukan normalisasi tabel basis data
3
Normalisasi
Istilah Normalisasi berasal dari E. F.Codd, salah seorang
perintis teknologi basis data.
Selain dipakai sebagai metodologi tersendiri untuk
menciptakan struktur tabel (relasi) dalam basis data (dengan
tujuan untuk mengurangi kemubaziran data), normalisasi
terkadang hanya diipakai sebagai perangkat verifikasi
terhadap tabel-tabel yang dihasilkan oleh metodologi lain
(misalnya E-R).
Normalisasi memberikan panduan yang sangat membantu bagi
pengembang untuk mencegah penciptaan struktur tabel yang
kurang fleksibel atau mengurangi kefleksibelan.
4
Kroenke mendefinisikan normalisasi sebagai proses untuk
mengubah suatu relasi yang memiliki masalah tertentu ke dalam
dua buah relasi atau lebih yang tidak memiliki masalah tersebut.
5
Tujuan normalisasi
o Untuk menghilangkan kerangkapan data
o Untuk mengurangi kompleksitas
o Untuk mempermudah pemodifikasian data
Anomali
Anomali adalah proses pada basis data yang memberikan efek samping
yang tidak diharapkan (misalnya menyebabkan ketidakonsistenan data
atau membuat suatu data menjadi hilang ketika data dihapus)
8
Normalisasi Tabel
9
Konsep functional dependency dan determinant dapat
digunakan untuk membantu dalam merancang
relation.
10
Definisi Normalisasi
Normalisasi adalah proses (atau langkah-langkah untuk)
memecah sebuah tabel atau relation yang memiliki lebih dari
satu tema menjadi sebuah kumpulan tabel yang masing-
masing memiliki hanya satu tema.
11
Tujuan
Normalisasi bertujuan untuk
menghindari terjadinya redundansi
data.
12
Bentuk tidak normal (Unnormalized form)
Normalisasi dilakukan melalui rangkaian tahapan yang
13
Dalam kebanyakan rancangan database untuk bisnis,
3NF biasanya adalah tahapan tertinggi dalam proses
normalisasi.
14
Kemungkinan terjadinya masalah integritas data
yang disebabkan oleh redundansi data harus
dipertimbangkan saat merancang sebuah database.
15
Prinsip Rancangan Relational
Prinsip rancangan yang disebut relasi berbentuk-baik
(well-formed relation) :
16
Proses Normalisasi
17
1. Identifikasi seluruh candidate key pada relasi tersebut.
2. Identifikasi seluruh functional dependency pada relasi.
3. Periksa determinant pada functional dependency. Bila ada
determinant yang bukan candidate key, maka relasi tidak
well-formed. Lakukan hal-hal berikut:
a) Tempatkan kolom dari functional dependency pada
relasi baru sendiri yang terpisah.
b) Buat determinant dari functional dependency sebagai
primary key pada relasi yang baru.
c) Tempatkan copy dari determinant sebagai foreign key
pada relasi awal.
d) Buat referential integrity constraint antara relasi awal
dengan relasi yang baru.
4. Ulangi langkah 3 sebanyak yang diperlukan hingga semua
determinant dari setiap relasi adalah candidate key.
18
Langkah-Langkah Normalisasi
Perhatikan relasi berikut ini:
19
1# Identifikasi candidate key
20
2# Identifikasi functional dependency
◦ PrescriptionNumber (Date, Drug, Dosage, CustomerName,
CustomerPhone, CustomerEmail)
◦ Beberapa drug memiliki beberapa dosages sehingga Drug
bukan determinant.
◦ Dosage bukan determinant karena dosage yang sama dapat
diberikan kepada beberapa drug yang berbeda
◦ CustomerEmail (CustomerName, CustomerPhone)?
21
3# Pisahkan Relation
22
Bentuk Normal 1nf
23
Bentuk tidak normal / Unnormalized Form (UNF)
adalah sebuah tabel yang berisi satu atau lebih
kelompok yang berulang.
24
BENTUK TIDAK NORMAL/UNNORMALIZED
25
BENTUK NORMAL 1NF
26
Bentuk Normal 2nf
28
Bentuk normal kedua / Second Normal Form (2NF)
adalah sebuah relasi yang berbentuk normal 1nf (First
Normal Form) dimana setiap attribute yang bukan
primary key secara penuh bergantung (functionally
dependent) pada primary key.
29
Bentuk normal 2nf
30
Bentuk Normal 3nf
31
Bentuk normal ketiga / Third Normal Form (3NF)
adalah sebuah relasi yang berbentuk normal 1nf dan
2nf dimana tidak ada attribute yang bukan primary
32
Bentuk normal 3nf
(tambahan dari bentuk normal 2nf sebelumnya)
33
Partial dependency terjadi saat ada functional
dependency dimana determinant menjadi bagian dari
primary key (dengan asumsi hanya ada satu candidate
key). Misal, (A, B)→(C,D), B→C, dimana composite
(A, B) adalah primary key, maka functional
dependency B→C adalah partial dependency karena
hanya bagian dari primary key (B) yang dibutuhkan
untuk menentukan nilai C.
Partial dependency lebih mudah diidentifikasi.
34
Transitive dependency terjadi saat ada functional
dependency seperti X→Y, Y→Z, dimana X adalah
primary key. Dalam kasus ini, X→Z adalah sebuah
transitive dependency karena X menentukan nilai Z
melalui Y.
35
STUDI KASUS 2
36
Ex…
Ada perusahaan konstruksi yang
mengelola beberapa proyek
bangunan.
Setiap proyek memiliki nomor, nama,
CHG_HOUR)
ASSIGNMENT (PROJ_NUM, EMP_NUM, ASSIGN_HOURS)
pada PROJECT
EMP_NUM pada ASSIGNMENT harus ada dalam EMP_NUM
pada EMPLOYEE
Sebuah tabel disebut dalam bentuk normal kedua
(2NF) bila:
• Tabel adalah sebuah 1NF.
• Tidak mengandung partial dependency sehingga, tidak
ada attribute yang dependent pada hanya sebagian dari
primary key.
Catatan masih ada kemungkinan tabel 2NF untuk
mengandung transitive dependency
Konversi ke Bentuk 3NF
Langkah 1: tentukan candidate untuk primary key dan
buat tabel baru untuk menghilangkan transitive
dependency
Untuk setiap transitive dependency, tulislah sebuah
copy determinantnya sebagai primary key pada tabel
yang baru. Determinant adalah attribute yang nilainya
menentukan nilai-nilai lain dalam sebuah baris.
Tuliskan determinant dari transitive dependency
sebagai primary key:
JOB_CLASS
Langkah 2: Mengatur ulang attribute dependent yang
berhubungan
Identifikasi attribute yang dependent pada setiap
determinant yang teridentifikasi di Langkah 1.
Tempatkan attribute dependent dalam tabel baru
dengan determinantnya dan hapus mereka dari tabel
asal.
EMP_NUM (EMP_NAME, JOB_CLASS)
Sebuah tabel disebut dalam bentuk normal ketiga
(3NF) bila:
• Tabel adalah sebuah 2NF.
• Tidak mengandung transitive dependency.
Tahap Normalisasi dimulai dari tahap paling ringan
(1NF) hingga paling ketat (5NF). Biasanya hanya
sampai pada tingkat 3NF atau BCNF karena sudah
cukup memadai untuk menghasilkan tabel-tabel yang
berkualitas baik. Jika kriteria ketiga (BCNF) tidak
dapat terpenuhi, maka paling tidak tabel tersebut tidak
melanggar Bentuk Normal tahap ketiga (3rd Normal
Form / 3NF).
57
Secara rinci tahapan Normalisasi terdiri dari :
1. Unnormalization Form
Merupakan bentuk tidak normal berdasarkan data yang
diperoleh dan mengandung repeating group. Menghilangkan
atribut bernilai ganda/multi value.
2. First Normal Form (1NF)
Entitas yang atributnya memiliki tidak lebih dari satu nilai
untuk contoh tunggal entitas tersebut. Menghilangkan
ketergantungan sebagian/parsial.
3. Second Normal Form (2NF)
Entitas yang atribut non-primary key-nya hanya tergantung
pada full primary key. Menghilangkan ketergantungan
transitif.
58
4. Third Normal Form (3NF)
Entitas yang atribut non-primary key-nya tidak tergantung
pada primary key yang lain secara fungsional depedensi.
Menghilangkan anomali-anomali hasil dari ketergantungan
fungsional.
59
6. Fourt Normal Form (4NF)
Dilakukan jika masih terdapat adanya anomaly pada
BCNF. Menghilangkan anomali-anomali yang tersisa, atau
menghilangkan lebih dari satu depedensi bernilai ganda.
60
BENTUK NORMALISASI
63
Ex :
keahlian
64
2 NF
NIP Nama Jabatan
107 Ilham Analis Senior
109 Ryan Analis Junior
120 Fika Programmer
66
Siswa Kursus Tutor
Anwar Bhs. Perancis Pierre
Anwar Bhs. Inggris Suzanne
Budi Bhs. Perancis Pierre
Cecep Bhs. Inggris Suzanne
68
Carilah semua penentu
Bila terdapat penentu yang bukan kunci kandidat, maka :
69
Diskusi & tanya jawab
Terima Kasih
Salam DUNIA SATU KELUARGA