Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.
A. Tujuan Normalisasi
1. untuk menghilangkan kerangkapan data.
2. untuk menguramgi kompleksitas.
3. untuk mempermudah permodifikasikan data.
B. Proses Normalisasi
- Data diuraikan dalam bnetuk tabel,selanjutnya di analisis berdasarkan persyaratan tertentu ke beberapa tingkat.
- Apabila tabel yang diuji belum memenuhi persyaratan tertentu,maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
C. Kriteria Tabel Efisien
Sebuah tabel dikatakan baik atau normal jika memenuhi 3 kriteria,yaitu:
- Jika ada dekomposisi(penguraian)tabel,maka dekomposisinya harus dijamin aman.Artinya setelah tabel tersebut diuraikan menjadi tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.
- Terpelihara ketergantungan fungsional pada saat perubahan dara.
- Tidak melanggar Boyce-Code Normal Form
* Bentuk Tidak Normal : Menghilangkan perulangan group.
* Bentuk Norma Pertama(1NF) : Menghilangkan ketergantungan sebagian.
* Bentuk Norma Kedua (2NF) : Menghilangkan ketergantungan Transitif.
* Bentuk Norma Ketiga (3NF) : Menghilangka anomali hasil dari ketergantungan fungsional.
* Bentuk Boyce-Codd (BCNF) : Menghilangkan ketergantungan Multivalue.
* Bentuk Norma Keempat (4NF) : Menghilangkan Ketergantungan anomali-anomali yang tersisa.
* Bentuk Norma Kelima (5NF)
E. Ketergantungan Fungsional
Ketergantungan fungsional adalah Atribut Y pada relasi R
dikatakan tergantung fungsional pada atribut X (R.X---> R.Y), jika
dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y
pada R.
R = Relasi/tabel dan Y,X = Atribut didalam tabel R
Contoh:
F. Ketergantungan Fungsional Penuh
Ketergantungan Fungsional Penuh adalah Atribut pada relasi
R dikatakan tergantung fungsional penuh pada atribut X pada relasi
R,jika Y tidak tergantung pada subset dari X (bila x adalah key
gabungan).
Suatu atribut Y mempunyai dependensi sepenuhnya terhadap atribut X jika :
* Y mempunyai dependesi terhadap X
* Y tidak mempunyai dependensi terhadap bagian dari X.
Contoh:
G. Ketergantungan Transitif
Ketergantungan Transitif adalah Atribut Z pada relasi R
dikatakan tergantung transitif pada atribut X, jika atribut Y
tergantung pada atribut X pada relasi R dan atribut Z tergantung pada
atribut Y pada relasi R.
( X--> Y, Y--> Z , maka X--> Z )
Suatu atribut Z mempunyai dependensi transitif terhadap X jika :
* Y memiliki dependensi terhadap X dan
* Z memiliki dependensi trhadap Y
X--> Z
X--> Y--> Z
Contoh:
H. Problem Pada Dependensi Transitif
- Anomali Penyisipan : Seorang salesman baru yang bertugas dijateng tidak dapat dimasukkan dalam tabel sampai salesman tersebut mendapatkan seorang pelanggan.
- Anomali Penghapusan : Jika pelanggan A-001 dihapus,informasi bahwa Dian menangani daerah jabar ikut menghilang.
- Anomali peremajaan : Jika katakanlah Farkan Mendapat penugasan baru untuk menagani daerah kalimantan,maka sejumlah baris di remajakan agar data tetap konsisten.
I. Tabel Universal
Tabel Universal adalah sebuah tabel yang merangkum semua kelompok data yang saling berhubungan tabel yang baik.
Contoh :
J. Bentuk-Bentuk Normal
1. Bentuk Normal Tahap Pertama (1st Normal Form / 1NF )
* Bentuk normal 1NF terpenuhi jika sebuah tabel tidak
memiliki atribut bernilai banyak,atribut composite atau kombinasinya
dalam domain data yang sama.Setiap atribut dalam tabel tersebut harus
bernilai atomatic.
Contoh :
2. Bentuk Normal Tahap Kedua ( 2nd Normal Form / 2NF )
*Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah
memenuhi bentuk 1NF, jika ada atribut selain primary key,secara utuh
memiliki functional dependency pada primary.
*Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya hanya bersifat persial saja.
*Jika terdapat atribut yang tidak memiliki ketergantungan
terhadap primary key,maka atribut tersebut harus dipindah atau
dihilangkan.
Contoh :
3. Bentuk Normal Tahap ( 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:
4. Boyce-Code Normal Tahap ( 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 mejadi super key dari tabel-tabel hasil dekomposisi.
*Setiap tabel dalam BCNF merupakan 3NF,akan tetapi setiap 3NF
belum tertentu termasuk BCNF.Perbedaannya,untuk functional dependency
X--> A, BCNF tidak membolehkan A sebagai bagian dari primary key.
Contoh:
5. Bentuk Normal Tahap ( 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 atribute (MVD) juga harus merupakan functional dependencies.
6. Bentuk Normal Tahap ( 5th Normal Form / 5NF )
*Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decompositin menjadi tabel-tabel yang 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 lebih kecil,harus bisa digabungkan lagi(join) untuk
membentuk tabel semula.
0 komentar:
Posting Komentar