Normalisasi Database

10/07/2015

Tujuan Menganalisa Sistem

  • Menentukan kebutuhan dari dari database
  • Pengelompokan dan pendeskripsian informasi pada suatu objek
  • Mengidentifikasi dan pengelompokan hubungan antar objek
  • Menentukan jenis transaksi yang akan diekseskusi dalam database
  • Mengidentifikasi aturan-aturan yang berhubungan pada integritas database

Normalisasi

Normalisasi adalah proses mendesainstruktur Database dan teknik analisis data yang mengorganisasikan atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, serta fleksibel sehingga menghasilkan sebuah tabel yang normal.
Normalisasi difungsikan untuk memastikan bahwa database yang dibuat berkualitas sangat baik. Tahap normalisasi dimulai dari tahap paling awal (1NF) hingga yang paling ketat (5NF), biasanya hanya sampai pada tingkat 3NF (bentuk normal ketiga), karena sudah cukup memadai untuk menghasilkan tabel-tabel berkualitas baik.
Merancang Diagram Alir Data (DAD) dengan program EasyCase terdiri dari :
  • Diagram Context (DAD konteks sistem), terkadang ada yang menyebut diagram konteks sebagai diagram level 0 sampai diagram level yang terbaik (level 0, 1, 2, 3, dst)
  • Dapat digambarkan dengan program case tool
  • Disertai kamus aliran data yang mendiskripsikan data yang mengalir dalam aliran data

Tujuan dari Normalisasi

  • Menghilangkan kerangkapan pada data
  • Mengurangi kompleksitas
  • Mengurangi pemodifikasian data
  • Menghilangkan anomali database

Tahapan dalam Normalisasi

Bentuk tidak Normal, bentuk ini kumpulan data yang akan direkam, tidak ada keharusan mengikuti firmat tertentu, bisa saja data tidak lengkap atau terduplikasi.
Bentuk Normal Pertama (1NF), cirinya adalah setiap data dibentuk dalam flat file dan tidak ada set atribut yang berulang. Membentuk sebuah tabel menjadi Un-Normalized, dengan mencantumkan data yang ada pada semua field, membentuk normal pertama (1 Normal First) dengan flat tabel yang memisahkan data pada field yag tepat bernilai atomik, dan yang melengkapi atribut / field yang ada.

Syarat normal ke satu (1NF) antara lain
  • Pada setiap data dibentuk dalam sebau flat file, dan dibentuk dalam satu demi satu record, nilai dari field itu berupa “atomic value”
  • tidak ada set atribute yang berulang
  • ditentukan primary key untuk tabel / relasi
  • tiap atribut hanya memiliki satu pengertian
Bentuk normal kedua (2NF), didasari atas konsep full functional dependency (ketergantungan fungsional sepenuhnya) yang dapat didefinisikan.




Syarat normal kedua (2NF) sebagai berikut
  • Bentuk data ini telah dapat memenuhi keriteria bentuk normal pertama
  • Atribut bukan Premary Key harus memiliki ketergantungan full functional dependency pada primary key
Bentuk normal ketiga (3NF), walaupun relasi 2NF memiliki redudandi yang lebih sedikit dari relasi 1NF, namun relasi tersebut masih mendapat kemungkinan mengalami kendala bila terjadi anomali peremajaan (update) terhadap relasi tersebut.




Syarat normal ketiga (3NF) sebagai berikut
  • Bentuk data ini telah dapat memenuhi keriteria bentuk normal yang kedua
  • Atribut bukan primary key harus tidak memiliki ketergantungan pada transitif, artinya suatu atribut bukan primary key itu tidak bileh memiliki ketergantungan fungsi pada atribut yang bukan primary key lain, seluruh atribut bukan primary key pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key yang direlasikan saja
Bentuk normal ke empat (4NF), memiliki syarat
  • Bila dan hanya telah berada dalam bentuk BCNF dan tidak ada multivalued dependency nontrival
  • Multivalued dependency (MVD) dipakai dalam bentuk normal ke empat (4NF)
  • Dependensi ini dipakai untuk menyatakan hubungan satu kebanyak (one to many)
Bentuk normal kelima (5NF), dependency gabungan mendasari bentuk pada normal ke lima. Satu relasi R (X,W,Z) dapat memenuhi dependency gabungan dan jika gabungan dari proyeksi A, B, C dengan A, B, C merupakan sub himpunan dari atribut R. dependensi gabungan di atas sesuai dengan notasi berikut :
  • (A, B, C)
  • dengan A = XY, B = YZ, C = ZX