Tugas BD "Normalisasi"
Normalisasi adalah proses menyusun dan mengorganisasi data (biasanya di database relasional) agar lebih efisien, bebas dari redundansi (pengulangan data yang tidak perlu), dan meminimalkan potensi inkonsistensi.
Tujuan utamanya:
-
Menghilangkan duplikasi data → supaya data tidak disimpan berulang-ulang.
-
Memastikan integritas data → mencegah ketidaksesuaian antar data.
-
Mempermudah pemeliharaan → jika ada perubahan, cukup ubah di satu tempat.
Prinsip Dasar
Normalisasi dilakukan dengan memecah tabel besar menjadi beberapa tabel kecil lalu menghubungkannya dengan relasi (primary key – foreign key).
Bentuk Normalisasi (Normal Forms)
Biasanya ada beberapa tahap:
-
1NF (First Normal Form)
-
Setiap kolom hanya berisi satu nilai (atomic).
-
Tidak ada data berulang dalam satu kolom.
-
-
2NF (Second Normal Form)
-
Sudah memenuhi 1NF.
-
Semua kolom non-key harus sepenuhnya bergantung pada primary key, bukan hanya sebagian (mengatasi partial dependency).
-
-
3NF (Third Normal Form)
-
Sudah memenuhi 2NF.
-
Tidak ada kolom non-key yang bergantung pada kolom non-key lain (transitive dependency).
-
Ada bentuk lanjutan seperti BCNF, 4NF, dan 5NF, tapi jarang dipakai di level dasar.
📌 Contoh Singkat:
Sebelum normalisasi:
ID | Nama Siswa | Kelas | Nama Guru | Mapel |
---|---|---|---|---|
1 | Andi | 10A | Budi | Matematika |
2 | Siti | 10A | Budi | Matematika |
Masalah: nama guru "Budi" dan mapel "Matematika" berulang-ulang.
Setelah normalisasi (misalnya 3NF):
-
Tabel Siswa: ID, Nama, Kelas
-
Tabel Guru: IDGuru, NamaGuru, Mapel
-
Tabel Pengajaran: ID, IDGuru
Kelebihan normalisasi dalam desain basis data adalah:
-
Mengurangi Redundansi Data
Data yang sama tidak disimpan berulang-ulang, sehingga menghemat ruang penyimpanan. -
Meningkatkan Konsistensi
Karena data tidak duplikat, risiko inkonsistensi (perbedaan data di dua tempat) menjadi minim. -
Mempermudah Pemeliharaan
Perubahan data hanya perlu dilakukan di satu tempat, sehingga proses update lebih cepat dan aman. -
Memperbaiki Integritas Data
Memudahkan penerapan aturan relasi seperti primary key, foreign key, dan constraint sehingga data tetap valid. -
Meningkatkan Efisiensi Query Tertentu
Query yang membutuhkan data spesifik akan lebih cepat karena tabel menjadi lebih kecil dan fokus. -
Memudahkan Pengembangan Sistem
Struktur data yang jelas mempermudah penambahan fitur baru dan mengurangi bug saat sistem berkembang.
Komentar
Posting Komentar