Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

25
Normalisasi Basis Data Normalisasi Basis Data

description

Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Transcript of Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Page 1: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Normalisasi Basis Data Normalisasi Basis Data

Page 2: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

NormalisasiNormalisasi

Normalisasi adalah proses pembentukan relasi basis data kedalam bentuk normal, sehingga sebagian besar ambiguity bisa dihilangkan.

Bentu normal adalah aturan-aturan yang harus dipenuhi oleh relasi-relasi dalam basis data.

Page 3: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF)

Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik.

Page 4: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

NormalisasiNormalisasi

Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).

Page 5: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Tabel UniversalTabel Universal

Tabel Universal (Universal / Star Table) sebuah tabel yang merangkum semua kelompok data yang saling berhubungan, bukan merupakan tabel yang baik.

Misalnya:

Page 6: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Tabel UniversalTabel Universal

Page 7: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Bentuk-bentuk NormalBentuk-bentuk Normal

1. Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)

2. Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF)

3. Bentuk Normal Tahap (3rd Normal Form / 3NF)

4. Boyce-Code Normal Form (BCNF)5. Bentuk Normal Tahap (4th Normal

Form / 4NF)6. Bentuk Normal Tahap (5th Normal

Form / 5NF)

Page 8: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Bentuk Normal Tahap Pertama Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)(1st Normal Form / 1NF)

Bentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued attribute), atribut composite.

Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)

Page 9: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Contoh 1Contoh 1Misal data mahasiswa sbb:

Atau:Atau:

Tabel-tabel di atas tidak memenuhi syarat 1NFTabel-tabel di atas tidak memenuhi syarat 1NF

Page 10: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Contoh 1Contoh 1Didekomposisi menjadi: Tabel MahasiswaTabel Mahasiswa

Tabel HobiTabel Hobi

Page 11: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Contoh 2 (composite)Contoh 2 (composite)JadwalKuliah

KodekulKodekul NamaKulNamaKul DosenDosen KelasKelas JadwalJadwal

KodekulKodekul NamaKulNamaKul DosenDosen KelasKelas JadwalHariJadwalHari JadwalJamJadwalJam

Dimana nilai pada atribut jadwal berisi gabungan antara Dimana nilai pada atribut jadwal berisi gabungan antara Hari dan Jam.Hari dan Jam.

Jika asumsi hari dan jam memegang peranan penting Jika asumsi hari dan jam memegang peranan penting dalam sistem basis data, maka atribut Jadwal perlu dalam sistem basis data, maka atribut Jadwal perlu dipisah sehingga menjadi JadwalHari dan JadwalJam dipisah sehingga menjadi JadwalHari dan JadwalJam sbb:sbb:

JadwalKuliahJadwalKuliah

Page 12: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Bentuk Normal Tahap Kedua Bentuk Normal Tahap Kedua (2nd Normal Form)(2nd Normal Form)

Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NFSebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya (Functional Dependency) hanya tergantung pada sebagian dari primary keyJika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan

Page 13: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

ContohContohTabel berikut memenuhi 1NF tapi tidak termasuk 2NF:Mhs_nrpMhs_nrp mhs_namamhs_nama mhs_alamatmhs_alamat mk_kodemk_kode mk_namamk_nama mk_sksmk_sks nihurufnihuruf

Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggap sebagai primary key sedangkan:dianggap sebagai primary key sedangkan:{Mhs_nrp, mk_kode}{Mhs_nrp, mk_kode} mhs_namamhs_nama{Mhs_nrp, mk_kode} {Mhs_nrp, mk_kode} mhs_alamatmhs_alamat{Mhs_nrp, mk_kode} {Mhs_nrp, mk_kode} mk_namamk_nama{Mhs_nrp, mk_kode} {Mhs_nrp, mk_kode} mk_sksmk_sks{Mhs_nrp, mk_kode}{Mhs_nrp, mk_kode} nihurufnihuruf

Tabel di atas perlu didekomposisi menjadi beberapa tabel Tabel di atas perlu didekomposisi menjadi beberapa tabel yang memenuhi syarat 2NF yang memenuhi syarat 2NF

Page 14: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

ContohContoh

Functional dependencynya sbb:{Mhs_nrp, mk_kode} nihuruf (fd1)

Mhs_nrp {mhs_nama, mhs_alamat} (fd2)

Mk_kode {mk_nama, mk_sks} (fd3)

fd1 (mhs_nrp, mk_kode, nihuruf) Tabel Nilaifd2 (Mhs_nrp, mhs_nama, mhs_alamat) Tabel Mahasiswafd3 (mk_kode, mk_nama, mk_sks) Tabel MataKuliah

Page 15: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Bentuk Normal Tahap Ketiga Bentuk Normal Tahap Ketiga (3rd Normal Form /3NF) (3rd Normal Form /3NF)

Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jika tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya.

Page 16: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

ContohContohTabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:

NrpNrp NamaNama Alm_JalanAlm_Jalan Alm_KotaAlm_Kota Alm_ProvinsiAlm_Provinsi Alm_KodeposAlm_Kodepos

Mahasiswa

karena masih terdapat atribut karena masih terdapat atribut non primary key non primary key (yakni (yakni alm_kota alm_kota dan dan alm_Provinsialm_Provinsi) yang memiliki ketergantungan terhadap atribut ) yang memiliki ketergantungan terhadap atribut non primary key non primary key yang lain (yakni yang lain (yakni alm_kodeposalm_kodepos):):

alm_kodepos {alm_Provinsi, alm_kota} Sehingga tabel tersebut perlu didekomposisi menjadi:Sehingga tabel tersebut perlu didekomposisi menjadi:Mahasiswa (Nrp, nama, alm_jalan,

alm_kodepos)Kodepos (alm_kodepos, alm_provinsi,

alm_kota)

Page 17: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Normalisasikan tabel Normalisasikan tabel tersebut!!tersebut!!

latihanlatihan

Page 18: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

1. Tabel tersebut tidak memenuhi 1NF, karena 1. Tabel tersebut tidak memenuhi 1NF, karena ada atribut multivalue (hobbi) maka harus ada atribut multivalue (hobbi) maka harus didekomposisi menjadididekomposisi menjadi

Page 19: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Atau jika kita lihat recordnya Atau jika kita lihat recordnya seperti ini!seperti ini!

Page 20: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Dari tabel siswa dan hobby yang Dari tabel siswa dan hobby yang di hasilkan apakah tabel tersebut di hasilkan apakah tabel tersebut sudah bisa dikatakan normal?sudah bisa dikatakan normal?Mengapa?Mengapa?

Page 21: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Pada tabel siswa ketergantungan Pada tabel siswa ketergantungan pada primari key nya bersifat pada primari key nya bersifat sebagian, muncul asumsi bahwa sebagian, muncul asumsi bahwa nis dan kode_mk adalah primary nis dan kode_mk adalah primary key...maka tebel siswa TIDAK key...maka tebel siswa TIDAK memenuhi 2NF, maka tabel siswa memenuhi 2NF, maka tabel siswa di dekomposisi menjadidi dekomposisi menjadi

Page 22: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan
Page 23: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan
Page 24: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Query diatas untuk Query diatas untuk menampilkan siswa menampilkan siswa yang suka memasakyang suka memasak

Hasil Queri diatasHasil Queri diatas

Page 25: Materi Normalisamateri-normalisasi-dan-latihan.pptsi Dan Latihan

Query diatas untuk menampilkan siswa dan nilai nyaQuery diatas untuk menampilkan siswa dan nilai nya