Paper 5
Pendahuluan
Ketikan merancang suatu basisdata untuk suatu sistem
relational, prioritas utama dalam mengembangkan model data logical
adalah dengan merancang suatu representasi data yang tepat bagi
relationship dan constrainnya (batasannya). Kita harus mengidentifikasi
suatu set relasi yang cocok , demi mencapai tujuan diatas. Tehnik yang
dapat kita gunakan untuk membantu mengidentifikasi relasi-relasi
tersebut di namakan Normalisasi
Proses normalisasi pertama kali di perkenalkan oleh E. F. Codd
pada 1972. Normalisasi sering dilakukan sebagai suatu relasi secara
berkelanjutan untuk menentukan apakah relasi tersebut baik atau masih
melanggar aturan-aturan standar yang diperlakukan pada suatu relasi yang
normal (insert, update, delete dan modifikasi pada suatu atau beberapa
atribut tanpa mempengaruhi integritas data dalam relasi tersebut).
Proses normalisasi merupakan metode yang formal/ standar
mengidentifikasi dasar relasi bagi primary key nya (atau candidate key
dalam suatu kasus BCNF), dan dependensi fingsional diantara
atribut-atribut dari relasi tersebut. Normalisasi akan membantu
perancangan basisdata dengan menyediakan suatu uji coba yang berrurut
yang dapat di implementasikan pada hubungan individual sehingga skema
relasi dapat di normalisasi kedalam bentuk yang lebih spesifik untuk
menghindari terjadinya error atau inkonsistensi data, bila dilakukan
update terhadap relasi tersebut dengan Anomaly.
Landasan Teori
Definisi
Normalisasi adalah suatu teknik untuk mengorganisasikan data ke
dalam tabel-tabel untuk memenuhi kebutuhan pemakasi di dalam suatu
organisasi.
Tujuan Nomalisasi :
- Untuk menghilangkan kerangkapan (Redudansi) data.
- Untuk mengrangi kompleksitas
- Untuk mempermudah pemodifikasian data
- Data diuraikan bentuk tabel, selanjutnya di analisis berdasarkan persyaratan tertentu ke beberapa tingkat
- Apabila tabel yang di uji belum memenuhi persyaratan tertentu, maka tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
Ketergantungan Fungsional :
Definisi : atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X ==> R.Y), jika dan hanya setiap X relasi R mempunyai tepat satu nilai Y pada R
Misalnya : terdapat skema database Pemasok barang :
- Pemasok (Non-pem, Na-pem)
- Tabel PEMASOK-BARANG
No-pem ==> Na-pem
Ketergantungan Fungsional penuh :
Definisi :
Atribut Y pada relasi R dikatakan terganrung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X (bila X adalah key gabungan).
Contohnya :
Tabel KIRIM-BARANG
(No-pem, Na-bar, Jumalah)
Ketergantungan fungsional :
No-pem ==> Nama-pem
No-bar, No-pem ==> jumlah (tergatung penuh terhadap key nya)
Ketergantungan Transitif :
Definisi :
Atribut Z pada relasi 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)Contohnya :
Ketergantungan Transitif :
- No-pem ==> Kode-kota
- Kode-kota ==> Kota, maka
- No-pem==> Kota
- Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu biala setiap data bersifat atomik yaitu setiap irisan dan kolom hanya mempunyai satu nilai data.
- Tabel KIRIM-1 (Unnormal)
- Tabel KIRIM-2 (1NF)
- Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap key nya.
- Tabel PEMASOK-1 (2NF)
- Suatu relasi sudah memenuhi Bentuk Normal Ketiga bila relasi tersebut sudah memenuhi bentuk normal kedua adan atribut yang bukan key tidak tergantung transitif terhadap key nya
- Tabel KIRIM-3 (3NF)
- Tabel PEMASOK-2 (3NF)
- Tabel PEMASOK-3 (3NF)
3.
Tabel
PEMASOK-2 (3NF)
4. Tabel PEMASOK-3 (3NF)