Normalisasi merupakan
sebuah teknik dalam logical desain sebuah basis data yang mengelompokkan
atribut dari suatu relasi sehingga membentuk struktur relasi yang baik dengan
ditandai dengan tidak adanya redudansi data pada database tersebut. Perlu
dipahami bahwa Normalisasi adalah proses pembentukan struktur basis
data sehingga sebagian besar ambiguity bisa dihilangkan.
Tujuan Normalisasi Database adalah menghilang
kerangkapan data (data redudance), mengurangi kompleksitas dan untuk mempermudah
pemodifikasian data. Artinya, database yang belum dinormalisasi akan banyak
mengandung kerangkapan data, data menjadi sangat kompleks sehingga susah
dimodifikasi.
Proses Normalisasi database diuraikan dalam bentuk tabel, selanjutnya
dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila tabel
yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu
dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang
optimal.
Suatu rancangan
database disebut buruk apabila data yang sama tersimpan di beberapa tempat (file
atau record). Ketidakmampuan untuk menghasilkan informasi tertentu. Terjadi
kehilangan informasi. Terjadi adanya redudansi (pengulangan) atau duplikasi
data sehingga memboroskan ruang penyimpanan dan menyulitkan saat proses
updating data. Timbul adanya NULL VALUE.
Kehilangan informasi
bisa terjadi bila pada waktu merancang database (melakukan proses dekomposisi
yang keliru).
Normalisasi database terdiri dari banyak bentuk, dalam ilmu basis data ada setidaknya 9
bentuk normalisasi yang ada
yaitu 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF,
dan 6NF. Namun dalam prakteknya dalam dunia industri bentuk normalisasi
ini yang paling sering digunakan ada sekitar 5 bentuk.
Normal Form
Data yang direkam dan
dimasukkan secara mentah dalam suatu tabel pada bentuk ini sangat mungkin
terjadi inkonsistensi dan anomali data
Pada bentuk ini ada
beberapa ciri ciri yang penting, yang pertama adalah akan terjadi anomali dalam
insert, update, dan delete. Hal ini menyebabkan beberapa fungsi DML dalam
SQL tidak dapat berjalan dengan baik. Sebagai contoh jika ingin menghapus Wajib
Pajak maka data Nopol dan Transaksi akan
ikut terhapus begitu juga jika ingin menghapus Nopol, maka data Wajib Pajak
yang harusnya tidak terhapus akan ikut hilang.
First Normal Form
(1NF)
Bentuk normal yang
pertama atau 1NF mensyaratkan beberapa kondisi dalam sebuah database, berikut
adalah fungsi dari bentuk normal pertama ini. Tujuan dibentuknya 1NF adalah menghilangkan
duplikasi kolom dari tabel yang sama. Caranya adalah dengan membuat tabel
terpisah untuk masing-masing kelompok data terkait dan mengidentifikasi setiap
baris dengan kolom yang unik (primary key).
Contoh Normalisasi Database 1NF
Primary Key Tabel
Obyek Pajak : Nopol
Primary Key Tabel Wajib
Pajak : NIK
Primary Key Tabel
Transaksi : Kode_Trx
Pada intinya bentuk
normalisasi 1NF ini mengelompokkan beberapa tipe data atau kelompok data yang
sejenis agar dapat dipisahkan sehingga anomali data dapat di atasi. Contoh
adalah ketika kita ingin menghapus, mengupdate, atau menambahkan data Wajib
Pajak, maka kita tidak bersinggungan dengan Obyek Pajak. Sehingga inkonsistensi
data dapat mulai dijaga.
Second normal form
(2NF)
Syarat untuk
menerapkan normalisasi bentuk kedua ini adalah data telah dibentuk dalam 1NF. Beberapa
fungsi normalisasi 2NF adalah menghapus beberapa subset data yang ada pada
tabel dan menempatkan mereka pada tabel terpisah, menciptakan hubungan antara
tabel baru dan tabel lama dengan menciptakan foreign key, tidak ada atribut
dalam tabel yang secara fungsional bergantung pada candidate key tabel
tersebut.
Contoh normalisasi database bentuk 2NF
Contoh di atas kita
menggunakan tabel transaksi, pada intinya bentuk kedua ini adalah tidak boleh
ada field yang berhubungan dengan field lainnya secara fungsional. Contoh Nama
Pemilik tergantung dengan NIK sehingga dalam bentuk 2NF Nama Pemilik dapat di
hilangkan karena telah memiliki tabel master tersendiri.
Third Normal Form
(3NF)
Normalisasi database
dalam bentuk 3NF bertujuan untuk menghilangkan seluruh atribut atau field yang
tidak berhubungan dengan primary key. Dengan demikian tidak ada ketergantungan
transitif pada setiap kandidat key. Syarat dari bentuk normal ketiga atau 3NF
adalah memenuhi semua persyaratan dari bentuk normal kedua dan menghapus kolom
yang tidak tergantung pada primary key.
Contoh Normalisasi Database Bentuk 3NF
Tidak semua kasus
atau tabel dapat kita sesuaikan dengan berbagai bentuk normalisasi ini, untuk
contoh 3NF diatas 2NF telah memenuhi syarat kita pakai sebagai 3NF.
BCNF Boyce–Codd
normal form
Merupakan sebuah
teknik normalisasi database yang sering disebut 3.5NF, memiliki hubungan yang
sangat erat dengan bentuk 3NF. Pada dasarnya adalah untuk menghandle anomali
dan overlooping yang tidak dapat di handle dalam bentuk 3NF. Normalisasi
database bentuk ini tergantung dari kasus yang disediakan, tidak semua tabel
wajib di normalisasi dalam bentuk BCNF.
kayaknya ada kesalahan deh, gambar yang 3NF sama kayak gambar 2NF
ReplyDelete