NORMALISASI DATABASE
Pengertian Normalisasi
Normalisasi merupakan sebuah upaya untuk memperoleh sebuah database dengan
struktur yang baik dengan cara menerapkan sejumlah aturan pada setiap tabel
agar ruang penyimpanan efisien. Istilah normalisasi dapat disederhanakan
menjadi memecah relasi menjadi beberapa tabel untuk mendapat database yang
optimal.
Normalisasi dilakukan sebagai uji coba pada
suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah
baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada
satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi
tersebut.
Istilah Penting Dalam Teknik Normalisasi:
¨ Field / atribut kunci. Setiap file selalu terdapat kunci dari file berupa satu
field atau satu field yang dapat mewakili record.
¨ Candidate key. Kumpulan atribut minimal yang secara unik mengidentifikasi sebuah baris
fungsinya sebagai calon primary key.
¨ Composite key. Kunci kandidat yang berisi lebih dari satu atribut
¨ Primary key. Candidate key yang dipilih untuk mengidentifikasi baris secara unik
¨ Alternate key. Candidate key yang tidak dipilih sebagai primary key
¨ Foreign key. Key di tabel lain yang terhubung dengan primary key pada sebuah tabel
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-Code Normal Form (BCNF) (-akan dijelaskan kemudian-)
Boyce-Code Normal Form
(BCNF)
Jika kriteria ketiga
(BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar
Bentuk Normal tahap ketiga (3rd Normal
Form / 3NF).
FUNCTIONAL DEPENDENCY (FD)
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 A yang sama, maka nilai B juga sama
Notasi: A –> B atau
A x –> B
Adalah kebalikan dari
notasi sebelumnya
Aturan normalisasi
Adapun aturan
normalisasi:
1
Bentuk Normal Tahap Pertama (1st Normal Form /
1NF)
2
Bentuk Normal
Tahap Kedua (2nd Normal Form / 2NF)
3
Bentuk Normal
Tahap (3rd Normal Form / 3NF)
4
Boyce-Code
Normal Form (BCNF)
5
Bentuk Normal
Tahap (4th Normal Form / 4NF)
6
Bentuk Normal
Tahap (5th Normal Form / 5NF)
1. Normalisasi Pertama (1st Normal Form)
¨ Mendefinisikan atribut kunci
¨ Tidak adanya group berulang
¨ Setiap atribut dalam tabel
tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)
2. Normalisasi Kedua (2nd Normal Form)
¨ Sudah memenuhi dalam bentuk
normal kesatu
¨ Sudah tidak ada ketergantungan
parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.
3. Normalisasi Ketiga (3rd Normal Form)
¨ Sudah berada dalam bentuk
normal kedua
¨ Tidak ada ketergantungan
transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).
4. 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
¨ 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.
5. Normalisasi Keempat (4rd Normal Form)
¨ Bentuk normal 4NF terpenuhi dalam sebuah tabel jika
telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari
sebuah multivalued atribute
¨ Untuk setiap multivalued dependencies (MVD)
juga harus merupakan functional dependencies
6. Normalisasi Kelima (5rd Normal Form)
¨ 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
Contoh Kasus:
Perancangan Basis data
pengolahan nilai
1.Mengidentifikasi dan menetapkan seluruh
himpunan entitas yang akan terlibat
2. Menentukan atribut-atribut key dari masing-masing himpunan entitas
3.Mengidentfikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas-himpunan entitas yang ada
beserta foreign key-nya
4.
Normalisasi
Tahap 1 : Belum di normalisasi
Tahap 2 : Normalisasi bentuk 1
(1 NF)
Tahap 3: Normalisasi bentuk 2
(2 NF)
Tahap 4 : Normalisasi bentuk 3
(3 NF)
Tidak ada komentar:
Posting Komentar