Kegunaan normalisasi.
- Masalah-masalah yang berhubungan dengan kerangkapan data
- Identifikasi macam-macam anomali update seperti : penyisipan (insertion), penghapusan (deletion), dan perubahan yang anomali
- Bagaimana mengenali kelayakan atau kualitas suatu rancangan relasi
- Bagaimana ketergantungan fungsional (functional dependencies) dapat digunakan untuk mengelompokkan atribut kedalam relasi-relasi dalam bentuk normal
- Bagaimana melakukan proses normalisasi
- Bagaimana mengidentifikasi bentuk normal yang umum digunakan seperti : 1NF, 2NF, 3NF, dan Boyce–Codd normal form (BCNF)
- Bagaimana mengidentifikasi bentuk normal empat (4NF) dan bentuk normal lima (5NF)
Tujuan utama dalam pengembangan model data logical pada sistem database relasional adalah untuk menciptakan representasi akurat suatu data, keterhubungannya dan batasan-batasannya.
- Untuk mencapai tujuan ini, maka harus ditetapkan/diidentifikasi sekumpulan relasi.
- Empat bentuk normal yang biasa digunakan yaitu, first normal form (1NF), second normal form (2NF) dan third normal form (3NF), dan Boyce–Codd Normal Form (BCNF)
- Terdapat bentuk fourth normal form (4NF) dan fifth normal form (5NF) untuk situasi yang jarang terjadi
- Berdasarkan pada functional dependencies antar atribut dalam relasi
- Sebuah relasi dapat dinormalisasi kedalam bentuk tertentu untuk mengatasi kemungkinan terjadinya pengulangan dari update yang tidak baik.
- Normalisasi adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat (properties) yang diinginkan, memenuhi kebutuhan data pada enterprise.
Data Redudancy
- Tujuan utama dari desain database relasional adalah untuk mengelompokkan atribut-atribut kedalam relasi-relasi sehingga meminimalisasi redundansi data dan mengurangi penggunaan tempat penyimpanan yang dibutuhkan oleh sebuah relasi dasar.
- Masalah-masalah yang terkait dengan redundansi dapat dijelaskan dengan membandingkan relasi Staff dan Branch dengan relasi StaffBranch.
- Relasi StaffBranch memiliki data redundan, yaitu detail dari branch dituliskan berulang-ulang untuk setiap staff.
- Sebaliknya, informasi mengenai branch muncul hanya satu kali pada relasi Branch dan hanya branchNo saja yang diulang dalam relasi Staff, untuk merepresentasikan dimana setiap staff tersebut bekerja.
- Relasi yang mengandung informasi yang redundan dapat diakibatkan oleh update anomalies.
- Beberapa tipe dari update anomalies, diantaranya :
- Insertion
- Deletion
- Modification
Terdapat dua sifat Decomposition yaitu :
- Lossless-join
Memungkinkan untuk menemukan suatu instance relasi dasar dari instance koresponden dalam relasi yang lebih kecil.
- Dependency Preservation Properties
Memungkinkan untuk memelihara/mengadakan batasan pada relasi dasar dengan melaksanakan beberapa batasan pada relasi yang lebih kecil.
Functional Depedency
- Merupakan konsep inti yang terkait dengan normalisasi.
- Functional Dependency
– Menjelaskan relationship antar atribut-atribut dalam relasi.
– Misalkan, jika A dan B adalah atribut dari suatu relasi R, B dikatakan Functionally Dependent pada A (dinotasikan A à B), jika setiap nilai A dihubungkan dengan tepat satu nilai B. ( A dan B masing-masing dapat terdiri atas satu atau lebih atribut)
– Functional Dependency merupakan sifat dari arti semantik suatu atribut dalam sebuah relasi.
- Karakteristik utama dari functional dependency yang digunakan dalam normalisasi :
– Mempunyai relationship 1:1 antar atribut di sebelah kiri dan kanan dependency.
– Saling terkait (Hold for all time)
Misal : staffNo à sName dan sName à staffNo
– Nontrivial
- Contoh : Mengidentifikasikan sekumpulan ketergantungan fungsional dari relasi StaffBranch
staffNo à sName, position, salary, branchNo, bAddress
branchNo à bAddress
bAddress à branchNo
branchNo, position à salary
bAddress, position à salary
- Kumpulan lengkap dari sebuah functional dependency untuk suatu relasi bisa sangat besar.
- Penting untuk menemukan pola pendekatan yang dapat mengurangi himpunan/kumpulan tersebut untuk mendapatkan ukuran yang lebih mudah diatur.
- Perlu untuk mengidentifikasi himpunan functional dependency (direpresentasikan oleh X) untuk relasi yang lebih kecil daripada himpunan lengkap functional dependency (direpresentasikan oleh Y) untuk relasi tersebut dan memiliki sifat disetiap functional dependency pada Y dipenuhi dengan functional dependencies pada X.
- Himpunan dari seluruh functional dependency yang dipenuhi dengan himpunan yang diberikan dari functional dependencies X disebut closure X (dituliskan, X+).
- Himpunan inference rules, disebut Armstrong’s axioms, menetapkan bagaimana functional dependency yang baru dapat disimpulkan dari functional dependency yang sudah ada.
- Misalkan A, B, dan C merupakan subset dari atribut suatu relasi R. Maka Armstrong’s axiom-nya adalah :
- Reflexivity, jika B merupakan subset dari A, then A à B
- Augmentation, jika A à B, maka A,C à B, C
- Transitivity,jika A à B dan B à C, maka A à C