NORMALISASI DATABASE
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 database biasanya jarang
dilakukan dalam database skala kecil, dan dianggap tidak
diperlukan pada penggunaan personal.
Namun seiring dengan berkembangnya informasi yang
dikandung dalam sebuah database,
proses normalisasi akan sangat membantu dalam
menghemat ruang yang digunakan oleh
setiap tabel di dalamnya, sekaligus mempercepat proses
permintaan data.
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
Proses normalisasi model data dapat
diringkas sebagai berikut:
1. Temukan entitas-entitas utama dalam
model data.
2. Temukan hubungan antara setiap
entitas.
3. Tentukan atribut yang dimiliki
masing-masing entitas.
Normalisasi model data dilakukan
dengan mengikuti langkah-langkah sederhana, mengubahnya
agar memenuhi apa yang disebut sebagai
bentuk normal pertama, kedua, lalu ketiga secara
berturutan.
Aturan normalisasi
- Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
- Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF)
- Bentuk Normal Tahap (3rd Normal Form / 3NF)
- Boyce-Code Normal Form (BCNF)
- Bentuk Normal Tahap (4th Normal Form / 4NF)
- Bentuk Normal Tahap (5th Normal Form / 5NF)
Normalisasi dalam suatu database biasanya hanya mencapai
N3(Normalisasi Ketiga), dibawah ini merupakan urutan Normalisasi :
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
Tidak ada komentar:
Posting Komentar