Selasa, 27 November 2012

Ketergantungan (Dependency) & Normalisasi


Ketergantungan (Dependency)
Suatu nilai rincian data dalam relasi tertentu dapat memiliki ketergantungan terhadap nilai rincian data yang lain salama ketergantungannya tidak secara logik. Hal ini merupakan salah satu penyimpangan yang terjadi dalam modifikasi. Keteregantungan data ini bisa dilakukan dengan dekomposisi/pecahan data kedalam bentuk yang efesien. Menurut Martin ketergantungan data terdiri atas :
1.      Ketergantungan fungsional (fungcionally dependency)
Terjadi jika nilai rinci data pada suatu atribut menentukan nilai rinci pada atribut lain.
Contoh :
Notasi A->B  dimana A (atribut penentu) dan B (dependent) suatu relasi.
Tabel 1.a Relasi  Perjalanan

             No_Anggota
Nama_Anggota
Alamat_Lokasi
Tujuan
Biaya
Tanggal
1035
Marita
Gg.Jeruk
Bali
750.000
1-1-2012
1036
Sukimin
Gg.Mangga
Jakarta
500.000
8-1-2012
1037
Fikiriyanto
Gg.Pisang
Bandung
450.000
15-1-2012
1038
Anggita
Gg.Pete
Surabaya
500.000
22-1-2012

Dalam relasi Perjalanan FD dapat dituliskan sebagai berikut.
FD:R.A -> R.B
FD: (Perjalanan.No_Anggota, Perjalanan.Tujuan, Perjalanan.Tanggal ->  Perjalanan.Nama_Anggota, Perjalanan.Alamat_Lokasi, Perjalanan.Biaya)
Keterangan: Nama_Anggota dan Alamat_Anggota bergantung pada No_Anggota dan Biaya bergantung Tujuan dan Tanggal.


1.     Ketergantungan Total(Total Dependence/TD)
Ketregantungan ini kata kuncinnya yaitu jika terdapat dimana atribut B diakatan mengalami ketergantungan  total jika :
B fungctionally dependence terhadap A begitu juga sebaliknya.

Normalisasi
Normalisasi adalah suatu proses pembuatan struktur basis data untuk meminimalisir atau menghilangkan suatu ambiguity.
Normalisasi merupakan sebuah cara yang digunakan dalam sebuah basis data untuk mengelompokkan suatu atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi).
Tujuan :
          Untuk menghilang kerangkapan data
          Untuk mengurangi kompleksitas
          Untuk mempermudah pemodifikasian data
Normalisasi dilakukan dengan menguraikan data dalam bentuk tabel, kemudian dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila telah memenuhi syarat maka perlu dipecah lagi tabel tersebut menjadi tabel yang sederhana sampai memenuhi bentuk yang optimal.
Tahapan Normalisasi
Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb:
  1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya  harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.
  2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
  3. Tidak melanggar Boyce-Codd Normal Form (BCNF) (-akan dijelaskan kemudian-)
 



Bentuk-bentuk Normal :
  1. Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
·         Tidak adanya atribut multi-value, atribut komposit atau kombinasinya.
·         Mendefinisikan atribut kunci.
·         Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)
  
  1. Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF)
·         Sudah memenuhi dalam bentuk normal kesatu (1NF)
·         Semua atribut bukan kunci hanya boleh tergantung (functional dependency) pada atribut kunci
·         Jika ada ketergantungan  parsial maka atribut tersebut harus dipisah pada table yang lain
·         Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi.
 
  1. Bentuk Normal Tahap (3rd Normal Form / 3NF)
·         Sudah berada dalam bentuk normal kedua (2NF)
·         Tidak ada ketergantungan transitif (dimana atribut bukan kunci tergantung pada atribut bukan kunci lainnya). 

  1. Boyce-Code Normal Form (BCNF)
Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk:      X à Y maka X adalah super key. Table tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi. Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X à A, BCNF tidak membolehkan A sebagai bagian dari primary key.

  1. Bentuk Normal Tahap (4th Normal Form / 4NF)
Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued attribute. Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies.
 
  1. Bentuk Normal Tahap (5th Normal Form / 5NF)

Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil. Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula


Refensi :
 1. www.informatika.unsyiah.ac.id/.../basisdata/Bab%208%20-...



Tidak ada komentar:

Posting Komentar