Skema yang buruk akan menghantui aplikasi bertahun-tahun. Section ini membahas perancangan relational database dari pemetaan entitas dunia nyata sampai normalisasi bertingkat, disertai contoh tabel tidak normal yang diperbaiki langkah demi langkah.

# Entitas dan Atribut

Mengubah kebutuhan dunia nyata menjadi struktur tabel MySQL: mengenali entitas dari deskripsi masalah, menurunkan atribut menjadi kolom, memilih tipe data, dan membedakan entitas kuat dari entitas lemah.

Buka →
# Relasi One-to-One

Memecah satu entitas menjadi dua tabel berelasi satu-ke-satu: alasan pemisahan, pola primary key yang sekaligus foreign key, alternatif foreign key UNIQUE, serta praktik CREATE, INSERT, dan JOIN.

Buka →
# Relasi One-to-Many

Membangun relasi satu-ke-banyak antara pelanggan dan pesanan: foreign key selalu ditempatkan di tabel anak, anti-pattern kolom pesanan1/pesanan2 dibedah lalu diperbaiki, plus JOIN, LEFT JOIN, dan agregasi.

Buka →
# Relasi Many-to-Many

Mengenali relasi banyak-ke-banyak seperti mahasiswa dan kursus, membuktikan mengapa satu foreign key tidak pernah cukup, lalu memetakan solusi tabel perantara sebagai dua relasi satu-ke-banyak.

Buka →
# Junction Table

Implementasi penuh relasi banyak-ke-banyak lewat tabel enrollment: composite primary key, dua foreign key, atribut milik relasi seperti nilai dan tanggal daftar, penolakan pasangan ganda, dan query join tiga tabel.

Buka →
# Normalisasi Database

Tujuan normalisasi lewat demonstrasi anomali insert, update, dan delete pada tabel buruk, pengantar ringan functional dependency, trade-offnya, serta peta jalan 1NF, 2NF, dan 3NF.

Buka →
# First Normal Form

Bedah pelanggaran 1NF: kolom yang memuat daftar produk terpisah koma dan kelompok kolom telepon_1/telepon_2/telepon_3, diperbaiki menjadi baris terpisah pada tabel anak, beserta alasan kenapa atomicity menentukan kemampuan query.

Buka →
# Second Normal Form

Bedah 2NF: ketergantungan parsial pada composite primary key ditunjukkan lewat tabel enrollment yang menyimpan nama mahasiswa dobel, anomali update dua baris, lalu perbaikan sebelum/sesudah menjadi tiga tabel bersih.

Buka →
# Third Normal Form

Bedah 3NF: ketergantungan transitif ditunjukkan lewat kolom kota yang mengikuti kode pos, anomali konsistensi pada dua baris berkode pos sama, dan perbaikan pemisahan tabel wilayah sebelum/sesudah.

Buka →
# Denormalisasi

Melanggar normalisasi dengan sengaja untuk kecepatan baca: kolom cache jumlah_pesanan dan total_belanja di tabel pelanggan, pola UPDATE manual, risiko data basi yang dibuktikan nyata, serta aturan main denormalisasi terukur.

Buka →
# Merancang Skema Database

Studi kasus sintesis utuh: merancang skema aplikasi manajemen tugas dari paragraf kebutuhan menjadi entitas, relasi, CREATE TABLE lengkap dengan foreign key dan constraint, data contoh, query verifikasi, checklist perancangan, dan review desain.

Buka →