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:
- 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.
- Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
- Tidak melanggar Boyce-Codd Normal Form (BCNF) (-akan dijelaskan kemudian-)
Bentuk-bentuk
Normal :
- 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)
- 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.
- 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).
- 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.
- 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.
- 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