Normalisasi Database
Normalisasi
Dalam
merancang basis data dapat dilakukan dengan:
1. Menerapkan Normalisasi terhadap
struktur tabel yang telah diketahui, atau
2. Langsung membuat model Entity-Relationship.
Normalisasi merupakan cara pendekatan lain
dalam membangun desain logik basis data dengan menerapkan
sejumlah aturan dan kriteria standar untuk
menghasilkan struktur tabel yang normal.
BEBERAPA PENGERTIAN
NORMALISASI :
Normalisasi merupakan proses pengelompokan
elemen data menjadi tabel–tabel yang menunjuk-kan entity dan relasinya.
Normalisasi adalah proses pengelompokan atributeatribute dari suatu relasi
sehingga membentuk WELLSTRUCTURE RELATION. Well Structure Relation Adalah sebuah relasi yang jumlah kerangkapan datanya
sedikit (minimum Amount Of Redundancy),
sertamemberikan kemungkinan bagi user untuk melakukan INSERT, DELETE, dan MODIFY terhadap baris-baris data pada
relation tersebut, yang tidak berakibat terjadinya ERROR atau INKONSESTENSI
DATA, yang disebabkan oleh operasi-operasi tersebut.
3. UPDATE Anomali:
Keuntungan Normalisasi
Keuntungan
dari normalisasi, yaitu :
1. Meminimalkan ukuran penyimpanan yang
diperlukan untuk menyimpan data.
2. Meminimalkan resiko inkonsistensi data
pada basis data
3. Meminimalkan kemungkinan anomali
pembaruan
4. Memaksimalkan stabilitas struktur data
ANOMALY
ANOMALY merupakan
penyimpangan-penyimpangan atau Error atau inkonsistensi data yang terjadi pada
saat dilakukan proses insert, delete maupun update.
Terdapat 3 jenis Anomaly :
1. Insertion Anomaly
Error yang terjadi
sebagai akibat operasi insert record/tuple pada sebuah relation. Situasi dimana
tidak
memungkinkan memasukkan beberapa jenis data
secara langsung di database.
2. Deletion Anomaly
Error yang terjadi sebagai akibat operasi
delete record/tuple pada sebuah relation . Penghapusan data
yang tidak sesuai dengan yang diharapkan, artinya data yang harusnya tidak
terhapus mungkin ikut terhapus.
3. Update Anomaly
Error yang terjadi
sebagai akibat inkonsistensi data yang terjadi sebagai akibat dari operasi
update record/tuple
dari sebuah relation . Situasi dimana
nilai yang diubah menyebabkan inkonsistensi database, dalam artian data
yang diubah tidak sesuai dengan yang
diperintahkan atau yang diinginkan.
Problem-Problem Pada
Relation yang Sudah Dinormalisasi
a. Performance problem
Masalah terhadap performa database
b. Referential Integrity Problem
Masalah yang timbul terhadap referensi
antar data-data diantara dua tabel atau lebih
BEBERAPA
KONSEP YANG HARUS DIKETAHUI:
Field/
Atribut Kunci dan Kebergantungan
Fungsi
Atribut
Kunci (Field)
1. Key Field / atribute
kunci dalam database:
a. Super key
Yaitu himpunan dari satu atau lebih entitas
yang digunakan untuk mengidentifikasikan secara unik sebuah entitas dalam
entitas set.
b. Candidate key
Yaitu satu attribute atau satu set minimal
atribute yang mengidentifikasikan secara unik suatu kejadian yang spesifik dari
entity.
c.
Primary key
Yaitu
satu atribute atau satu set minimal atribute yang tidak hanya
mengidentifikasikan secara unik suatu kejadian yang spesifik tapi juga dapat
mewakili setiap kejadian dari suatu entity
d. Alternate key
Yaitu kunci kandidat yang
tidak dipakai sebagai primary key
5. Foreign
key
yaitu satu atribute (atau satu set atribute)
yang melengkapi satu relationship (hubungan yang menunjukkan ke induknya.
Kebergantungan
Kunci
1.
Ketergantungan Fungsional (Fungsional Dependent)
Keterkaitan
antar hubungan antara 2 atribute pada sebuah relasi. Dituliskan dengan cara : A
-> B, yang berarti :
Atribute
B fungsionality Dependent terhadap atribute A atau Isi (value)
atribute A menentukan isi atribute B
Definisi dari functional dependent :
Diketahui
sebuah relasi R, atribute Y dari R adalah FD pada atribute X dari R ditulis R.X
-> R.Y jika dan hanya jika tiap harga X dalam R bersesuaian dengan tepat
satu harga Y dalam R
2.
Fully Functionaly Dependent (FFD)
Suatu
rinci data dikatakan fully functional dependent pada suatu kombinasi rinci data
jika functional dependent pada kombinasi rinci data dan tidak functional
dependent pada bagian lain dari kombinasi rinci data.
Definisi
dari FDD:
Atribute
Y pada relasi R adalah FFD pada atribute X pada relasi R jika Y FD pada X tida
FD pada himpunan bagian dari X Contoh:
PersonID,Project,Project_budgettime_spent_byperson_
onProject (bukan FFD) PersonID, Project time_spent_byperson_onProject (FDD)
3.
Ketergantungan Partial
Sebagian
dari kunci dapat digunakan sebagai kunci utama
4.
Ketergantungan Transitif
Menjadi atribute biasa
pada suatu relasi tetapi menjadi kunci pada relasi lain
5.
Determinan
Suatu atribute (field)
atau gabungan atribute dimana beberapa atribute lain bergantung sepenuhnya pada
atribute tersebut
Bentuk
Normal
Aturan-aturan
normalisasi dinyatakan dengan istilah bentuk normal. Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi
dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut pada
level-level normalisasi.
Beberapa
level yang biasa digunakan pada normalisasi adalah:
1. Bentuk
normal pertama (1NF)
Bentuk normal yang pertama atau 1NF mensyaratkan beberapa kondisi
dalam sebuah database, berikut adalah fungsi dari bentuk normal pertama ini.
·
Menghilangkan duplikasi kolom dari tabel yang sama.
·
Buat tabel terpisah untuk masing-masing kelompok data terkait
dan mengidentifikasi setiap baris dengan kolom yang unik (primary key).
Contoh Normalisasi Database 1NF
dari manual bon pembelian diatas kita dapat menjadi bentuk
normal pertama dengan memisah-misahkan data pada atribut-atribut yang tepat dan
bernilai atomik, juga seluruh record / baris harus lengkap adanya.
2. Bentuk
normal kedua (2NF)
Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data
telah dibentuk dalam 1NF, berikut adalah beberapa fungsi normalisasi 2NF.
·
Menghapus beberapa subset data yang ada pada tabel dan
menempatkan mereka pada tabel terpisah.
·
Menciptakan hubungan antara tabel baru dan tabel lama dengan
menciptakan foreign key.
·
Tidak ada atribut dalam tabel yang secara fungsional bergantung
pada candidate key tabel tersebut.
Contoh normalisasi database bentuk 2NF
Bentuk
normal kedua dengan melakukan dekomposisi tabel diatas menjadi beberapa tabel
dan mencari kunci primer dari tiap-tiap tabel tersebut dan atribut kunci
haruslah unik.
3. Bentuk
normal ketiga (3NF)
Normalisasi database dalam bentuk 3NF bertujuan untuk
menghilangkan seluruh atribut atau field yang tidak berhubungan dengan primary
key. Dengan demikian tidak ada ketergantungan transitif pada setiap kandidat
key. Syarat dari bentuk normal ketiga atau 3NF adalah :
·
Memenuhi semua persyaratan dari bentuk normal kedua.
·
Menghapus kolom yang tidak tergantung pada primary key.
Contoh Normalisasi Database Bentuk 3NF
Bentuk normal ketiga mempunyai syarat, setiap relasi tidak
mempunyai atribut yang bergantung transitif, harus bergantung penuh pada kunci
utama dan harus memenuhi bentuk normal kedua (2 NF).
4. Bentuk
normal Boyce-Codd (BCNF)
BCNF Boyce–Codd normal form
Merupakan sebuah teknik normalisasi database yang sering disebut
3.5NF, memiliki hubungan yang sangat erat dengan bentuk 3NF. Pada dasarnya
adalah untuk menghandle anomali dan overlooping yang tidak dapat di handle
dalam bentuk 3NF. Normalisasi database bentuk ini tergantung dari kasus yang
disediakan, tidak semua tabel wajib di normalisasi dalam bentuk BCNF.
5. Bentuk
normal keepat (4NF)
6. Bentuk
Normal kelima (5NF)
Belum ada Komentar untuk "Normalisasi Database"
Posting Komentar