normalisasi basis data

NORMALISASI BASIS DATA

Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb:

1. Normalisasi 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 persist.
2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
3. Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan dijelaskan kemudian-)

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

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

Functional Dependency

Notasi: A à B A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga same

A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan
 Notasi: A à B atau A xà B
Adalah kebalikan dari notasi sebelumnya.
 Notasi: A à B atau A xà B
Adalah kebalikan dari notasi sebelumnya. Functional Dependency dari tabel nilai

Functional Dependency dari tabel nilai
 Nrp à namaMhs
Karena untuk setiap nilai nrp yang sama, maka nilai namaMhs juga sama.
 Nrp à namaMhs
Karena untuk setiap nilai nrp yang sama, maka nilai namaMhs juga sama.

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)
7. Bentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued attribute), atribut composite atau kombinasinya dalam domain data yang sama.
8. Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)
9. Dianna nilai pada atribut jadwal berisi gabungan antara Hari dan Jam.
10. Jake asumsi hari dan jam memegang peranan penting Dallam sistem basis data, maka atribut Jadwal perlu dipisah sehingga menjadi JadwalHari dan JadwalJam sbb:

Bentuk2 ke dua 2 NF

 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

 Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggap sebagai primary key sedangkan:

Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:

{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} à nihuruf

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.
 X harus menjadi superkey pada tabel tsb.
 Atau A merupakan bagian dari primary key pada tabel tsb.
 Untuk setiap Functional Dependency dengan notasi X à A

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: