Pada Tanggal 23 November 2012 perkuliahan Sistem
Basis Data membahas tentang 'Dependency dan Normalisasi '.
Berikut Ulasan
singkatnya ....
A.Functional
dependency(ketergantungan fungsional)
Menggambarkan relationship/hubungan,
batasan, keterkaitan antara atribut-atribut dalam relasi.Suatu atribut
dikatakan functionally dependent pada yang lain jika menggunakan harga atribut
tersebut untuk menentukan harga atribut yang lain.Simbol untuk mewakili FD
adalah --> dibaca secara fungsional menentukan.
Notasi A-->B
Adalah atribut
dari sebuah table.Secara fungsional A menentukkan B atau B tergantung pada A,
jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B
juga sama.
Contoh :
Tabel Penjualan
No_Penjualan
|
Nama_Barang
|
0001
|
Pakaian
|
0002
|
Sepeda
|
0003
|
Mobil
|
Ketergantungan fungsional dari contoh diatas adalah No_Penjualan-->Nama_Barang
Macam-macam
Dependency
- Full Functional dependency adalah menunjukkan jika terdapat atribut A dan B dalam suatu relasi,dimana : B memiliki ketergantungan penuh pada A dan B bukan subser A.
Contoh :
Tabel Ruang Ujian
No.absen
|
Nama_Siswa
|
No.ruangan
|
Pengawas
|
1
|
Arum
Pangestika
|
007
|
Fajar
Surya
|
2
|
Badar imam
|
008
|
Juniadi
|
3
|
Agus Yudhi
|
009
|
Rizky
Ilhami
|
4
|
Winda Melani
|
010
|
Sirril
Wafa
|
5
|
Ya Mustofa
|
011
|
Dayu
|
{No.absen, nama}-->No.Ruangan bukan Full Dependency jika nama dihilangkan, maka No.absen-->idRuang bisa full dependency
- Partially dependency merupakan ketergantungan fungsional dimana beberapa atribu dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan.B memiliki subset A.
Contoh :
Tabel Ruang Ujian
No.absen
|
Nama_Siswa
|
No.ruangan
|
Pengawas
|
1
|
Arum
Pangestika
|
007
|
Fajar
Surya
|
2
|
Badar imam
|
008
|
Juniadi
|
3
|
Agus Yudhi
|
009
|
Rizky
Ilhami
|
4
|
Winda Melani
|
010
|
Sirril
Wafa
|
5
|
Ya Mustofa
|
011
|
Dayu
|
No.absen,nama-->No.Ruangan dimana jika nama dihilangkan maka ketergantungan tetap ada.
- Transitive dependency adalah tipe functional dependency,yaitu kondisi dimana AàB dan BàC,maka C dikatakan transitive dependency terhadap A melalui B.
Contoh:
NIP
|
Nama
|
Gaji
|
Kd.Cabang
|
Almt.Cabang
|
001
|
Aku
|
1500
|
01
|
Semarang
|
002
|
Saya
|
1250
|
02
|
Kendal
|
003
|
Dia
|
1500
|
01
|
Semarang
|
004
|
Kamu
|
750
|
03
|
Tenggaran
|
005
|
Dikau
|
1500
|
01
|
Semarang
|
NIP-->{Nama,Gaji,Kd.Cabang,Almt.Cabang}-->kd.CabangàAlmt.Cabang
B. Normalisasi
Normalisasi adalah suatu
proses untuk mengubah suatu tabel yang memiliki masalah tertentu ke
dalam dua buah tabel atau lebih, yang tidak lagi memiliki masalah tersebut.Masalah
tersebut biasanya merupakan suatu ketidakkonsistenan (tidak normal) apabila
dilakukan penghapusan (delete),
pengubahan (update) dan
pembacaan (retrieve) pada suatu
basis data.
Macam-macam bentuk
normalisasi, diantaranya adalah bentuk tidak normal, bentuk normal pertama,
bentuk normal kedua dan bentuk normal ketiga.
Aturan-aturan dalam
masing-masing bentuk normalisasi tersebut
yaitu :
a. Bentuk tidak normal
Bentuk ini merupakan kumpulan
data yang akan disimpan, tidak ada keharusan mengikuti suatu format tertentu,
dapat saja data tidak lengkap atau terduplikasi dan data dikumpulkan apa
adanya.
b. Bentuk normal pertama
Suatu tabel dikatakan dalam
bentuk normal pertama (1NF) bila setiap kolom bernilai tunggal untuk setiap
baris. Ini berarti bahwa nama kolom yang berulang cukup diwakili oleh sebuah
nama kolom (tidak perlu ada indeks dalam memberi nama kolom).
c. Bentuk normal kedua
Suatu tabel berada dalam
bentuk normal kedua (2NF) jika tabel berada dalam bentuk normal pertama, semua
kolom bukan kunci primer tergantung sepenuhnya terhadap kunci primer. Suatu
kolom disebut tergantung sepenuhnya terhadap kunci primer jika nilai pada suatu
kolom selalu bernilai sama untuk suatu nilai kunci primer yang sama.
d. Bentuk normal ketiga
Suatu tabel berada dalam
bentuk normal ketiga (3NF) jika tabel berada dalam bentuk normal kedua,
setiap kolom bukan kunci primer tidak memiliki ketergantungan secara transitif
terhadap kunci primer.