Normalisasi pada Database
Proses normalisasi merupakan proses penggelompokan data elemen menjadi tabel-tabel yang menunjukan entity dan relasi yang baik (sedapat mungkin menghilangkan redudasi pada kondisi tertentu redudasi yang dibutuhkan).
Bentuk-bentuk Normalisasi
Bentuk normal adalah suatu aturan dikenakan pada entity-entity dalam database dan harus dipenuhi oleh entity tersebut sehingga tercapai normalisasi tersebut sehingga tercapai normalisasi. Suatu entity dikatakan dalam bentuk normal apabila entity tersebut memenuhi aturan pada bentuk normal tersebut.
Berikut tingkatan bentuk normal dalam proses normalisasi:
· Bentuk normal pertama ( 1NF)
· Bentuk normal kedua (2NF)
· Bentuk normal ketiga (3NF)
· Bentuk normal Boyce-Codd (BCNF)
· Bentuk normal keempat (4NF)
Bentuk Unnormalized Form
- Value pada kolom Kode_Matkul lebih dari 1, itulah mengapa masih disebut Unnormalized.
Bentuk First Normal Form (1NF)
- Value pada masing-masing kolom hanya ada Satu
Bentuk Second Normal Form (2NF)
Memiliki ketergantungan fungsional
Tabel 1
Tabel 2
Tabel 3
Pada bentuk 1NF, masih terdapat ketidaktergantungan terhadap beberapa kolom (misal TTL tidak bergantung pada kode_matkul), sehingga tabel dipecah menjadi 3 bagian agar tabel-tabel tersebut dapat memiliki ketergantungan terhadapat kolom-kolomnya (misal NIM bergantung pada nama_mhs dan ttl).
Bentuk Third Normal Form (3NF)
Tabel 1 dan 2 sudah memenuhi criteria bantuk 3NF, namun tidak untuk tabel 3, karena bila kita ingin merubah value bobot dari nilai, maka kita akan melakukan perubahan pada banyak record/baris yang lainnya. Sehingga pada bentuk 3NF, tabel 3 dapat dipecah lagi menjadi 2 tabel agar memenuhi kriteria bentuk 3NF.
Tabel 3a
Tabel 3b
Syarat-syarat Normalisasi
Ø Fleksibilitas
Struktur database harus menunjang semua cara untuk menampilkan data,sehingga kita user menjalankan aplikasi dan meminta sesuatu dalam data base,database harus dapat berjalan memenuhi permintaan user.
Ø Integritas Data
Semua data dalam database yang berkaitan harus terhubung dalam sebuah relationship.
Ø Efficiency
Pada database yang baik menyajikan suatu keyakinan bahwa ketika user melakukan perubahan dalam database, maka tidak terjadi hal yang tidak diinginkan.
Kapan Ketika Memakai Normalisasi
1. Ketika kita ingin mempertahankan keserhanaan database , sehingga user harus dapat melakukan Query sendiri.
2. Jika kita ingin melakukan Query yang rumit,normalisasi biasanya akan membuat rumit Query karena melibatkan banyak tabel.
3. Tidak selamanya normalisasi membuat baik, malah akan menyebabkan database semakin buruk.
Sumber:
http://blog-dani.com/database/normalisasi-pada-database.html
http://boynurah.wordpress.com/2010/07/15/normalisasi-database/