First Normal Form (1NF) — Database

Apa itu Normalisasi? Normalisasi adalah proses mengorganisasi data dalam database untuk mengurangi redundansi dan meningkatkan integritas data. Setiap "normal f

Apa itu Normalisasi?

Normalisasi adalah proses mengorganisasi data dalam database untuk mengurangi redundansi dan meningkatkan integritas data. Setiap "normal form" adalah level aturan yang semakin ketat.

First Normal Form (1NF)

Aturan 1NF:

Tabel melanggar 1NF dengan phones multi-value, dipecah jadi 2 tabel normal.❌ Melanggar 1NFusersid · name · phones1 · Budi · 08123, 08456, 087892 · Siti · 08111kolom phones multi-value → violationPisah tabel✓ Memenuhi 1NFusersid · namephonesid · user_idphone1 row = 1 phone numberFK user_id ke users.id
1NF: setiap kolom atomic. Data multi-value dipindah ke tabel terpisah dengan FK.

Contoh Melanggar 1NF

-- ❌ Melanggar 1NF: kolom phones menyimpan banyak nilai
| id | name  | phones                    |
|----|-------|---------------------------|
| 1  | Budi  | 08123, 08456, 08789       |
| 2  | Siti  | 08111                     |

Solusi: Memenuhi 1NF

-- ✅ Memenuhi 1NF: satu nilai per kolom
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL
);

CREATE TABLE phones (
    id SERIAL PRIMARY KEY,
    user_id INT REFERENCES users(id),
    phone VARCHAR(20) NOT NULL
);

-- Data:
-- users: (1, "Budi"), (2, "Siti")
-- phones: (1, 1, "08123"), (2, 1, "08456"), (3, 1, "08789"), (4, 2, "08111")

Cara Cek 1NF

Lihat setiap kolom di tabel. Jika ada kolom yang berisi comma-separated values, JSON array, atau data berulang, tabel tersebut melanggar 1NF.

Yang akan kamu pelajari