Upload
lamminh
View
226
Download
0
Embed Size (px)
Citation preview
Normalisasi • Merupakan 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.
– Bentuk normal pertama (1NF)
– Bentuk normal kedua (2NF)
– Bentuk normal ketiga (3NF)
– Bentuk normal Boyce-Codd (BCNF)
– Bentuk normal keempat (4NF)
– Bentuk normal kelima (5NF)
• Bentuk normal pertama hingga bentuk normal ketiga adalah merupakan bentuk normal yang umum dipakai artinya bahwa pada kebanyakan relasi
• Bila ketiga bentuk normal tersebut sudah terpenuhi, maka persoalan anomaly tidak akan pernah timbul lagi,
• Sedangkan bentuk normal Boyce-codd hingga bentuk normal kelima dipakai pada kasus tertentu.
Bentuk Normal Pertama
• Suatu relasi dikatakan dalam bentuk
normal pertama jika dan hanya jika setiap
atribut bernilai tunggal untuk setiap baris
Bentuk Normal Pertama
• Bentuk ini biasa dikenakan pada
tabel yang belum ternormalisasi.
Tabel yang memiliki atribut yang
berulang adalah contohnya. Berikut
adalah contoh data dalam keadaan
belum ternormalisasi:
NIP
NAMA
JABATAN
KEAHLIAN
LAMA
(tahun)
107
ILHAM
ANALIS SENIOR
COBOL
ORACLE
6
1
109
RIAN
ANALIS YUNIOR
COBOL
DBASE III+
2
2
112
FIKA
PEMROGRAM
COBOL
DBASE III+
SYBASE
1
1
1
• Pada contoh, KEAHLIAN menyatakan atribut yang berulang (misalnya, FIKA memiliki tiga keahlian, dan ILHAM memiliki dua keahlian). Bentuk seperti ini perlu diubah menjadi bentuk normal pertama.
• Normal Pertama adalah suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris.
• Data yang tak ternormalisasi pada gambar diatas diubah ke dalam bentuk normal pertama dengan cara membuat setiap baris berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu nilai.
• Berbagai persoalan yang menyangkut anomali biasanya juga muncul pada relasi yang hanya memenuhi bentuk normal pertama.
NIP
NAMA
JABATAN
KEAHLIAN
LAMA
(tahun)
107
ILHAM
ANALIS SENIOR
COBOL
6
107
ILHAM
ANALIS SENIOR
ORACLE
1
109
RIAN
ANALIS YUNIOR
COBOL
2
109
RIAN
ANALIS YUNIOR
DBASEIII+
2
112
FIKA
PEMROGRAM
COBOL
1
112
FIKA
PEMROGRAM
DBASE III+
1
112
FIKA
PEMROGRAM
SYBASE
1
Bentuk Normal Kedua
• Suatu relasi berada dalam bentuk normal
kedua jika dan hanya jika:
– Berada pada bentuk normal pertama
– Semua atribut bukan kunci memiliki
dependensi sepenuhnya terhadap kunci
primer.
• Dalam ungkapan praktis, bentuk normal kedua mensyaratkan setiap atribut bergantung kepada kunci primer.
• Relasi pada tabel sebelumnya tidak tergolong sebagai bentuk normal kedua, meskipun tergolong pada bentuk normal pertama.
• Perhatikan bahwa NAMA dan JABATAN mempunyai dependensi sepenuhnya terhadap NIP (sebab untuk setiap nilai NIP yang sama, NAMA dan JABATAN juga sama). Namun tidak demikian halnya dengan KEAHLIAN dan PENGALAMAN.
• Untuk mengubahnya ke dalam bentuk
normal kedua perlu dilakukan dekomposisi
terhadap relasi tersebut.
NIP
NAMA
JABATAN
107
ILHAM
ANALIS SENIOR
109
RIAN
ANALIS YUNIOR
112
FIKA
PEMROGRAM
NIP
KEAHLIAN
LAMA
107
COBOL
6
107
ORACLE
1
109
COBOL
2
109
DBASE III+
2
112
COBOL
1
112
DBASE III+
1
112
SYBASE
1
Relasi NKP
Relasi NNJ
Normal Ketiga
• Suatu relasi dikatakan dalam bentuk
normal ketiga jika:
– Berada dalam bentuk normal kedua
– Setiap atribut bukan kunci tidak memiliki
dependensi transitif terhadap kunci primer.
• Relasi NNJ dan NKP memenuhi kriteria
bentuk normal ketiga.
NOMOR_
PESANA
N
NOMOR_
URUT
KODE_ITEM
NAMA_ITEM
50001
0001
P1
Pensil
50001
0002
P2
Buku Tulis
50001
0003
P3
Penggaris
50001
0004
P4
Penghapus
50002
0001
P3
Penggaris
50002
0002
P5
Pulpen
50002
0003
P6
Spidol
50003
0001
P1
Pensil
50003
0002
P2
Buku Tulis
• Pada contoh, kunci primer relasi
berupa gabungan
NOMOR_PESANAN dan
NOMOR_URUT. Sedangkan
KODE_ITEM dan NAMA_ITEM
mempunyai dependensi fungsional
terhadap kunci primer tersebut.
• Perhatikan jika KODE_ITEM bernilai
sama, maka NAMA_ITEM juga
bernilai sama. Ini menunjukkan
adanya dependensi diantara
keduanya.
• Lalu mana yang jadi penentu? Apakah KODE_ITEM tergantung pada NAMA_ITEM atau sebaliknya? Pada keadaan seperti ini tidaklah bisa dikatakan NAMA_ITEM sebagai penentu. Lebih tepat jika KODE_ITEM sebagai penentu.
• Sehingga NAMA_ITEM tidak memiliki dependensi secara langsung terhadap kunci primer atau dengan kata lain, NAMA_ITEM memiliki dependensi transitif terhadap kunci primer
• Lalu dilakukan dekomposisi, yaitu ;
no_pesanan dan no_urut (kunci primer)
serta kode item yang berdepedensi
transitif
• Dan relasi tabel kode item dan nama item
Lanjutan Normal Ketiga
NOMOR_
PESANAN
NOMOR_
URUT
KODE_ITEM
50001
0001
P1
50001
0002
P2
50001
0003
P3
50001
0004
P4
50002
0001
P3
50002
0002
P5
50002
0003
P6
50003
0001
P1
50003
0002
P2
Lanjutan Normal Ketiga
KODE_ITEM
NAMA_ITEM
P1
Pensil
P2
Buku Tulis
P3
Penggaris
P4
Penghapus
P3
Penggaris
P5
Pulpen
P6
Spidol
P1
Pensil
P2
Buku Tulis
Bentuk Normal
Boyce-Codd • 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 sebagai
perbaikan terhadap 3NF. Suatu relasi
yang memenuhi BCNF selalu memenuhi
3NF, tetapi tidak sebaliknya.
• Melakukan pengujian relasi pada BNCD, kita identifikasi semua nilai penentu (determinant) dan pastikan semuanya candidate key,
• dimana determinant adalah sebuah atribute atau sebuah group yang mana beberapa atribut lainnya adalah ketergantungan fungsional total
• Perbedaan antara 3NF dan BCNF pada ketergantungan fungsi A B.
• 3 NF mengikuti ketergantungan
dalam sebual relasi, jika nilai B
adalah sebuah atribut primary key
dan nilai A bukan sebuah kandidat
key
• BCNF lebih baik dari 3 NF,
ketidakkonsistenan jarang muncul di
BCNF pada kondisi tertentu.
Lanjutan Boyce-Codd
SISWA
KURSUS
TUTOR
Anwar
Bahasa Prancis
Pierre
Anwar
Bahasa Inggris
Richard
Budi
Bahasa Prancis
Pierre
Cecep
Bahasa Inggris
Suzanne
Contoh relasi (SKT) yang memenuhi 3NF tetapi tidak memenuhi BCNF
• Relasi diatas didasarkan fakta:
– Seorang siswa dapat mengambil sejumlah kursus bahasa
– Setiap tutor hanya mengajar pada sebuah kursus bahasa (misalnya, Pierre hanya mengajar bahasa Prancis)
– Setiap siswa pada setiap kursus bahasa hanya diajar oleh seorang tutor (misalnya, tutor bahasa Inggris pada kelas Anwar hanyalah Richard)
– Suatu kursus bahasa yang sama bisa saja memiliki lebih dari satu tutor (misalnya, kelas bahasa Inggris yang diajar oleh Richard dan ada kelas bahasa Inggris yang lain yang diajar oleh Suzanne).
• Relasi SKT dikatakan memenuhi 3NF karena tidak ada dependensi transitif pada relasi tersebut. Namun tidak memenuhi BCNF karena adanya determinan TUTOR (yang menentukan kursus) dan determinan ini tidak berdiri sebagai kunci kandidat.
• Relasi SKT masih menimbulkan anomali. Contoh, bila baris yang berisi siswa bernama Cecep dihapus maka informasi yang menyatakan bahwa Suzanne adalah tutor bahasa Inggris akan ikut hilang.
• Relasi SKT masih menimbulkan
anomali. Contoh, bila baris yang
berisi siswa bernama Cecep dihapus
maka informasi yang menyatakan
bahwa Suzanne adalah tutor bahasa
Inggris akan ikut hilang.
• Cara mengkonversi relasi yang telah
memenuhi bentuk normal ketiga ke
BCNF adalah:
• carilah semua penentu
• bila terdapat penentu yang bukan
berupa kunci kandidat, maka:
– pisahkan relasi tersebut
– buat penentu tersebut sebagai kunci
primer
• itulah sebabnya agar memenuhi
BCNF, relasi SKT perlu
didekomposisi menjadi:
Lanjutan Boyce-Codd
SISWA
TUTOR
Anwar
Pierre
Anwar
Richard
Budi
Pierre
Cecep
Suzanne
Relasi ST
TUTOR KURSUS
Pierre Bahasa Perancis
Richard Bahasa Inggris
Suzanne Bahasa Inggris
Relasi TK
Bentuk Normal Ke Empat
• Suatu relasi berada dalam bentuk normal
keempat jika :
– Telah melalui bentuk normal Boyce-codd
– Tidak mengandung dua atribut atau lebih
yang bernilai banyak
• 4NF digunakan untuk menormalkan
ketergantungan nilai banyak atau
Multivalues dependency (MVD)
• Untuk memahami konsep
dependensi nilai banyak, perhatikan
tabel dibawah ini:
MATAKULIAH
DOSEN
ISI
Pengetahuan
Komputer
Amir
Fitria
Dasar Komputer
Pengenalan Pengolah Kata
Pengenalan Lembar Kerja
Matematika I
Fitria
Diferensial
Integral
• Tabel tsb mengungkapkan tentang
dosen yang mengajar matakuliah
dan isi matakuliah yang
bersangkutan.
• Contoh, ada dua dosen yang
mengajar Pengetahuan Komputer
yaitu Amir dan Fitria. Dengan isi
matakuliah : Dasar Komputer,
Pengenalan Pengolah Kata dan
Pengenalan Lembar Kerja.
MATAKULIAH
DOSEN
ISI
Pengetahuan Komputer
Amir
Dasar Komputer
Pengetahuan Komputer
Amir
Pengenalan Pengolah Kata
Pengetahuan Komputer
Amir
Pengenalan Lembar Kerja
Pengetahuan Komputer
Fitria
Dasar Komputer
Pengetahuan Komputer
Fitria
Pengenalan Pengolah Kata
Pengetahuan Komputer
Fitria
Pengenalan Lembar Kerja
Matematika I
Fitria
Diferensial
Matematika I
Fitria
Integral
Relasi hasil normalisasi
• Relasi tabel sebelumnya, memiliki kemubaziran dan tentu saja membawa kemungkinan terjadinya anomali.
• Contoh bila matakuliah Matematika I diajar oleh seorang dosen baru maka ada dua baris yang perlu diciptakan. Dan jika Fitria tidak lagi mengajar Matematika I maka ISI dari Matematika I juga akan ikut menghilang.
• Meskipun demikian, relasi ini memenuhi persyaratan BCNF. Hal ini disebabkan kunci primer relasi ini berupa gabungan MATAKULIAH, DOSEN dan ISI.
• Masalah relasi yang memenuhi BCNF seperti diatas dapat dipecahkan melalui dekomposisi. Karena pada kenyataannya DOSEN dan ISI tidak ada ketergantungan. Solusi yang tepat adalah dengan konsep dependensi nilai banyak.
• Secara umum, dependensi nilai banyak muncul pada relasi yang paling tidak memiliki tiga atribut dan dua diantaranya bernilai banyak, dan nilai-nilainya bergantung hanya pada atribut ketiga.
MATAKULIAH
DOSEN
Pengetahuan
Komputer
Amir
Pengetahuan
Komputer
Fitria
Matematika I
Fitria
MATAKULIAH
ISI
Pengetahuan Komputer
Dasar Komputer
Pengetahuan Komputer
Pengenalan Pengolah Kata
Pengetahuan Komputer
Pengenalan Lembar Kerja
Matematika I
Diferensial
Matematika I
Integral
Relasi-relasi hasil dekomposisi
Relasi ini memenuhi bentuk normal keempat jika: • Telah berada pada BCNF • Tidak mengandung dua atribut atau lebih yang bernilai banyak