Kamis, 29 November 2012

Dependency dan Normalisasi

      Dependency
Functional Dependency atau Ketergantungan Fungsional merupakan relationship atau hubungan, batasan, keterkaitan antara atribut-atribut dalam relasi. Suatu atribute dikatakan functionally dependent pada yang lain jika kita menggunakan harga atribut tersebut untuk menetukan harga atribut. Simbol yang biasa digunakan untuk mewakili Functional Dependency adalah “à” dibaca secara fungsional menentukan.
Notasi : A à B
A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai yang sama, maka nilai B juga sama.



Contoh :
Tabel Pemasok


Ketergantungan fungsional dari tabel di atas adalah No_Pemasok à Nama_Pemasok
Full Dependency menunjukkan jika terdapat atribut A dan B dalam suatu relasi dimana B memiliki ketergantungan fungsional secara penuh pada A dan B bukan memiliki dependensi terhadap subset A.
Partially Dependency merupakan ketergantungan fungsional dimana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan.
Transitive Dependency merupakan tipe functional dependency, yaitu kondisi dimana A, B, C adalah atribut sebuah relasi dimana A à B dan B à C, maka C dikatakan sebagai transitive dependency terhadap A melalui B.

Normalisasi
Normalisasi merupakan suatu proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomali dan mengacu pada cara data item dikeleompokkan ke dalam struktur record. Normaslisasi dilakukan karena dapat mengoptimalisasi struktur-struktur tabel, meningkatkan kecepatan, menghilangkan pemasukan data  yang sama, lebih efisien dalam penggunaan media penyimpanan, mengurangi redundansi, menghindari anomali, integritas data yang ditingkatkan.
Urutan : 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
-       First Normal Form (1NF)
1NF suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai. Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi). .
-       Second Normal Form (2NF)
Bentuk normal 2NF terpenuhi dalam sebuat tabel jika telah memenuhi bentuk 1NF dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada primary key.
-       Third Normal Form (3NF)
3NF terpenuhi jika telah memenuhi 2NF dan tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya (ketergantungan transitif) 
-       Boyce-codd 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 adalah super key. Tabel 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.
-       Four 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
-       Five 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.

Tidak ada komentar:

Posting Komentar