...

A --->> B | C

by user

on
Category: Documents
0

views

Report

Comments

Transcript

A --->> B | C
Bagian 4
Normalisasi
Kuliah Basis Data
Pra S2 Ilmu Komputer - FMIPA
Drs. Agfianto Eko Putra, M.Si.
Topik Bahasan
1. Pengertian Normalisasi
2. Anomali
a. Anomali Peremajaan (update);
b. Anomali Penyisipan (insert);
c. Anomali Penghapusan (delete);
3. Dependensi
a.
b.
c.
d.
Dependensi Fungsional
Dependensi Fungsional Sepenuhnya
Dependensi Total
Dependensi Transitif
4. Diagram Dependensi Fungsional
Drs. Agfianto Eko Putra, M.Si.
2
Topik Bahasan (lanjutan...)
4. Dekomposisi Tak-hilang
5. Bentuk Normal
a.
b.
c.
d.
e.
f.
Bentuk Normal Pertama
Bentuk Normal Kedua
Bentuk Normal Ketiga
Bentuk Normal Boyce-Codd (BCNF)
Dependensi Nilai Banyak dan Bentuk Normal Keempat
Dependensi Gabungan dan Bentuk Normal Kelima
(5NF)
6. Overnormalisasi
Drs. Agfianto Eko Putra, M.Si.
3
IV.1. Pengertian Normalisasi
• Menurut E.F. Codd:
– Normalisasi dipakai untuk membuat struktur tabel (relasi) dalam
basis data mengurangi kemubaziran data;
– Kadang dipakai sebagai perangkat verifikasi terhadap tabel-tabel
yang dihasilkan metodologi lain;
– Memberikan panduan yang sangat membantu bagi pengembang
untuk mencegah penciptaan struktur tabel yang kurang atau
mengurangi ketidak-efisienan.
• Menurut Kroenke:
– Sebagai proses untuk mengubah suatu relasi yang memiliki
masalah tertentu ke dalam dua buah relasi atau lebih yang tidak
memiliki masalah tersebut anomali.
Drs. Agfianto Eko Putra, M.Si.
4
IV.2. Anomali
• Proses pada basis data
yang memberikan efek
samping yang tidak diharapkan, macamnya:
– Anomali peremajaan;
– Anomali penghapusan,
dan
– Anomali penyisipan.
Drs. Agfianto Eko Putra, M.Si.
5
IV.2.1. Anomali Peremajaan
• Terjadi jika pada saat pengubahan pada sejumlah data
yang mubazir, tetapi tidak seluruhnya ikut berubah
Lihat contoh berikut:
Drs. Agfianto Eko Putra, M.Si.
6
IV.2.2. Anomali Penyisipan
• Terjadi jika pada saat penambahan hendak
dilakukan ternyata ada elemen data yang masih
kosong dan elemen data tersebut justru menjadi
kunci Lihat contoh berikut…
Drs. Agfianto Eko Putra, M.Si.
7
IV.2.3. Anomali Penghapusan
• Terjadi sekiranya suatu baris (tupel) yang tidak
terpakai dihapus dan sebagai akibatnya terdapat
data lain yang hilang lihat contoh berikut…
Drs. Agfianto Eko Putra, M.Si.
8
IV.3. Dependensi
•
•
Merupakan konsep yang mendasari normalisasi;
Menjelaskan hubungan antar atribut atau secara
lebih khusus menjelaskan nilai suatu atribut yang
menentukan nilai atribut lainnya, macamnya:
1.
2.
3.
4.
Dependensi fungsional;
Dependensi fungsional sepenuhnya;
Dependensi total, dan
Dependensi transitif.
Drs. Agfianto Eko Putra, M.Si.
9
IV.3.1. Dependensi Fungsional
Suatu atribut Y mempunyai
dependensi fungsional terhadap
atribut X, jika dan hanya jika setiap
nilai X berhubungan dengan
sebuah nilai Y.
X Y
(“X secara fungsional menentukan
Y”)
atau secara istilah:
penentu (determinan) yang
tergantung (dependen)
Drs. Agfianto Eko Putra, M.Si.
10
IV.3.2. Dependensi Fungsional Sepenuhnya
•
•
Suatu atribut Y mempunyai dependensi fungsional sepenuhnya
terhadap atribut X, jika:
– Y mempunyai dependensi fungsional terhadap X, dan
– Y tidak memiliki dependensi terhadap bagian dari X.
Misalnya:
PELANGGAN(KODE_PLG,NAMA,KOTA,FAKS)
Terdapat:
1 - {KODE_PLG, KOTA}
FAKS
2 - KODE_PLG
FAKS
•
Berkaitan dengan hal ini terdapat istilah irreducible dependent atau
dependensi yang tidak dapat dibagi lagi. Istilah ini identik dengan
dependensi fungsional sepenuhnya (full functional dependent) atau
terkadang hanya disebut dependensi sepenuhnya (fully dependent).
Drs. Agfianto Eko Putra, M.Si.
11
IV.3.3. Dependensi Total
• Suatu atribut Y
mempunyai dependensi
total terhadap atribut X
jika:
– Y memiliki dependensi
fungsional terhadap X, dan
– X mempunyai dependensi
fungsional terhadap Y.
• Dependensi seperti ini
dinyatakan dengan notasi:
X
Y
Drs. Agfianto Eko Putra, M.Si.
12
IV.3.4. Dependensi Transitif
• Atribut Z mempunyai
dependensi transitif
terhadap X bila:
– Y memiliki dependensi
fungsional terhadap X
– Z memiliki dependensi
fungsional terhadap Y.
• atau dapat dituliskan
X Y Z
Drs. Agfianto Eko Putra, M.Si.
13
IV.4. Diagram Dependensi Fungsional
• Diagram dependensi
fungsional (diagram DF)
adalah diagram yang
digunakan untuk
menggambarkan
dependensi fungsional;
• Diagram ini menunjukkan
hubungan antara atribut
yang menjadi penentu
atribut lainnya dengan
hubungan yang dinyatakan
dengan tanda panah.
KULIAH
RUANG
WAKTU
TEMPAT
Drs. Agfianto Eko Putra, M.Si.
14
IV.5. Dekomposisi Tak Hilang
• Pada proses normalisasi
seringkali terjadi
pemecahan sebuah relasi
mejadi dua relasi atau
lebih dekomposisi;
• Secara lebih khusus,
macam dekomposisi yang
dilakukan adalah
dekomposisi tak hilang,
yang artinya bahwa tak
ada informasi yang hilang
ketika relasi dipecah
menjadi relasi-relasi lain.
Drs. Agfianto Eko Putra, M.Si.
15
IV.6. Bentuk Normal
• Bentuk normal adalah suatu aturan yang dikenakan pada
relasi-relasi dalam basis data dan harus dipenuhi oleh
relasi-relasi tersebut dalam level-level normalisasi;
• Suatu relasi dikatakan berada dalam bentuk normal tertentu
jika memenuhi kondisi-kondisi tertentu;
• Beberapa level yang biasa digunakan pada normalisasi
adalah:
–
–
–
–
–
–
Bentuk normal pertama (1NF);
Bentuk normal kedua (2NF);
Bentuk normal ketiga (3NF);
Bentuk normal Boyce-Cood (BCNF);
Bentuk normal keempat (4NF);
Bentuk normal kelima (5NF);
Drs. Agfianto Eko Putra, M.Si.
16
IV.6. Bentuk Normal
•
•
•
•
Bentuk normal pertama hingga ketiga
(dibuat oleh E. F Cood) merupakan
bentuk normal yang umum dipakai.
Artinya bahwa pada kebanyakan
relasi, bila ketiga tersebut terpenuhi,
maka persoalan anomali tidak akan
muncul lagi.
Bentuk normal Boyce-Cood
merupakan revisi terhadap bentuk
normal ketiga.
Gambar di samping menjelaskan
bahwa setiap normalisasi bergantung
pada level sebelumnya.
Semakin dalam levelnya, relasi
mempunyai kecenderungan lebih baik
dalam artian memiliki problem yang
lebih kecil ataupun sama sekali tak
memiliki permasalahan anomali.
Drs. Agfianto Eko Putra, M.Si.
17
IV.6.1. Bentuk Normal Pertama
• Bentuk normal pertama
biasa dikenakan pada tabel
yang belum
ternormalisasi. Tabel yang
belum ternomalisasi
adalah tabel yang
memiliki atribut yang
berulang;
• Suatu relasi dikatakan
dalam bentuk normal
pertama jika dan hanya
jika setiap atribut bernilai
tunggal untuk setiap baris;
Drs. Agfianto Eko Putra, M.Si.
18
IV.6.1. Bentuk Normal Pertama
Drs. Agfianto Eko Putra, M.Si.
19
IV.6.2. Bentuk Normal Kedua
•
Suatu relasi berada dalam bentuk normal kedua jika dan hanya jika:
•
Atribut yang bukan kunci adalah atribut yang bukan merupakan bagian
kunci primer.
Dalam ungkapan yang lebih praktis, bentuk normal kedua mensyaratkan setiap atribut bergantung kepada kunci primer;
Untuk mengubah suatu relasi yang tergolong sebagai bentuk normal
pertama ke bentuk normal kedua perlu dilakukan dekomposisi
terhadap relasi tersebut;
Proses dekomposisi dapat dilakukan dengan menggambarkan diagram
dependensi fungsional terlebih dahulu;
Berdasarkan diagram ini, relasi dalam bentuk normal pertama dipecah
ke dalam sejumlah relasi.
•
•
•
•
– Berada pada bentuk normal pertama
– Semua atribut yang bukan kunci memiliki dependensi sepenuhnya
terhadap kunci primer
Drs. Agfianto Eko Putra, M.Si.
20
IV.6.2. Bentuk Normal
Kedua
Drs. Agfianto Eko Putra, M.Si.
21
IV.6.2. Bentuk Normal Kedua
•
•
Menurut Date: Normal pertama menjadi Normal Kedua
Terdapat relasi R:
R(A,B,C,D)
KUNCI PRIMER (A,B)
A
D
R dapat digantikan dengan dua proyeksi R1 dan R2:
R1(A,D)
KUNCI PRIMER (A)
R2(A,B,C)
KUNCI PRIMER (A,B)
KUNCI TAMU (A) REFERENSI R1
Masalah yang sering terjadi pada relasi yang tergolong pada bentuk
normal kedua diakibatkan oleh adanya dependensi transitif.
Drs. Agfianto Eko Putra, M.Si.
22
IV.6.2. Bentuk Normal Kedua
Drs. Agfianto Eko Putra, M.Si.
23
IV.6.3. Bentuk Normal Ketiga
•
Suatu relasi dikatakan dalam bentuk ketiga (3NF) jika:
•
Pendekatan normalisasi:
– Berada pada bentuk normal kedua
– Semua atribut bukan kunci tidak memiliki transitif terhadap kunci primer;
Bila terdapat relasi R sbb:
R(A,B,C)
KUNCI PRIMER (A)
C
B
Maka relasi R dapat digantikan dengan dua proyeksi R1 dan R2:
R1(B,C)
KUNCI PRIMER (B)
R2(A,B)
KUNCI PRIMER (A)
KUNCI TAMU (B) REFERENSI R1
Drs. Agfianto Eko Putra, M.Si.
24
IV.6.2. Bentuk Normal Ketiga
Drs. Agfianto Eko Putra, M.Si.
25
IV.6.4. Bentuk Normal Boyce-Codd
(BCNF)
• Suatu relasi disebut memenuhi bentuk normal Boyce-Codd
jika dan hanya jika semua penentu (determinan) adalah
kunci kandidat (atribut yang bersifat unik).
• BCNF merupakan bentuk normal sebagian perbaikan
terhadap 3NF. Suatu relasi yang memenuhi BCNF selalu
memenuhi 3NF, tetapi tidak untuk sebaliknya.
• Suatu relasi yang memenuhi 3NF belum tentu memenuhi
BCNF. Dalam banyak literatur disebutkan bahwa BCNF
adalah perbaikan dari 3NF, karena bentuk normal
ketigapun mungkin masih mengandung anomali sehingga
masih perlu dinormalisasi lebih lanjut.
Drs. Agfianto Eko Putra, M.Si.
26
• Relasi di atas memenuhi 3NF tetapi tidak memenuhi BCNF,
karena
–
–
–
–
Seorang siswa dapat mengambil sejumlah kursus bahasa;
Setiap tutor hanya mengajar pada sebuah kursus bahasa;
Setiap siswa pada setiap kursus bahasa hanya diajar oleh seorang tutor;
Suatu kursus bahasa yang sama bisa memiliki lebih dari satu tutor.
{Siswa, Kursus}
{Siswa, Tutor}
Tutor
Kursus
Drs. Agfianto Eko Putra, M.Si.
27
IV.6.4. Bentuk Normal Boyce-Codd
(BCNF)
• Cara mengkonversi
relasi yang telah
memenuhi 3NF ke
BCNF:
– Carilah semua penentu;
– Bila terdapat penentu
yang bukan berupa kunci
kandidat, maka:
• Pisahkan relasi tersebut,
dan
• Buat penentu tersebut
sebagai kunci primer.
Drs. Agfianto Eko Putra, M.Si.
28
IV.6.5. Dependensi Nilai Banyak dan
Bentuk Normal Keempat
• Dependensi nilai banyak
merupakan terjemahan
dari multivalued
dependency (MVD).
Dependensi ini pertama
kali diperkenalkan oleh R.
Fagin pada tahun 1977,
dipakai pada bentuk
normal keempat (4NF).
Dependensi ini dipakai
untuk menyatakan
hubungan satu ke banyak.
Drs. Agfianto Eko Putra, M.Si.
29
IV.6.5. Dependensi Nilai Banyak dan
Bentuk Normal Keempat
• Secara umum, dependensi nilai banyak muncul
pada relasi yang paling tidak memiliki tiga atribut
dan dua di antaranya bernilai banyak, dan nilainilainya tergantung hanya pada atribut ketiga.
• Pada suatu relasi R dengan atribut A, B, C atribut
B dikatakan bersifat multidependen terhadap A
jika:
– Sekumpulan nilai B yang diberikan pada pasangan (A,
C) hanya tergantung pada nilai A, dan
– Tidak tergantung pada nilai C.
• Hubungan di atas dinyatakan dengan
A --->> B
Drs. Agfianto Eko Putra, M.Si.
30
IV.6.5. Dependensi Nilai Banyak dan
Bentuk Normal Keempat
•
•
•
•
Bila R(A,B,C) merupakan suatu
relasi, dengan A, B, C adalah atributatribut relasi tersebut, maka proyeksi
dari R berupa (A, B) dan (A, C) jika
R memenuhi MVD:
A -->> B | C.
Perlu diketahui, bila terdapat:
A --->> B
A --->> C
Maka keduanya dapat ditulis menjadi:
A --->> B | C
Secara praktis, suatu relasi memenuhi
bentuk normal keempat jika:
– telah berada pada BCNF, dan
– tidak mengandung dua atribut atau
lebih yang bernilai banyak.
Drs. Agfianto Eko Putra, M.Si.
31
IV.6.6. Dependensi Gabungan dan
Bentuk Normal Kelima (5NF)
•
•
Dependensi gabungan mendasari bentuk normal kelima.
Suatu relasi R (X, Y, ..., Z) memenuhi dependensi gabungan jika
gabungan dari proyeksi A, B, ..., C dengan A, B, ..., C merupakan
sub-himpunan dari atribut-atribut R. Dependensi gabungan sesuai
dengan definisi di atas dinyatakan dengan notasi:
* (A, B, ..., C)
dengan A = XY, B = YZ, C= ZX.
Drs. Agfianto Eko Putra, M.Si.
32
IV.6.6. Dependensi Gabungan dan
Bentuk Normal Kelima (5NF)
•
Bentuk normal kelima (5NF), yang terkadang disebut PJ/NF (Projection
Join/Normal Form), menggunakan acuan dependensi gabungan. Suatu
relasi berada dalam 5NF jika dan hanya jika setiap dependensi gabungan
dalam R tersirat oleh kunci kandidat relasi R.
•
Secara praktis dapat dikatakan bahwa suatu relasi R berada dalam 5NF
jika data yang ada padanya tak dapat lagi didekomposisi menjadi relasirelasi yang lebih kecil dengan kunci kandidat relasi-relasi yang lebih kecil
ini tidak sama dengan kunci kandidat relasi.
Drs. Agfianto Eko Putra, M.Si.
33
IV.7. Overnormalisasi
•
•
•
•
•
Tabel-tabel yang menenuhi 5NF terkadang didekomposisi lagi
overnormalisasi.
Tujuannya adalah untuk meningkatkan kinerja. Caranya adalah dengan
memperhatikan permintaan terhadap data yang sering dilakukan. Kolomkolom data yang sering diperlakukan diletakkan pada tabel tersendiri,
terpisah dengan kolom-kolom data yang jarang diperlukan.
Alasan yang lain, tabel yang terlalu banyak memiliki kolom dapat
menimbulkan persoalan yang disebut deadlock (saling mengunci) pada
pengaksesan yang serentak (sejumlah pengguna mengakses baris yang
sama).
Namun perlu juga diperhatikan bahwa tidak selamanya pendekomposisian
terhadap tabel yang telah memenuhi 5NF dapat meningkatkan kinerja.
Pada kenyataannya, tabel yang terlalu pendek (sedikit memiliki kolom)
juga menimbulkan persoalan peningkatan waktu CPU dan juga
memerlukan banyak I/O disk ketika penggabungan data (misalnya untuk
penyajian laporan).
Drs. Agfianto Eko Putra, M.Si.
34
Produksi
Agfi’s production house
[email protected]
2004
Drs. Agfianto Eko Putra, M.Si.
35
Fly UP