NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf ·...

19

Click here to load reader

Transcript of NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf ·...

Page 1: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

NORMALISASI BASISDATA

2

Oleh: Heru Prasetyo, M.kom

Satu mesin dapat melakukan pekerjaan lima puluh orang biasa. Tidak ada

mesin dapat melakukan pekerjaan dari satu orang yang luar biasa.

(Elbert Hubbard)

Page 2: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

Boyce-Code Normal Form

BCNF

• Setidaknya sebuah relasi/tabel harus memenuhi

3 level tahap normalisasi untuk bisa dikatakan

normal atau bebas anomali, yaitu: 1NF, 2NF dan

3NF

• BCNF merupakan revisi atas bentuk normal

ketiga

• 1NF, 2NF dan 3NF ditemukan oleh E.F.Codd

• 4NF dan 5NF dikemukakan oleh Fagin, dipakai

pada kasus-kasus khusus.

Page 3: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

• Relasi Umum adalah relasi/tabel yang telah melalui tahapan normalisasisebelumnya yaitu Loosless Joint Decomposition dan Dependency Preservation.

• Namun orang sering secara langsung menerapkan metode level normalisasi ini terhadap raw data atau tabel mentah (UnnormalizedForm).

Page 4: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

Bentuk Normal Pertama/First

Normalized Form/1NF• Suatu relasi memenuhi 1NF jika dan hanya jika setiap atribut

bernilai tunggal untuk setiap baris.

• Tidak ada kolom yang memiliki nilai ganda pada atributnya.

• Contoh:

Page 5: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

• Tidak ada baris/record yang memiliki nilai

serupa. Contoh:

Page 6: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

Bentuk Normal Kedua/Second

Normalized Form/NF2

• Suatu relasi memenuhi 2NF jika dan hanya jika:– Tabel tersebut memenuhi 1NF

– Semua atribut bukan kunci memiliki Full Dependent Functional(FD2) terhadap atribut yang menjadi Primary Key (Kunci Primer).

• Bukan kunci adalah atribut yang bukan merupakanbagian dari atribut Primary Key. Primary Key bisagabungan atribut-atribut. Praktisnya, tiap atributbergantung pada Kunci Primer.

• Umumnya diperlukan Dekomposisi(pemecahantabel) terlebih dahulu terhadap tabel yang memenuhi 1NF agar memenuhi kriteria 2NF.

• Contoh:

Page 7: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

Diagram FD tersebut menjelaskan relasi:

NIP �{NAMA, JABATAN}

{NIP, KEAHLIAN} � LAMA

Page 8: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

Dari penjelasan tersebut dapat dibentuk tabel-tabel baru yang memenuhi

kaidah 2NF:

EMPLOYEE_1(NIP, NAMA, JABATAN)

EMPLOYEE_2(NIP, KEAHLIAN, LAMA)

Atribut bergaris bawah menandakan sebagai Primary Key

Page 9: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

Bentuk Normal Ketiga/3NF• Suatu relasi memenuhi 3NF jika dan hanya jika:

– Tabel tersebut memenuhi 2NF

– Semua atribut bukan kunci tidak memiliki Dependensi Transitif(x � Y � Z, FD4) terhadap atribut yang menjadi Primary Key (Kunci Primer).

• Contoh:– PESANAN(NOMOR_PESANAN, NOMOR_URUT, KODE_ITEM, NAMA_ITEM)

– Baik KODE_ITEM maupun NAMA_ITEM secara terpisah juga memiliki DependensiFungsional terhadap Primary Key (2NF).

– Namun nampak ada dependensi antara keduanya. Melihat data tersebut, nampakbahwa {NOMOR_PESANAN, NOMOR_URUT} � KODE_ITEM � NAMA_ITEM. Terjadi Dependensi Transitif.

Page 10: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

• Maka Tabel dapat didekomposisi agar memenuhi syarat 3NF menjadi:– PESANAN_1(NOMOR PESANAN, NOMOR_URUT, KODE_ITEM)

– PESANAN_2(KODE_ITEM, NAMA_ITEM)

Page 11: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

Bentuk Normal Boyce-Codd/BCNF• Suatu relasi memenuhi BCNF jika dan hanya jika semua Penentu(Determinant, Kiri

Panah) adalah Kunci Kandidat.

• Kunci Kandidat adalah Atribut yang bersifat unik yang dapat menjadi penanda sebuahrecord/baris.

• Merupakan revisi dari 3NF. Sebuah Tabel masih mungkin mengandung anomaliwalaupun telah memenuhi syarat 3NF.

• Contoh:

• Tabel Sudah memenuhi kaidah 3NF karena tidak ada dependensi transitif pada tabel ini.– {SISWA, KURSUS} � TUTOR

– TUTOR � KURSUS

