# Konsep Database Relasional

Pahami tabel, baris, kolom, tipe data, dan perbandingan PostgreSQL, MySQL, dan SQLite sebagai fondasi penyimpanan data terstruktur.

Buka →
# Pemodelan Data

Rancang struktur data sebelum membuat tabel: entitas, atribut, relasi, dan kardinalitas 1-1, 1-N, N-N dengan studi kasus model data toko online.

Buka →
# Normalisasi Database

Rapikan tabel bertahap menuju 1NF, 2NF, dan 3NF dengan contoh nyata tabel pesanan toko online di SQLite, plus panduan kapan normalisasi sebaiknya dihentikan.

Buka →
# Denormalisasi

Mengapa data warehouse sengaja menggabungkan tabel: trade-off join yang mahal versus data redundan, dengan contoh tabel laporan penjualan yang dibangun dari join empat tabel.

Buka →
# Primary Key dan Foreign Key

Pilih kunci natural atau surrogate, lalu uji perilaku ON DELETE CASCADE, RESTRICT, dan SET NULL beserta constraint NOT NULL, UNIQUE, dan CHECK di SQLite.

Buka →
# Indexing

Percepat pencarian data dengan B-tree index: CREATE INDEX, composite index, aturan kolom kiri, dan EXPLAIN QUERY PLAN sebelum-sesudah pada tabel 200 ribu baris.

Buka →
# Query Planning

Baca rencana eksekusi dengan EXPLAIN dan EXPLAIN QUERY PLAN: urutan join, full scan versus index scan, automatic index, dan statistik ANALYZE yang mengubah pilihan planner.

Buka →
# Transaksi dan ACID

Empat jaminan Atomicity, Consistency, Isolation, dan Durability diuji nyata lewat transfer saldo yang gagal di tengah jalan, penolakan constraint, dan percobaan dirty read.

Buka →
# Isolation Levels

Pahami anomali konkurensi seperti dirty read dan phantom read, empat standar isolation level, lalu simulasikan race condition dua penulis di SQLite dengan Python threading.

Buka →
# Concurrency Control

Bandingkan kunci pesimistis, kontrol optimistis, dan MVCC, pahami deadlock serta granularitas lock, lalu uji nyata BEGIN IMMEDIATE pada dua koneksi SQLite.

Buka →
# Connection Pooling

Pahami mengapa membuka koneksi database itu mahal, cara kerja connection pool, implementasi pool mini dengan queue dan threading, hingga panduan menentukan ukuran pool.

Buka →
# Backup dan Recovery

Pelajari strategi backup full, incremental, logical, dan physical, perintah pg_dump dan pg_basebackup, backup online SQLite lewat Python, serta konsep RPO, RTO, dan aturan 3-2-1.

Buka →
# Replikasi Database

Pahami arsitektur master-replica, perbedaan replikasi sinkron dan asinkron, streaming replication PostgreSQL, read replica untuk analytics, serta cara mengelola replication lag.

Buka →
# Pemilihan Sistem Penyimpanan

Petakan kebutuhan ke kategori penyimpanan yang tepat — OLTP, OLAP, key-value, document, search, dan time-series — lengkap dengan decision table dan perbandingan nyata SQLite vs DuckDB.

Buka →