basisdata - normalisasi

Download Basisdata  - normalisasi

If you can't read please download the document

Upload: nina-kusumawardani-m-s

Post on 21-Jun-2015

11.618 views

Category:

Education


2 download

DESCRIPTION

13-12-2012

TRANSCRIPT

  • 1. Normalisasi Basis Data

2. Normalisasi Normalisasi adalah proses pembentukanstruktur basis data sehingga sebagian besarambiguity bisa dihilangkan. Tahap Normalisasi dimulai dari tahap palingringan (1NF) hingga paling ketat (5NF) Biasanya hanya sampai pada tingkat 3NF atauBCNF karena sudah cukup memadai untukmenghasilkan tabel-tabel yang berkualitas baik. 3. NormalisasiSebuah tabel dikatakan baik (efisien) atau normal jikamemenuhi 3 kriteria sbb:1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).3. Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan dijelaskan kemudian-) 4. NormalisasiJika kriteria ketiga (BCNF) tidak dapatterpenuhi, maka paling tidak tabel tersebuttidak melanggar Bentuk Normal tahapketiga (3rd Normal Form / 3NF). 5. Tabel UniversalTabel Universal (Universal / Star Table) sebuah tabel yang merangkum semuakelompok data yang saling berhubungan,bukan merupakan tabel yang baik.Misalnya: 6. Tabel Universal 7. Functional Dependency Notasi: A BA dan B adalah atribut dari sebuah tabel. Berartisecara fungsional A menentukan B atau Btergantung pada A, jika dan hanya jika ada 2baris data dengan nilai A yang sama, maka nilaiB juga sama Notasi: A B atau A x BAdalah kebalikan dari notasi sebelumnya. 8. Functional DependencyContoh tabel nilai 9. Functional DependencyFunctional Dependency dari tabel nilai Nrp namaMhsKarena untuk setiap nilai nrp yang sama, maka nilai namaMhsjuga sama. {Namakul, nrp} NiHurufKarena attribut Nihuruf tergantung pada Namakul dan nrp secarabersama-sama. Dalam arti lain untuk Namakul dan nrp yang sama,maka NiHuruf juga sama, karena Namakul dan nrp merupakan key(bersifat unik). NamaKul nrp Nrp NiHuruf 10. Bentuk-bentuk Normal1. 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) 11. Bentuk Normal Tahap Pertama(1st Normal Form / 1NF) Bentuk normal 1NF terpenuhi jika sebuahtabel tidak memiliki atribut bernilai banyak(multivalued attribute), atribut compositeatau kombinasinya dalam domain datayang sama. Setiap atribut dalam tabel tersebut harusbernilai atomic (tidak dapat dibagi-bagilagi) 12. Contoh 1Misal data mahasiswa sbb:Atau:Tabel-tabel di atas tidak memenuhi syarat 1NF 13. Contoh 1Didekomposisi menjadi: Tabel Mahasiswa Tabel Hobi 14. Contoh 2 (composite)JadwalKuliahKodekulNamaKulDosen Kelas Jadwal Dimana nilai pada atribut jadwal berisi gabungan antaraHari dan Jam. Jika asumsi hari dan jam memegang peranan pentingdalam sistem basis data, maka atribut Jadwal perludipisah sehingga menjadi JadwalHari dan JadwalJamsbb:JadwalKuliahKodekul NamaKulDosenKelas JadwalHari JadwalJam 15. Bentuk Normal Tahap Kedua (2nd Normal Form) Bentuk normal 2NF terpenuhi dalam sebuahtabel jika telah memenuhi bentuk 1NF, dansemua atribut selain primary key, secara utuhmemiliki Functional Dependency pada primarykey Sebuah tabel tidak memenuhi 2NF, jika adaatribut yang ketergantungannya (FunctionalDependency) hanya bersifat parsial saja (hanyatergantung pada sebagian dari primary key) Jika terdapat atribut yang tidak memilikiketergantungan terhadap primary key, makaatribut tersebut harus dipindah atau dihilangkan 16. ContohTabel berikut memenuhi 1NF tapi tidak termasuk 2NF:Mhs_nrp mhs_nama mhs_alamat mk_kode mk_nama mk_sks nihurufTidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggap sebagai primary key sedangkan: {Mhs_nrp, mk_kode} mhs_nama {Mhs_nrp, mk_kode} mhs_alamat {Mhs_nrp, mk_kode} mk_nama {Mhs_nrp, mk_kode} mk_sks {Mhs_nrp, mk_kode} nihurufTabel di atas perlu didekomposisi menjadi beberapa tabel yang memenuhi syarat 2NF 17. ContohFunctional 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 18. Bentuk Normal Tahap Ketiga (3rdNormal Form /3NF) Bentuk normal 3NF terpenuhi jika telahmemenuhi bentuk 2NF, dan jika tidak adaatribut non primary key yang memilikiketergantungan terhadap atribut non primarykey yang lainnya. Untuk setiap Functional Dependency dengannotasi X A, maka: X harus menjadi superkey pada tabel tsb. Atau A merupakan bagian dari primary key pada tabeltsb. 19. ContohTabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:Mahasiswa Nrp Nama Alm_Jalan Alm_KotaAlm_Provinsi Alm_Kodepos karena masih terdapat atribut non primary key (yakni alm_kota danalm_Provinsi) yang memiliki ketergantungan terhadap atribut nonprimary key yang lain (yakni alm_kodepos): alm_kodepos {alm_Provinsi, alm_kota} Sehingga tabel tersebut perlu didekomposisi menjadi: Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos) Kodepos (alm_kodepos, alm_provinsi, alm_kota) 20. Boyce-Code Normal Form (BCNF) Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuksetiap functional dependency terhadap setiap atributatau gabungan atribut dalam bentuk: X Y maka Xadalah super key tabel tersebut harus di-dekomposisi berdasarkanfunctional dependency yang ada, sehingga X menjadisuper key dari tabel-tabel hasil dekomposisi Setiap tabel dalam BCNF merupakan 3NF. Akan tetapisetiap 3NF belum tentu termasuk BCNF .Perbedaannya, untuk functional dependency X A,BCNF tidak membolehkan A sebagai bagian dari primarykey. 21. Bentuk Normal Tahap Keempat(4th Normal Form /4NF) Bentuk normal 4NF terpenuhi dalamsebuah tabel jika telah memenuhi bentukBCNF, dan tabel tersebut tidak bolehmemiliki lebih dari sebuah multivaluedatribute Untuk setiap multivalued dependencies(MVD) juga harus merupakan functionaldependencies 22. ContohMisal, tabel berikut tidak memenuhi 4NF:Setiap employee dapat bekerja di lebih dari project dan dapatmemiliki lebih dari satu skill. Untuk kasus seperti ini tabeltersebut harus di-dekomposisi menjadi: (Employee, Project) (Employee, Skill) 23. Bentuk Normal Tahap Keempat (5th Normal Form /5NF) Bentuk normal 5NF terpenuhi jika tidak dapatmemiliki sebuah lossless decomposition menjaditabel-tabel yg lebih kecil. Jika 4 bentuk normal sebelumnya dibentukberdasarkan functional dependency, 5NFdibentuk berdasarkan konsep join dependence.Yakni apabila sebuah tabel telah di-dekomposisimenjadi tabel-tabel lebih kecil, harus bisadigabungkan lagi (join) untuk membentuk tabelsemula