Senin, 04 Juni 2012

NORMALISASI DATABASE


NORMALISASI DATABASE


Normalisasi merupakan sebuah upaya untuk memperoleh sebuah database dengan struktur yang baik dengan cara menerapkan sejumlah aturan pada setiap tabel agar ruang penyimpanan efisien. Istilah normalisasi dapat disederhanakan menjadi memecah relasi menjadi beberapa tabel untuk mendapat database yang optimal.
Normalisasi database biasanya jarang dilakukan dalam database skala kecil, dan dianggap tidak
diperlukan pada penggunaan personal. Namun seiring dengan berkembangnya informasi yang
dikandung dalam sebuah database, proses normalisasi akan sangat membantu dalam
menghemat ruang yang digunakan oleh setiap tabel di dalamnya, sekaligus mempercepat proses
permintaan data.

Istilah penting dalam teknik normalisasi
·         Field / atribut kunci. Setiap file selalu terdapat kunci dari file berupa satu field atau satu field yang dapat mewakili record.
·         Candidate key. Kumpulan atribut minimal yang secara unik mengidentifikasi sebuah baris fungsinya sebagai calon primary key.
·         Composite key. Kunci kandidat yang berisi lebih dari satu atribut
·         Primary key. Candidate key yang dipilih untuk mengidentifikasi baris secara unik
·         Alternate key. Candidate key yang tidak dipilih sebagai primary key
·         Foreign key. Key di tabel lain yang terhubung dengan primary key pada sebuah tabel

Proses normalisasi model data dapat diringkas sebagai berikut:

1. Temukan entitas-entitas utama dalam model data.
2. Temukan hubungan antara setiap entitas.
3. Tentukan atribut yang dimiliki masing-masing entitas.
Normalisasi model data dilakukan dengan mengikuti langkah-langkah sederhana, mengubahnya
agar memenuhi apa yang disebut sebagai bentuk normal pertama, kedua, lalu ketiga secara
berturutan.
Aturan normalisasi
  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)
Normalisasi dalam suatu database biasanya hanya mencapai N3(Normalisasi Ketiga), dibawah ini merupakan urutan Normalisasi :
1. Normalisasi Pertama (1st Normal Form)
·         Mendefinisikan atribut kunci
·         Tidak adanya group berulang
·         Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)
2. Normalisasi Kedua (2nd Normal Form)
·         Sudah memenuhi dalam bentuk normal kesatu
·         Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.
3. Normalisasi Ketiga (3rd Normal Form)
·         Sudah berada dalam bentuk normal kedua
·         Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).
4. 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
·         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.
5. Normalisasi Keempat (4rd Normal Form)
·         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
6. Normalisasi Kelima (5rd Normal Form)
·         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


 


Tidak ada komentar:

Posting Komentar