contoh Normalisasi Dalam Basis Data

Senin, 25 Maret 2013

  • Normalisasi adalah suatu proses formal untuk menentukaan atribut-atribut yang seharusnya dikelompokkan secara bersama-sama dalam suatu relasi
  • Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut pada langkah-langkah normalisasi
Alasan utama diperlukannya normalisasi karena Permasalahan Redundansi
  • Redundansi : Perulangan yang berlebihan
  • Redundansi menyebabkan :
–  Pemborosan ruang penyimpanan
–  Anomali pada saat insert (simpan), Update (edit/pembaharuan), Delete (hapus)
–  Bisa menyebabkan inkonsistensi
Contoh Redundansi: NIM, Nama, Alamat yang sama ditulis berulang-ulang

Anomali yang terjadi
  • Anomali Insert (Penyisipan)
–  Keadaan yang tidak diingini atau munculnya masalah saat akan menyisipkan data baru ke dalam relasi dengan struktur yang tidak lengkap
–    Data baru bernama Rudi tetapi hobby belum tercatat…?

  • Anomali Update (Pembaharuan)
–  Keadaan di mana apabila satu nilai atribut perlu diperbaharui, jika lebih daripada satu data yang terlibat yang disebabkan adanya pengulangan data maka apabila tidak semua data diperbaharui akan menimbulkan inkonsistensi data
-  Andi berpindah alamat…?
  • Anomali Delete (Penghapusan)
–  Keadaan di mana apabila satu data dihapuskan pada suatu relasi, terjadi kehilangan data lain yang masih diperlukan
– Data hobby bersepeda dihilangkan �Data Antok ikut hilang
Penyebab Redundansi
– Perulangan fakta yang sama
– Adanya atribut turunan
  • Umur (diperoleh dari tgl lahir)
  • Subtotal (diperoleh dari Qty x Harga)
Solusi Redundansi
– Penghilangan data turunan
–  Dekomposisi: pemecahan sebuah relasi menjadi 2 atau lebih relasi
  • Lossy decomposition/lossy-join decomposition (kehilangan informasi ketika relasi dipecah menjadi relasi-relasi lain)
  • Lossless-join decomposition (tidak ada informasi yang hilang ketika relasi dipecah menjadi relasi-relasi lain)

Proses Normalisasi
  • Penormalan adalah proses menguraikan relasi-relasi yang bermasalah mengikut aturan atau ciri-ciri tertentu.
  • Penormalan dilaksanakan langkah demi langkah, yaitu dari satu bentuk normal ke satu bentuk normal yang lebih tinggi.
  • Setiap bentuk normal mempunyai syarat-syarat kelayakan tertentu yang mesti dipenuhi sebelum relasi tersebut diuji untuk bentuk normal yang lebih tinggi.
  • Ada 6 tingkat bentuk Normal
– Bentuk Normal pertama (1NF)
– Bentuk Normal Kedua (2NF)
– Bentuk Normal Ketiga (3NF)
– Bentuk Normal Boyce-Codd (BCNF)
– Bentuk Normal Keempat (4NF)
– Bentuk Normal Kelima (5NF)
  • Untuk relasi sederhana biasanya sudah dalam kondisi yang baik pada 2NF atau 3NF

Contoh Tahapan dalam Normalisasi
1. Bentuk UnNormalized (Tidak Normal)
  • Kondisi Relasi tidak normal (unnormalized) adalah kondisi data apa adanya, tidak mengikuti suatu format tertentu termasuk ketidak lengkapan ataupun redundansi
Contoh: Unnormal karena composit, datanya multi value (banyak nilai/bernilai ganda)

2. Bentuk Normal Pertama (1NF)
  • Definisi: Suatu relasi berada dalam bentuk normal pertama jika relasi tidak mengandung atribut yang bernilai ganda (harus bersifat atomik: hanya mengandung 1 nilai) dan harus diisi datanya (tidak boleh kosong)

  • Pemecahan:
-  Buang atribut berganda
-  Caranya: Atur setiap kolom berisi satu nilai; Bila isi suatu kolom untuk suatu baris berisi n nilai, maka pecahlah baris menjadi n baris

  • Contoh lain (Relasi yang salah): ada field yang sejenis (Item1, Item2, Item3, Item4) dan ada data yang kosong

  • Kadangkala bentuk normal masih memiliki masalah
  • Masalah yang paling umum adalah kemubaziran
3. Bentuk Normal Kedua (2NF)
  • Telah memenuhi 1NF
  • Atribut bukan kunci primer harus bergantung fungsional/dependensi sepenuhnya pada primary key (kunci utama), contoh nama, jabatan tergantung pada NIP, karena NIP kunci primer
  • Pengertian dependensi sepenuhnya:
Definisi: Suatu atribut Y mempunyai dependensi sepenuhnya terhadap atribut X jika:
-  Y mempunyai dependensi terhadap X
- Y tidak mempunyai dependensi terhadap bagian dari X
  • Primary Key harus unik dan bisa menjadi identitas atribut lain yang menjadi anggotanya
  • Perlu dilakukan dekomposisi dan penghapusan atribut turunan
Contoh tidak memenuhi Bentuk Normal Ke Dua

Penyelesaian Bentuk normal Ke dua
  • Terdapat Relasi R:
R (A, B, C, D)
Kunci Primer (A, B)
A → D (D bergantung pada A)
  • R didekomposisi menjadi R1 dan R2
R1 (A, D)
Kunci Primer (A)
R2 (A, B, C)
Kunci Primer (A, B)
Kunci Tamu (A) Referensi R1

4. Bentuk Normal Ketiga (3NF)
  • Telah memenuhi 2NF
  • Semua atribut bukan primer tidak punya hubungan yang transitif (tidak ada dependensi transitif)
  • Suatu atribut Z mempunyai dependensi transitif terhadap X jika:
- Y memiliki dependensi terhadap X dan
- Z memiliki dependensi terhadap Y
X Z
X YZ

  • Semua atribut bukan kunci hanya bergantung pada primary key
  • Untuk Contoh data pembelian, pada relasi nota terdapat permasalahan :
–  Atribut QTY dan Harga tidak tergantung penuh pada nomor nota tetapi juga bergantung fungsional terhadap kode barang (ketergantungan transitif)
–  Masih terdapat redundansi (nonota, tanggal, kodesup, total) jika pada satu nota dilakukan pembelian lebih dari 1 item barang
Contoh dependensi transitif

Contoh lain dependensi transitif

Contoh lain dependensi transitif

Problem pada Dependensi Transitif

0 komentar: