Tuesday, October 31, 2023

Normalisasi Database

Normalisasi database adalah teknik desain logis yang mengelompokkan atribut dari berbagai entitas dalam sebuah relasi. Tujuannya adalah menciptakan struktur relasi yang tidak redundan, mudah beradaptasi, dan bebas dari ambiguitas. Normalisasi membantu menghilangkan dan mengurangi redudansi data serta memastikan bahwa data berada di tabel yang tepat.

Dalam ilmu basis data, terdapat sembilan bentuk normalisasi yang berbeda, termasuk 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF, dan 6NF. Normalisasi ini membantu mencegah masalah seperti anomali INSERT, DELETE, dan UPDATE yang dapat merugikan sistem secara keseluruhan.


Anomali Insert

Ini terjadi ketika tidak memungkinkan untuk memasukkan beberapa jenis data secara langsung ke dalam database karena ketergantungan antara entitas atau atribut yang tidak terpenuhi. Misalnya, dalam tabel yang belum dinormalisasi dengan baik, mungkin tidak memungkinkan untuk memasukkan data baru tentang entitas tertentu kecuali data terkait lainnya juga dimasukkan.

Anomali Delete

Ini terjadi ketika penghapusan data menyebabkan kehilangan informasi yang diperlukan atau kehilangan beberapa data yang seharusnya tidak dihapus. Dalam basis data yang tidak terstruktur dengan baik, penghapusan satu entitas atau atribut tertentu dapat secara tidak sengaja menghapus informasi yang penting atau berhubungan.

Anomali Update

Ini terjadi ketika perubahan nilai dalam suatu entitas menyebabkan inkonsistensi data atau ketidaksesuaian dengan nilai di tempat lain. Dalam basis data yang belum dinormalisasi dengan baik, perubahan nilai dalam suatu atribut mungkin memengaruhi data yang tidak seharusnya terpengaruh, menyebabkan ketidakkonsistenan data.


Berikut adalah penjelasan singkat tentang masing-masing dari sembilan bentuk normalisasi dalam basis data:

1NF (First Normal Form)

Memastikan bahwa setiap sel dalam tabel hanya berisi nilai tunggal, tidak ada nilai yang berulang, dan setiap entitas memiliki atribut yang unik.

2NF (Second Normal Form)

Menghilangkan ketergantungan parsial dengan memastikan bahwa setiap atribut non-kunci sepenuhnya tergantung pada kunci utama tabel.

3NF (Third Normal Form)

Menghilangkan ketergantungan transitif di antara atribut dengan memastikan bahwa tidak ada atribut non-kunci yang tergantung pada atribut non-kunci lainnya.

EKNF (Elementary Key Normal Form)

Menyatakan bahwa setiap entitas harus memiliki kunci dasar dan tidak ada atribut yang tidak tergantung pada kunci dasar.

BCNF (Boyce-Codd Normal Form)

Memastikan bahwa setiap ketergantungan fungsional di dalam relasi telah dinyatakan terhadap kunci utama dan hanya kunci utama.

4NF (Fourth Normal Form)

Menyelesaikan masalah multivalued dependencies dalam relasi dengan memisahkan atribut multivalued ke dalam entitas terpisah.

5NF (Fifth Normal Form)

Mengatasi masalah ketergantungan join, di mana tidak ada ketergantungan fungsional yang dapat diwakili lebih baik dengan pemisahan entitas.

DKNF (Domain-Key Normal Form)

Menyatakan bahwa relasi dalam basis data memenuhi persyaratan ketergantungan fungsional, ketergantungan multivalued, dan ketergantungan join.

6NF (Sixth Normal Form)

Ini adalah bentuk normalisasi yang paling canggih di mana setiap fakta terhubung dengan setiap kunci kandidat potensial.

Penting untuk dicatat bahwa tidak semua database dapat dinormalisasi; hanya tipe "relational database" yang dapat mengalami proses normalisasi. Berbagai vendor DBMS seperti Oracle, MySQL, SQL Server, PostgreSQL, dan lainnya mendukung normalisasi database untuk memastikan kehandalan dan konsistensi data.


YouTube: ER Diagram with Intersection Table

No comments:

Post a Comment

Denormalisasi Database

Denormalisasi adalah teknik optimisasi basis data di mana kita menambahkan data redundan ke satu atau lebih tabel. Ini dapat membantu menghi...