Normalisasi Database, Sebuah Studi Kasus Data Samsat
Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data yang mengelompokkan atribut dari suatu kekerabatan sehingga membentuk struktur kekerabatan 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 yaitu 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 menurut persyaratan tertentu ke beberapa tingkat. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana hingga memenuhi bentuk yang optimal.
Suatu rancangan database disebut jelek apabila data yang sama tersimpan di beberapa kawasan (file atau record). Ketidakmampuan untuk menghasilkan isu tertentu. Terjadi kehilangan informasi. Terjadi adanya redudansi (pengulangan) atau duplikasi data sehingga memboroskan ruang penyimpanan dan menyulitkan dikala proses updating data. Timbul adanya NULL VALUE.
Kehilangan isu 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 dipakai 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 yaitu akan terjadi anomali dalam insert, update, dan delete. Hal ini menjadikan beberapa fungsi DML dalam SQL tidak sanggup berjalan dengan baik. Sebagai pola jikalau ingin menghapus Wajib Pajak maka data Nopol dan Transaksi akan ikut terhapus begitu juga jikalau 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 yaitu fungsi dari bentuk normal pertama ini. Tujuan dibentuknya 1NF yaitu menghilangkan duplikasi kolom dari tabel yang sama. Caranya yaitu 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 pada dasarnya bentuk normalisasi 1NF ini mengelompokkan beberapa tipe data atau kelompok data yang sejenis supaya sanggup dipisahkan sehingga anomali data sanggup di atasi. Contoh yaitu ketika kita ingin menghapus, mengupdate, atau menambahkan data Wajib Pajak, maka kita tidak bersinggungan dengan Obyek Pajak. Sehingga inkonsistensi data sanggup mulai dijaga.
Second normal form (2NF)
Syarat untuk menerapkan normalisasi bentuk kedua ini yaitu data telah dibuat dalam 1NF. Beberapa fungsi normalisasi 2NF yaitu menghapus beberapa subset data yang ada pada tabel dan menempatkan mereka pada tabel terpisah, membuat korelasi antara tabel gres dan tabel usang dengan membuat 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 memakai tabel transaksi, pada pada dasarnya bentuk kedua ini yaitu dihentikan ada field yang bekerjasama dengan field lainnya secara fungsional. Contoh Nama Pemilik tergantung dengan NIK sehingga dalam bentuk 2NF Nama Pemilik sanggup di hilangkan dikarenakan telah mempunyai tabel master tersendiri.
Third Normal Form (3NF)
Normalisasi database dalam bentuk 3NF bertujuan untuk menghilangkan seluruh atribut atau field yang tidak bekerjasama dengan primary key. Dengan demikian tidak ada ketergantungan transitif pada setiap kandidat key. Syarat dari bentuk normal ketiga atau 3NF yaitu 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 sanggup kita sesuaikan dengan banyak sekali bentuk normalisasi ini, untuk pola 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, mempunyai korelasi yang sangat dekat dengan bentuk 3NF. Pada dasarnya yaitu untuk menghandle anomali dan overlooping yang tidak sanggup di handle dalam bentuk 3NF. Normalisasi database bentuk ini tergantung dari kasus yang disediakan, tidak semua tabel wajib di normalisasi dalam bentuk BCNF.