Normalisasi
Normalisasi adalah teknik perancangan yang banyak digunakan
sebagai pemandu dalam merancang basis data relasional. Pada dasarnya,
normalisasi adalah proses dua langkah yang meletakkan data dalam bentuk
tabulasi dengan menghilangkan kelompok berulang lalu menghilangkan data yang
terduplikasi dari tabel relasional.
Teori normalisasi
didasarkan pada konsep bentuk normal. Sebuah tabel relasional dikatakan berada
pada bentuk normal tertentu jika tabel memenuhi himpunan batasan tertentu. Ada
lima bentuk normal yang telah ditemukan.
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 WELL STRUCTURE
RELATION.
Well Structure Relation adalah sebuah relasi yang jumlah kerangkapan datanya
sedikit (minimum Amount Of Redundancy), serta memberikan 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
Pada waktu
menormalisasikan basis data, ada empat tujuan yang harus dicapai yaitu :
1. Mengatur data dalam kelompok-kelompok sehingga
masing-masing kelompok hanya menangani bagian kecil sistem
2. Meminimalkan jumlah data berulang dalam basis data
3. Membuat basis data yang datanya diakses dan
dimanipulasi secara cepat dan efisien
tanpa melupakan integritas data
4. Mengatur data sedemikian rupa sehingga ketika
memodifikasi data, anda hanya mengubah pada satu tempat
Bentuk Normal Kedua (2NF)
Definisi bentuk normal
kedua menyatakan bahwa tabel dengan kunci utama gabungan hanya dapat berada
pada 1NF, tetapi tidak pada 2NF. Sebuah tabel relasional berada pada bentuk
normal kedua jika dia berada pada kunci utama. Ini setiap kolom bukan kunci
yang sepenuhnya tergantung pada seluruh kolom yang membentuk kunci utama Tabel
pemasok berada pada 1NF, tetapi tidak pada 2NF karena status dari kota
tergantung secara fungsional hanya pada kolom p# dan kunci gabungan (p#, b#).
Ini dapat digambarkan dengan membuat daftar ketergantungan fungsional.
p# = kota, status
kota = status
(p#,b#) =qty
Proses mengubah tabel 1NF
ke 2NF adalah :
1. Tentukan sembarang kolom penentu selain kunci gabungan
dan kolom-kolom yang ditentukannya
2. Buat dan beri nama tabel baru untuk masing-masing
penentu dan kolom-kolom yang ditentukannya
3. Pindahkan kolom-kolom yang ditentukan dari tabel asal
ke tabel baru penentu akan menjadi kunci utama pada tabel baru
4. Hapus kolom yang baru dipindahkan dari tabel asal,
kecuali penentu yang akan berfungsi sebagai kunci tamu
5. Tabel asal bisa diberi nama baru
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 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
2. Deletion Anomaly
Error yang terjadi sebagai akibat operasi delete record/tuple pada
sebuah relation
3. Update Anomaly
Error yang terjadi sebagai akibat inkonsistensi data yang terjadi
sebagai akibat dari operasi update record/tuple dari sebuah relation
Problem-Problem Pada
Relation yang Sudah Dinormalisasi
Ø Performance problem
Masalah terhadap performa database
Ø Referential Integrity Problem Masalah yang timbul terhadap referensi antar
data-data diantara dua tabel atau lebih
BEBERAPA KONSEP YANG HARUS DIKETAHUI:
a. Field/ Atribut Kunci
b. Kebergantungan Fungsi
Atribut Kunci (Field)
Key Field / atribute kunci
dalam database:
Ø Super key Yaitu
himpunan dari satu atau lebih entitas yang digunakan untuk mengidentifikasikan
secara unik sebuah entitas dalam entitas set.
Ø Candidate key
Yaitu satu attribute atau satu set minimal atribute yang
mengidentifikasikan secara unik suatu kejadian yang spesifik dari entity.
Ø 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
Ø Alternate key
Yaitu kunci kandidat yang tidak dipakai sebagai primary key
Ø 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_budget
-> time_spent_byperson_onProject (bukan FFD)
PersonID,project
-> time_spent_byperson_onProject (FFD).
Komentar
Posting Komentar