Apa itu Normalisasi Database?
Normalisasi database adalah proses merapikan struktur tabel agar:
-
Tidak ada data ganda (redundansi).
-
Data lebih konsisten dan rapi.
-
Mudah di-update tanpa bikin anomali.
Normalisasi biasanya dilakukan bertahap: 1NF → 2NF → 3NF.
1NF (First Normal Form)
Aturan:
-
Setiap kolom harus bernilai atomik (tidak boleh ada data ganda dalam satu sel).
-
Tidak boleh ada kolom yang berulang.
Contoh Tidak 1NF
| ID | Nama | No_Telepon |
|---|---|---|
| 1 | | Budi | | 08123, 08145 |
| 2 | | Siti | | 08222 |
Kolom No_Telepon berisi lebih dari satu nilai (tidak atomik).
Versi 1NF
| ID | Nama | No_Telepon |
|---|---|---|
| 1 | | Budi | | 08123 |
| 1 | | Budi | | 08145 |
| 2 | | Siti | | 08222 |
2NF (Second Normal Form)
Aturan:
-
Harus sudah memenuhi 1NF.
-
Semua kolom non-kunci harus bergantung sepenuhnya pada primary key, bukan hanya sebagian.
Contoh Tidak 2NF
Tabel Pesanan:
| OrderID | ProdukID | NamaProduk | Qty |
|---|---|---|---|
| 101 | | P01 | | Kopi | | 2 |
| 101 | | P02 | | Teh | | 1 |
Primary key = (OrderID, ProdukID).
Tapi NamaProduk hanya tergantung pada ProdukID, bukan OrderID. Jadi ada redundansi.
Versi 2NF
Pisahkan jadi 2 tabel:
Tabel Pesanan
| OrderID | ProdukID | Qty |
|---|---|---|
| 101 | | P01 | | 2 |
| 101 | | P02 | | 1 |
Tabel Produk
| ProdukID | NamaProduk |
|---|---|
| P01 | | Kopi |
| P02 | | Teh |
3NF (Third Normal Form)
Aturan:
-
Harus sudah memenuhi 2NF.
-
Tidak boleh ada kolom non-kunci yang bergantung pada kolom non-kunci lain (tidak ada transitive dependency).
Contoh Tidak 3NF
| NIM | Nama | KodeJurusan | NamaJurusan |
|---|---|---|---|
| 01 | | Andi | | TI | | Teknik Informatika |
| 02 | | Siti | | SI | | Sistem Informasi |
NamaJurusan bergantung pada KodeJurusan, bukan langsung pada NIM → ini transitive dependency.
Versi 3NF
Pisahkan jadi 2 tabel:
Tabel Mahasiswa
| NIM | Nama | KodeJurusan |
|---|---|---|
| 01 | | Andi | | TI |
| 02 | | Siti | | SI |
Tabel Jurusan
| KodeJurusan | NamaJurusan |
|---|---|
| TI | | Teknik Informatika |
| SI | | Sistem Informasi |
Ringkasan
-
1NF: Data atomik, tidak ada kolom berulang.
-
2NF: Tidak ada ketergantungan sebagian pada primary key (setiap kolom non-kunci tergantung penuh pada PK).
-
3NF: Tidak ada ketergantungan antar kolom non-kunci (hilangkan transitive dependency).




Popular
Tags
Videos
0 komentar:
Posting Komentar