• Sudah memenuhi syarat 2NF karena atribut non key tergantung penuh pada attributPrimary Key.

• Namun jika diteliti, TUTOR yang menentukan KURSUS ini tidak dapat menjadi kuncikandidat, dikarenakan kondisi data yang menampilkan kenyataan bahwa pengajarbahasa Inggris ada 2 orang yang berbeda.

Page 12: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

• Maka Tabel dapat didekomposisi agar memenuhi syarat BCNF menjadi:– SISWA(SISWA, TUTOR)

– TUTOR(TUTOR, KURSUS)

Page 13: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

Bentuk Normal Keempat/4NF• Disebut pula Multivalued Dependency, Dependensi Nilai Banyak,

Ketergantungan Nilai Jamak, sebagai bentuk normal keempat. MVD digunakan untuk menyatakan Hubungan Satu ke Banyak(One to Many).

• Merupakan pengembangan dari Functional Dependency.

• Suatu relasi memenuhi 4NF jika:– Telah memenuhi BCNF

– Tidak mengandung 2 atribut atau lebih yang bernilai banyak

• Dependensi Nilai Banyak muncul pada Table/Relasi yang paling tidakmemiliki 3 atribut dan 2 di antaranya bernilai banyak dimana nilai-nilaitersebut tergantung hanya pada atribut ketiga.

• Notasi:A --->> B

A --->> C dapat digabung menjadi A --->> B | C

Dibaca:

Atribut A menentukan banyak nilai atribut B atau , B multidipendenterhadap A

• Antara B dan C tidak ada ketergantungan.

Page 14: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

• Tabel tersebut di atas memenuhi BCNF setelahdinormalisasi. Tabel tersebut menggunakan ketiga atributsebagai primary key.

Page 15: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

• Sesuai kaidah MVD, maka Tabel tadi dapatdidekomposisi menjadi 2 tabel seperti di bawah:

Page 16: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

Bentuk Normal Kelima/5NF• Disebut juga PJNF, Projection Join Normal Form, menggunakan acuan

Join Dependency/Dependensi Gabungan.

• Secara praktis dapat dikatakan, suatu relasi R berada dalam 5NF jika data yang ada padanya tidak lagi dapat didekomposisi menjadi relasi/table-table yang lebih kecil dengan kunci kandidat realasi-relasi(yang lebih kecil) tidak sama dengan kunci kandidat relasi R.

• Notasi: * (A, B, …., C)

dengan A = XY, B = YZ, C = ZX

• Contoh:

• Relasi DDK memenuhi Dependensi Gabungan * (DEALER DISTRIBUTOR, DISTRIBUTOR KENDARAAN, DEALER KENDARAAN)

• Relasi tersebut di atas dapat didekomposisi menjadi 3 relasi untuk memenuhi kaidah 5NF:– DDK_1(DEALER, DISTRIBUTOR)

– DDK_2(DISTRIBUTOR, KENDARAAN)

– DDK_3(DEALER, KENDARAAN)

Page 17: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

• Nampak bahwa penggabungan ketiga relasi baru(tidak bisa hanya 2) pada akhirnya akan sesuai dengan aslinya (DDK)

Page 18: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

Overnormalized

• Overnormalisasi, mendekomposisi tabel-tabel yang telah memenuhikaidah 5NF. Hal ini dimaksudkan untuk meningkatkan kinerja.

• Kolom data yang sering diperlukan oleh system diletakkan pada tabel tersendiri terpisah dari kolom-kolom data yang jarang digunakan.

• Meminimalkan kejadian saling mengunci(deadlock) jika sebuah tabel dengan banyak kolom diakses secara serentak oleh computer client yang kebetulan mengakses baris yang sama.

• Namun perlu diperhatikan bahwa bisa jadi akibat sedikitnya kolom justru akan meningkatkan waktu akses CPU karena banyaknya tabel yang harus dibuka untuk sekali operasi. Termasuk dibutuhkannya banyak disk memory saat pembuatan Laporan yang memerlukan banyak penggabungan tabel.

• 4NF, 5NF dan Overnormalisasi umumnya diimplementasikan pada Nested Relation dimana data yang diolah bersifat masiv dan kompleks. Misal pada aplikasi Enterprise Resource Planning(ERP).

• Umumnya sebuah relasi/tabel sudah cukup baik dan efisien dengan menerapkan 1NF hingga 3NF pada aplikasi-aplikasi data sederhana.

Page 19: NORMALISASI BASISDATA 2 - pdf.nsc.ac.idpdf.nsc.ac.id/4-NORMALISASI DATA 2-20141118.pdf · NORMALISASI BASISDATA 2 Oleh: HeruPrasetyo, M.kom Satumesindapatmelakukanpekerjaanlima puluhorang

TERIMA KASIH