Definisi
Normalisasi Database, Normalisasi adalah suatu teknik untuk mengorganisasikan data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu ogranisasi.
Tujuan dari Normalisasi
- Untuk menghilang kerangkapan data
- Untuk mengurangi kompleksitas
- Untuk mempermudah pemodifikasian data
Proses Normalisasi
Data diuraikan dalam bentuk table, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
Apabila table yang diuji belum memenuhi persyaratan tertentu, maka table tersebut perlu dipecah menjadi beberapa table yang lebih sederhana sampai memenuhi bentuk yang optimal.
Tahapan Normalisasi
Bentuk Tidak Normal
↓ Menghilangkan perulangan group
Bentuk Normal Pertama (1 NF)
↓ Menghilangkan Ketergantungan sebagian
Bentuk Normal Kedua (2NF)
↓ Menghilangkan Ketergantungan Transitif
Bentuk Normal Ketiga (3NF)
↓ Menghilangkan anomali-anomali hasil dari ketergantungan fungsional
Bentuk Normal Boyce-Codd (BCNF)
↓ Menghilangkan ketergantungan Multivalue
Bentuk Normal Keempat (4NF)
↓ Menghilangkan anomali-anomali yang tersisa
Bentuk Normal Kelima
Depedensi (Ketergantungan)
Depedensi merupakan konsep yang mendasari normalisasi yang menjelaskan hubungan antar atribut atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya.
Macam – macam depedensi :
Depedensi fungsional
X secara fungsional menentukan Y
atau secara istilah :
penentu (determinan) → yang tergantung (dependen)
Depedensi fungsional sepenuhnya
Suatu atribut Y mempunyai dependensi fungsional sepenuhnya terhadap atribut X, jika:
– Y mempunyai dependensi fungsional terhadap X, dan
– Y tidak memiliki dependensi terhadap bagian dari X.
Depedensi total
Suatu atribut Y mempunyai dependensi total terhadap atribut X jika:
– Y memiliki dependensi fungsional terhadap X, dan
– X mempunyai dependensi fungsional terhadap Y.
Dependensi seperti ini dinyatakan dengan notasi: X ← →Y
Depedensi transitif
Atribut Z mempunyai dependensi transitif terhadap X jika :
– Y memiliki dependensi fungsional terhadap X.
– Z memiliki dependensi fungsional terhadap Y.atau
dapat dituliskan : X → Y → Z
Bentuk Normal
Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut dalam level-level normalisasi;
Suatu relasi dikatakan berada dalam bentuk normal tertentu jika memenuhi kondisi-kondisi tertentu;
Beberapa level yang biasa digunakan pada normalisasiadalah:
- Bentuk normal pertama (1NF)
- Bentuk normal kedua (2NF)
- Bentuk normal ketiga (3NF)
- Bentuk normal Boyce-Cood (BCNF)
- Bentuk normal keempat (4NF)
- Bentuk normal kelima (5NF)
Bentuk Normal Kesatu (1 NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomic yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data.
· Un normal Form
· Normal ke 1
Atau bentuk lain :
· Un normal Form
· Normal ke 1
Bentuk Normal Kedua (2NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap keynya. Dalam ungkapan yang lebih praktis, bentuk normal kedua mensyaratkan setiap atribut bergantung kepada kunci primer.
Untuk mengubah suatu relasi yang tergolong sebagai bentuk normal pertama ke bentuk normal kedua perlu dilakukan dekomposisi terhadap relasi tersebut. Proses dekomposisi dapat dilakukan dengan menggambarkan diagram dependensi fungsional terlebih dahulu.
Berdasarkan diagram ini, relasi dalam bentuk normal pertama dipecah ke dalam sejumlah relasi.
· Normal ke 1
· Normal ke 2
Relasi (dependensi fungsional)
NIP → { Nama, Jabatan }
{ NIP, Keahlian } → Lama
Hasil dekomposisi :
Bentuk Normal Ketiga (3NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap keynya.
· Normal ke 2
· Normal ke 3
Boyce-Codd Normal Form (BCNF)
Suatu relasi disebut memenuhi bentuk normal Boyce-Codd jika dan hanya jika semua penentu (determinan) adalah kunci kandidat (atribut yang bersifat unik). BCNF merupakan bentuk normal sebagian perbaikan terhadap 3NF. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya
Suatu relasi yang memenuhi 3NF belum tentu memenuhi BCNF. Dalam banyak literatur disebutkan bahwa BCNF adalah perbaikan dari 3NF, karena bentuk normal ketigapun mungkin masih mengandung anomali sehingga masih perlu dinormalisasi lebih lanjut.
BCNF memiliki ketentuan yaitu :
- Masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci dimana kunci tersebut bukan bagiannya.
- Relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah kunci relasi.
- Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka atribut-atribut ini merupakan satu kunci relasi.
- BCNF dapat memiliki lebih dari satu kunci.
Properti penting BCNF adalah relasi tidak memiliki informasi yang redundan.
Perbedaan BCNF dengan 3NF :
- Pada BCNF suatu atribut yang bergantung secara fungsional terhadap kunci primer, mungkin saja merupakan kunci primer bagi atribut yang lain.
- Pada 3NF hal ini bisa saja terjadi dan tidak menjadi masalah.
Contoh :
Relasi di atas memenuhi 3NF tetapi tidak memenuhi BCNF,Karena :
- Seorang mahasiswa dapat mengambil sejumlah mata kuliah.
- Setiap dosen hanya mengajar pada sebuah mata kuliah.
- Setiap mahasiswa pada setiap mata kuliah hanya diajar oleh seorang dosen.
- Suatu mata kuliah yang sama bisa memiliki lebih dari satu dosen.
Mahasiswa, Mata Kuliah→ DosenMahasiswa, Dosen→Mata Kuliah
Cara mengkonversi relasi yang telah memenuhi 3NF ke BCNF:
- Carilah semua penentu
- Bila terdapat penentu yang bukan berupa kunci kandidat,
maka:
- Pisahkan relasi tersebut, dan
- Buat penentu tersebut sebagai kunci primer.
Bentuk Normal ke Empat (4 NF)
Multivalued dependency (MVD).
Dependensi ini pertama kali diperkenalkan oleh R.Fagin pada tahun 1977, dipakai pada bentuk normal keempat (4NF). Dependensi ini dipakai untuk menyatakan hubungan satu ke banyak.
Secara umum, dependensi nilai banyak muncul pada relasi yang paling tidak memiliki tiga atribut dan dua di antaranya bernilai banyak, dan nilainilainya tergantung hanya pada atribut ketiga.
Bila R(A,B,C) merupakan suatu relasi, dengan A, B, C adalah atribut – atribut relasi tersebut, maka proyeksi dari R berupa (A, B) dan (A, C) jika R memenuhi MVD: A -->> B | C
Perlu diketahui, bila terdapat:
A --->> B
A --->> C
Maka keduanya dapat ditulis menjadi:
A --->> B | C
Misalnya, pegawai ditugaskan ke banyak proyek dan ia mempunyai banyak keahlian.
- Jika kita mencatat info ini pd satu tabel, ketiga atribut harus digunakan sbg kunci
- Hubungan antara pegawai dan proyek mrp ketergantungan multivalue krn untuk setiap pasang nilai pegawai/ahli pd tabel, himp nilai proyek yg berhub hanya ditentukan oleh pegawai dan tidak tergantung pada ahli.
- Hubungan antara pegawai &ahli mrp ketergantungan multivalue,karena himpunan nilai ahli untuk pasangan pegawai/proyek selalu hanya tergantung pd pegawai
- untuk mengubah sebuah tabel dg ketergantungan multivalue ke dlm 4NF, pindahkan masing2 pasangan MVD ke tabel baru.
PEGAWAI PROYEK PEGAWAI AHLI
PEGAWAI
|
PROYEK
|
1211
|
P1
|
1211
|
P3
|
PEGAWAI
|
AHLI
|
1211
|
ANALISIS
|
1211
|
PEMROGRAMAN
|
1211
|
PERANCANGAN
|