Hello guys! Kali ini kita akan mengenal apa itu Anomali, Redudansi, dan Normalisasi dalam basis data. Oke, langsung saja kita bahas secara singkat di bawah!
ANOMALI
Anomali dalam basis data berarti masalah yang timbul pada tabel (basis data fisik) pada saat data akan dimanipulasi.
- Anomali Penambahan (Insert Anomaly). Anomali ini terjadi pada saat penambahan data hendak dilakukan ternyata ada elemen data yang masih kosong dan elemen data tersebut diperlukan untuk proses penambahan.
- Anomali Pengubahan (Update Anomaly). Anomali ini terjadi apabila dilakukan pengubahan pada sejumlah data yang diduplikasi tetapi tidak seluruhnya diubah.
- Anomali Penghapusan (Delete Anomaly). Anomali ini terjadi apabilai suatu record/tupel/baris yang tidak terpakai dihapus mengakibatkan adanya data lain yang hilang.
REDUDANSI
Redudansi adalah munculnya data yang berulang kali pada suatu tabel/relasi yang semestinya tidak diperlukan. Seperti data rangkap.
Kerangkapan data dapat terjadi :
- Kerangkapan data dalam satu file
- Kerangkapan data dalam beberapa file
Ada masalah ada solusi. Untuk menyelesaikan masalah anomali dan redudansi maka kita perlu NORMALISASI.
NORMALISASI
Normalisasi merupakan teknik dalam logical design sebuah basis data yang mengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi).
Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar kesalahan bisa dihilangkan.
Tahapan normalisasi dari ringan sampai ketat : 1NF -> 2NF -> 3NF -> BCNF -> 4NF -> 5NF
NF = Normal Form
BCNF = Boyce-Code Normal Form
Tahap 1NF
Rules :
- Tidak adanya atribut multi-value, komposit, atau kombinasinya.
- Mendefisinikasi atribut kunci
- Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)
Tahap 2NF
Rules :
- Sudah memenuhi dalam bentuk normal kesatu (1NF)
- Semua atribut bukan kunci hanya boleh tergantung (functional dependency) pada atribut kunci
- Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel
- Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi.
Tahap 3NF
Rules :
- Sudah berada dalam bentuk normal kedua (2NF).
- Tidak ada ketergantungan transitif (dimana atribut bukan kunci tergantung pada atribut bukan kunci lainnya).
Catatan : Biasanya normalisasi hanya sampai tahap ke 3NF dan sudah dianggap layak dan dapat diimplementasikan. Namun, masih ada lagi bentuk normalisasi yang lain yaitu BCNF, 4NF, dan 5NF hanya jarang digunakan.
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 menjadi super key dari tabel-tabel hasil dari dekomposisi.
Setiap tabel dalam BCNF termasuk ke dalam 3NF. Namun, setiap 3NF belum tentu termasuk BCNF. Bedanya adalah untuk functional dependency X->A, BCNF tidak memperbolehkan A sebagai bagian dari primary key.
Tahap 4NF
Bentuk normal tahap 4NF terpenuhi dalam sebuah tabel jika telah memenuji bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute.
Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies.
Tahap 5NF
Bentuk normal tahap 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yang lebih kecil.
Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, maka 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.
Sumber :
Perwitasari, Anggi. (2020). Minggu 9, Anomali dan Redudansi[Presentasi PowerPoint]. Materi Daring Perkuliahan Perancangan Basis Data Minggu ke-10, Universitas Tanjungpura.
Perwitasari, Anggi. (2020). Minggu 10, Normalisasi[Presentasi PowerPoint]. Materi Daring Perkuliahan Perancangan Basis Data Minggu ke-10, Universitas Tanjungpura.
Tidak ada komentar:
Posting Komentar