İkinci normal formda (2NF) bir sorunum var ve Google'ı kullanarak çözemedim. Beni çıldırtıyor çünkü ben öğretmenim ve öğrencilerime yanlış şeyler öğretmek istemiyorum.
5 alanlı bir masa alalım.
Notlar = {StudentName, SubjectCode, SubjectName, #Exam, Grade}
Bağımlılıklar şu şekilde:
StudentName, SubjectCode, #Exam -> Not
SubjectCode -> Konu Adı
SubjectName -> SubjectCode
Bu nedenle, aday anahtar 1 {StudentName, SubjectCode, #Exam} ve aday anahtar 2 {StudentName, SubjectName, #Exam} 'dir .
Başbakan nitelikleridir {StudentName, SubjectCode, konuadı, #Exam} -asal niteliklerini edilir Sınıf
İkinci normal formun tanımına göre, asal olmayan bir özellik, aday anahtarın bir kısmına bağlı olamaz. Yalnızca asal olmayan özellik (Derece) bir aday anahtarın bir bölümüne bağlı değildir, bu nedenle bu tablo 2NF'de görünür.
Sorun şu ki bir şeylerin yanlış olduğunu düşünüyorum (ve yanlış olabilir). Bence deneklerin kendi masaları olmalı.
Notlar = {ÖğrenciAdı, Konu Kodu, # Sınav, Not}
Konular = {Konu Kodu, Konu Adı}
Ancak 2NF bunu üretmez. 3NF, asal olmayan öznitelikler arasındaki bağımlılıklarla ilgilidir, bu yüzden bunu da üretmez. Ama bana öyle geliyor ki, bu doğru sonuç, çünkü artıklığı yok.
Asal olmayan öznitelik "aday anahtar olmayan öznitelik" olarak tanımlanmışsa, 2NF istenen sonucu üretir. Ama bunu tekrar tekrar kontrol ettim ve asal olmayan öznitelik "bir aday anahtara AİTMEYEN öznitelik" olarak tanımlandı.
Neyi yanlış yapıyorum?