Konsep Normalisasi Database
🔹 Apa itu Normalisasi?
Normalisasi adalah proses menyusun struktur tabel agar data:
✔ tidak duplikat
✔ lebih rapi
✔ mudah dikelola
✔ konsisten
🔹 Kenapa Normalisasi Penting?
Tanpa normalisasi:
❌ data ganda
❌ update ribet
❌ rawan kesalahan
❌ database tidak efisien
Studi Kasus Sebelum Normalisasi
❌ Tabel Belum Normal (Tidak Efisien)
Tabel: transaksi
| id | nama_siswa | kelas | mapel | guru |
|----|------------|-------|-------|------|
| 1 | Andi | X RPL | Mat | Pak A|
| 2 | Andi | X RPL | IPA | Bu B |
⚠ Masalah:
- Nama siswa diulang
- Nama kelas diulang
- Data guru berulang
Normalisasi Tahap 1 (1NF – First Normal Form)
Aturan 1NF:
✔ Tidak ada data ganda dalam satu kolom
✔ Setiap field bernilai tunggal
📌 Data sudah 1 nilai per kolom → lolos 1NF
Normalisasi Tahap 2 (2NF – Second Normal Form)
Aturan 2NF:
✔ Sudah 1NF
✔ Tidak ada ketergantungan parsial
🔧 Solusi:
Pisahkan data ke tabel berbeda
✅ Tabel siswa
| id_siswa | nama_siswa | kelas |
✅ Tabel mapel
| id_mapel | nama_mapel | guru |
✅ Tabel nilai
| id_nilai | id_siswa | id_mapel |
Normalisasi Tahap 3 (3NF – Third Normal Form)
Aturan 3NF:
✔ Sudah 2NF
✔ Tidak ada ketergantungan transitif
Pisahkan lagi data kelas & guru
✅ Tabel kelas
| id_kelas | nama_kelas |
✅ Tabel guru
| id_guru | nama_guru |
✅ Tabel mapel
| id_mapel | nama_mapel | id_guru |
✅ Tabel siswa
| id_siswa | nama_siswa | id_kelas |
Hasil Akhir Database (Sudah Normal)
Relasi Antar Tabel:
kelas ──< siswa ──< nilai >── mapel ──> guru
📌 Manfaat:
✔ Data tidak duplikat
✔ Mudah update
✔ Lebih profesional
✔ Siap dipakai aplikasi
Transisi ke Praktek Query Database
Setelah normalisasi:
➡ Struktur database sudah benar
➡ Siap dibuat dengan SQL
Langkah Selanjutnya:
- CREATE DATABASE
- CREATE TABLE (DDL)
- INSERT DATA (DML)
- RELASI & FOREIGN KEY
- JOIN TABLE
📌 Inilah kenapa normalisasi selalu dilakukan sebelum menulis query