Rabu, 06 Januari 2010

Normalisasi Database

PENTINGNYA NORMALISASI

Suatu rancangan database dapat disebut buruk jika :
  1. Data yang sama tersimpan di beberapa tempat (file atau record)
  2. Ketidakmampuan untuk menghasilkan informasi tertentu
  3. Terjadi kehilangan informasi
  4. Terjadi adanya Redudansi ( pengulangan) atau duplikasi data sehingga memboroskan ruang penyimpanan dan menyulitkan saat proses updating data
  5. Timbulnya NULL VALUE
  6. Kehilangan informasi bisa terjadi bila pada waktu merancang database, kita melakukan proses dekomposisi yang keliru
Tujuan Normalisasi adalah menyempurnakan struktur table dengan :
  • mengeliminasi adanya duplikasi informasi
  • memudahkan pengubahan struktur table
  • memperkecil pengaruh perubahan struktur database.
Bentuk normalisasi yang sering digunakan adalah 1st NF, 2nd NF, 3rd NF, dan BCNF

FUNCTIONAL DEPENDENCY (FD)

Untuk melakukan normalisasi, harus bisa menentukan terlebih dahulu FUNCTIONAL DEPENDENCY (FD) atau KETERGANTUNGAN FUNGSIONAL, khusus dalam melakukan dekomposisi rancangan database.

Functional Dependency (FD) dapat disimbolkan dengan : A -> B artinya B memiliki ketergantunga dengan A, berarti A secara fungsional menentukan B atau B secar fungsional tergantung A.

NORMALISASI 1st NF
Merubah dari bentuk table yang tidak normal (unnormalized table)menjadi bentuk normal

A.Unnormalized Table ( Tabel yang tidak sempurna)
suatu table dikatakan unnormalized jika :
  1. Mempunyai Penggandaan field yang sejenis
  2. Elemen datanya memungkinkan untuk null value (tidak berisi)
B. Normal I (1NF)
  • suatu table dikatakan berada pada bentuk normal I jika ia tidak berada pada bentuk unnormalized table.
NORMALISASI 2nd NF

  • Dibuat berdasarkan FULL FUNCTIONAL DEPENDENCY (FD) (ketergantungan fungsional penuh)
  • Normalisasi 2NF : jika tabel berada dalam bentuk normal pertama (1NF)dan setiap atribut bukan kunci bergantung penuh pada kunci primer .
Syarat 2nd Normal Form (2NF)
  • memenuhi kriteria tabel Normal I (1NF)
  • di dalam tabel tersebut tidak ada redudansi / pengulangan data dan null value
  • Field-field yang bukan PK adalah Full Dependent (bergantung penuh pada PK)