NORMALISASI BASIS DATA

Ø Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.

Ø 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.

Ø Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sb

Ø 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.

Ø Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).

Ø Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan dijelaskan kemudian-)

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

Tabel Universal

Functional Dependency

Functional Dependency dari tabel nilai

Ø Nrp à namaMhs

Karena untuk setiap nilai nrp yang sama, maka nilai namaMhs juga sama.

Ø {Namakul, nrp} à NiHuruf

Karena attribut Nihuruf tergantung pada Namakul dan nrp secara bersama-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

Bentuk-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)

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

Bentuk Normal Tahap Kedua (2nd Normal Form)

Ø Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada primary key

Ø Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya (Functional Dependency) hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key)

Ø Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan

Contoh

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 Nilai

fd2 (Mhs_nrp, mhs_nama, mhs_alamat) è Tabel Mahasiswa

fd3 (mk_kode, mk_nama, mk_sks) è Tabel MataKuliah

Bentuk Normal Tahap Ketiga (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.

Ø Untuk setiap Functional Dependency dengan notasi X à A, maka:

Ø X harus menjadi superkey pada tabel tsb.

Ø Atau A merupakan bagian dari primary key pada tabel tsb.

Contoh

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

Mahasiswa

Nrp

Nama

Alm_Jalan

Alm_Kota

Alm_Provinsi

Alm_Kodepos

Ø karena masih terdapat atribut non primary key (yakni alm_kota dan alm_Provinsi) yang memiliki ketergantungan terhadap atribut non primary 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)

Boyce-Code Normal Form (BCNF)

Ø Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk: X à Y maka X adalah super key

Ø tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi

Ø Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X à A, BCNF tidak membolehkan A sebagai bagian dari primary key.

Bentuk Normal Tahap Keempat (4th Normal Form /4NF)

Ø Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute

Ø Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies

Contoh

Misal, tabel berikut tidak memenuhi 4NF:

Setiap employee dapat bekerja di lebih dari project dan dapat memiliki lebih dari satu skill. Untuk kasus seperti ini tabel tersebut harus di-dekomposisi menjadi:

(Employee, Project)

(Employee, Skill)

Bentuk Normal Tahap Keempat (5th Normal Form /5NF)

Ø Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil.

Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula

Ditulis dalam SBD II. Leave a Comment »

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: