3. Normal Form

PostgreSQL Veritabanları Oluşturma

Darryl Reeves

Industry Assistant Professor, New York University

3. Normal Formun tanımı

Gereklilikler

  • 2NF sağlanır
  • "Geçişli bağımlılıklar" yoktur
    • Yani, anahtar olmayan tüm sütunlar yalnızca PRIMARY KEY'e bağlıdır
PostgreSQL Veritabanları Oluşturma

Geçişli bağımlılıklar

  • Tabloda 3 sütun yer alır
  • Sütunlar X, Y, Z
  • sütun X -> sütun Y
  • sütun Y -> sütun Z
  • sütun X -> sütun Z
PostgreSQL Veritabanları Oluşturma

Örnek: ders oda atamaları

id name teacher num
157 Algebra Maggie Winters 244
162 Physics Maggie Winters 244
321 Spanish I Jeremy Smith 309
497 History I Sarah Williams 313
613 Spanish II Jeremy Smith 309
  • ders adı -> öğretmen
  • öğretmen -> oda numarası
  • ders adı -> oda numarası
PostgreSQL Veritabanları Oluşturma

Örnek: ders oda atamaları

id name teacher num
157 Algebra Maggie Winters 244
162 Physics Maggie Winters 244
321 Spanish I Jeremy Smith 309
497 History I Sarah Williams 313
613 Spanish II Jeremy Smith 309
  • ders adı -> öğretmen
  • öğretmen -> oda numarası
  • ders adı -> oda numarası
           (geçişli bağımlılık)
PostgreSQL Veritabanları Oluşturma

Örnek: ders oda atamaları

id name teacher num
157 Algebra Maggie Winters 244
162 Physics Maggie Winters 244
321 Spanish I Jeremy Smith 309
497 History I Sarah Williams 313
613 Spanish II Jeremy Smith 309
  1. Oda numarasını güncelleme
PostgreSQL Veritabanları Oluşturma

Örnek: ders oda atamaları

id name teacher num
157 Algebra Maggie Winters 244
162 Physics Maggie Winters 244
321 Spanish I Jeremy Smith 309
497 History I Sarah Williams 313
613 Spanish II Jeremy Smith 309
  1. Oda numarasını güncelleme
  2. Yeni öğretmen ekleme
PostgreSQL Veritabanları Oluşturma

Örnek: ders oda atamaları

id name teacher num
157 Algebra Maggie Winters 244
162 Physics Maggie Winters 244
321 Spanish I Jeremy Smith 309
497 History I Sarah Williams 313
613 Spanish II Jeremy Smith 309
  1. Oda numarasını güncelleme
  2. Yeni öğretmen ekleme
  3. Bir öğretmenin tüm derslerini silme
PostgreSQL Veritabanları Oluşturma

Örnek: ders oda atamaları

Bu olası sorunları azaltmak için veri yapımızı nasıl değiştiririz?

PostgreSQL Veritabanları Oluşturma

Örnek: ders oda atamaları

teacher tablosu

id name room_num
1 Maggie Winters 244
2 Jeremy Smith 309
3 Sarah Williams 313
PostgreSQL Veritabanları Oluşturma

Örnek: ders oda atamaları

teacher tablosu

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

course_assignment tablosu

id name teacher_id
157 Algebra 1
162 Physics 1
321 Spanish I 2
497 History I 3
613 Spanish II 2
PostgreSQL Veritabanları Oluşturma

Haydi pratik yapalım!

PostgreSQL Veritabanları Oluşturma

Preparing Video For Download...