Bentuk Normal ke-3

Membuat Database PostgreSQL

Darryl Reeves

Industry Assistant Professor, New York University

Definisi Bentuk Normal ke-3

Kriteria

  • Sudah memenuhi 2NF
  • Tidak ada "dependensi transitif"
    • Artinya, semua kolom non-kunci hanya bergantung pada PRIMARY KEY
Membuat Database PostgreSQL

Dependensi transitif

  • Melibatkan 3 kolom dalam tabel
  • Kolom X, Y, Z
  • kolom X -> kolom Y
  • kolom Y -> kolom Z
  • kolom X -> kolom Z
Membuat Database PostgreSQL

Contoh: penempatan ruang mata kuliah

id name teacher num
157 Aljabar Maggie Winters 244
162 Fisika Maggie Winters 244
321 Spanyol I Jeremy Smith 309
497 Sejarah I Sarah Williams 313
613 Spanyol II Jeremy Smith 309
  • nama mata kuliah -> dosen
  • dosen -> nomor ruangan
  • nama mata kuliah -> nomor ruangan
Membuat Database PostgreSQL

Contoh: penempatan ruang mata kuliah

id name teacher num
157 Aljabar Maggie Winters 244
162 Fisika Maggie Winters 244
321 Spanyol I Jeremy Smith 309
497 Sejarah I Sarah Williams 313
613 Spanyol II Jeremy Smith 309
  • nama mata kuliah -> dosen
  • dosen -> nomor ruangan
  • nama mata kuliah -> nomor ruangan
           (dependensi transitif)
Membuat Database PostgreSQL

Contoh: penempatan ruang mata kuliah

id name teacher num
157 Aljabar Maggie Winters 244
162 Fisika Maggie Winters 244
321 Spanyol I Jeremy Smith 309
497 Sejarah I Sarah Williams 313
613 Spanyol II Jeremy Smith 309
  1. Memperbarui nomor ruangan
Membuat Database PostgreSQL

Contoh: penempatan ruang mata kuliah

id name teacher num
157 Aljabar Maggie Winters 244
162 Fisika Maggie Winters 244
321 Spanyol I Jeremy Smith 309
497 Sejarah I Sarah Williams 313
613 Spanyol II Jeremy Smith 309
  1. Memperbarui nomor ruangan
  2. Menambahkan dosen baru
Membuat Database PostgreSQL

Contoh: penempatan ruang mata kuliah

id name teacher num
157 Aljabar Maggie Winters 244
162 Fisika Maggie Winters 244
321 Spanyol I Jeremy Smith 309
497 Sejarah I Sarah Williams 313
613 Spanyol II Jeremy Smith 309
  1. Memperbarui nomor ruangan
  2. Menambahkan dosen baru
  3. Menghapus semua mata kuliah untuk seorang dosen
Membuat Database PostgreSQL

Contoh: penempatan ruang mata kuliah

Bagaimana kita mengubah struktur data untuk mengurangi potensi masalah ini?

Membuat Database PostgreSQL

Contoh: penempatan ruang mata kuliah

Tabel teacher

id name room_num
1 Maggie Winters 244
2 Jeremy Smith 309
3 Sarah Williams 313
Membuat Database PostgreSQL

Contoh: penempatan ruang mata kuliah

Tabel teacher

id name room_num
1 Maggie Winters 244
2 Jeremy Smith 309
3 Sarah Williams 313

Tabel course_assignment

id name teacher_id
157 Aljabar 1
162 Fisika 1
321 Spanyol I 2
497 Sejarah I 3
613 Spanyol II 2
Membuat Database PostgreSQL

Ayo berlatih!

Membuat Database PostgreSQL

Preparing Video For Download...