Third Normal Form (3NF) — Database

Third Normal Form (3NF) Syarat 3NF: Sudah memenuhi 2NF Tidak ada transitive dependency — kolom non-key tidak boleh bergantung pada kolom non-key lainnya Transit

Third Normal Form (3NF)

Syarat 3NF:

Transitive Dependency

Terjadi ketika kolom A bergantung pada kolom B, dan kolom B bergantung pada primary key. Artinya A bergantung pada PK secara tidak langsung (transitif).

Contoh Melanggar 3NF

-- ❌ Melanggar 3NF
-- department_name bergantung pada department_id, bukan langsung pada employee_id
| employee_id | name | department_id | department_name |
|-------------|------|---------------|-----------------|
| 1           | Budi | 10            | Engineering     |
| 2           | Siti | 10            | Engineering     |
| 3           | Andi | 20            | Marketing       |

Solusi: Memenuhi 3NF

-- ✅ Memenuhi 3NF: pisahkan transitive dependency
CREATE TABLE departments (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL
);

CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    department_id INT REFERENCES departments(id)
);
-- department_name sekarang ada di tabel departments sendiri

Ringkasan Normalisasi

Sebagian besar aplikasi production cukup sampai 3NF. Normal form yang lebih tinggi (BCNF, 4NF, 5NF) jarang dibutuhkan.

Yang akan kamu pelajari