Lewati ke konten utama

F2 · Modul 10

Desain skema

56 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. Level 5

    Pendalaman

Intinya

  • Rancang dari entitas (benda yang dicatat), atribut, dan relasi: 1-N memakai kunci asing di sisi "banyak", N-N butuh tabel penghubung.
  • Normalisasi (1NF–3NF): setiap kolom bergantung pada kunci, seluruh kunci, dan hanya kunci; artinya setiap fakta disimpan tepat di satu tempat.
  • Potret historis (harga_satuan) boleh disalin; data turunan (sisa utang, status lunas) dihitung, bukan disimpan.
  • Sebelum menggabungkan tabel "satu" dengan tabel "banyak", ringkas dulu tabel "banyak"-nya agar jumlah tidak berlipat.
  • Aturan lintas baris (pembayaran melebihi sisa) dijaga aplikasi, kueri pemeriksa, atau trigger, bukan CHECK.

Sebelum mulai

±3–4 jam.

Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.

Hasil belajar: mengenali entitas, atribut, dan relasi dalam sebuah masalah; menentukan kardinalitas (1-N, N-N) dan membuat tabel penghubung; membaca ERD mermaid; menjelaskan anomali data dan menormalisasi tabel sampai bentuk normal ketiga (1NF–3NF); membedakan denormalisasi yang disengaja (potret historis) dari data turunan yang sebaiknya dihitung; merancang ulang kasbon dan menulis laporan L9 tanpa terjebak baris berlipat; dan (pendalaman) membantah ketergantungan fungsional dengan kueri.

Proyek: rancangan rujukan kasbon (data/kasbon.sql) dan laporan L9: siapa yang masih berutang, berapa sisanya, dan sejak kapan.

Istilah di modul ini (38)

Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course

Bahan modul

Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.

  • 28 contoh kode
  • 9 berkas latihan + tes
  • 2 berkas data
Lihat isi zip
  • BACA-DULU.txt
  • contoh_f2_10_50.sql
  • contoh_f2_10_87.sql
  • contoh_f2_10_121.sql
  • contoh_f2_10_287.sql
  • contoh_f2_10_319.sql
  • contoh_f2_10_398.sql
  • contoh_f2_10_451.sql
  • contoh_f2_10_511.sql
  • contoh_f2_10_568.sql
  • contoh_f2_10_609.sql
  • contoh_f2_10_694.sql
  • contoh_f2_10_712.sql
  • contoh_f2_10_773.sql
  • contoh_f2_10_855.sql
  • contoh_f2_10_904.sql
  • contoh_f2_10_1084.sql
  • contoh_f2_10_1100.sql
  • contoh_f2_10_1137.sql
  • contoh_f2_10_1163.sql
  • contoh_f2_10_1182.sql
  • contoh_f2_10_1564.sql
  • contoh_f2_10_1587.sql
  • contoh_f2_10_1617.sql
  • contoh_f2_10_1659.sql
  • contoh_f2_10_1685.sql
  • contoh_f2_10_1725.sql
  • contoh_f2_10_1774.sql
  • contoh_f2_10_1874.sql
  • latihan_f2_10_1.sql
  • latihan_f2_10_2.sql
  • latihan_f2_10_3.sql
  • latihan_f2_10_4.sql
  • latihan_f2_10_5.sql
  • latihan_f2_10_6.sql
  • latihan_f2_10_7.sql
  • latihan_f2_10_9.sql
  • latihan_f2_10_8.sql
  • kasbon.sql
  • warung.sql