Definisi Normalisasi
Normalisasi adalah langkah-langkah sistematis untuk menjamin bahwa struktur database memungkinkan untuk general purpose query dan bebas dari insertion, update dan deletion anomalies yang dapat menyebabkan hilangnya integritas data (E.F. Codd, 1970)Tujuan Normalisasi
Pada dasarnya normalisasi dilakukan untuk memperbaiki desain tabel yang kurang baik sehingga penyimpanan data menjadi lebih efisien dan bebas anomali data. Untuk memperjelas pemahaman tentang proses normalisasi, perhatikan diagram berikut:Intinya, normalisasi dilakukan terhadap desain tabel yang sudah ada dengan tujuan untuk meminimalkan redundansi (pengulangan) data dan menjamin integritas data dengan cara menghidari 3 Anomali Data: Update, Insertion dan Deletion Anomaly.
- Update Anomaly
- Tabel di atas adalah contoh tabel yang memiliki desain yang kurang baik. Perhatikan bahwa jika kita ingin meng-update jumlah sks mata kuliah English dari 2 menjadi 3 sks, maka kita harus mengupdate lebih dari 1 record, yaitu baris 2 dan 4.
- Jika hanya salah satu baris saja yang di-update, maka data menjadi tidak konsisten (ada mata kuliah English dengan 2 sks dan ada mata kuliah English dengan 3 sks) . Kondisi seperti inilah yang disebut dengan update anomaly.
- Insertion Anomaly
- Pada tabel yang sama seperti contoh di atas, terjadi pula insertion anomaly. Misalkan terdapat mahasiswa baru dengan nim 1-02 bernama ‘Zubaedah’ dengan kode jurusan ‘TE’ dan nama jurusan ‘Elektro’.
- Data mahasiswa tersebut tidak dapat dimasukkan ke dalam tabel sebab dia belum mengambil kuliah apapun (misalnya karena belum melakukan registrasi). Kondisi inilah yang disebut dengan insertion anomaly.
- Deletion Anomaly
Pada contoh tabel di atas terjadi deletion anomaly. Perhatikan bahwa jika kita menghapus data mahasiswa bernama ‘Maemunah’ maka kita harus menghapus data pada baris ke 5, hal ini akan mengakibatkan kita juga kehilangan data mata kuliah ‘Database’. Kondisi inilah yang disebut dengan deletion anomaly.
NIM
|
Nama_Mhs
|
Kd_Jur
|
Nama_Jur
|
Kode_MK
|
Nama_MK
|
SKS
|
Nilai
|
1-01
|
Tukimin
|
TE
|
Elektro
|
TE-001
|
Elektronika
|
3
|
A
|
1-01
|
Tukimin
|
TE
|
Elektro
|
DU-001
|
English
|
2
|
A
|
2-01
|
Jamilah
|
IF
|
Informatika
|
IF-001
|
3
|
B
|
|
2-01
|
Jamilah
|
IF
|
Informatika
|
DU-001
|
English
|
2
|
C
|
2-02
|
Maemunah
|
IF
|
Informatika
|
IF-002
|
Database
|
2
|
A
|
0 comments:
Post a Comment