数据库表标准化(NF3)

问题描述 投票:0回答:1

| MatrikelNr[PK]|种马名称 |克劳苏尔 |劳姆 |

了解上下文:Matrikelnr = 学号,Klausur = 考试名称,Raum = 房间

因此,对于非德语使用者来说,问题基本上是说我应该将此表放入 NF3 中,并将它们写为带下划线的主键关系。

所以我有这个解决方案:

学生(Matrikelnr,学生姓名)

Klausur(Matrikelnr,Klausur,Raum)

但是我的朋友说我错了,正确的解决方案是:

学生(Matrikelnr,学生姓名,Klausur)

克劳苏尔(克劳苏尔,劳姆)

你们能帮我解决我的问题吗,感谢您阅读到最后并提供帮助。

sql database normalization
1个回答
0
投票

Student
应该只有学生信息。
Student(Matrikelnr,Stud.-Name)

Exam
应该只有考试信息。
Klausur(Klausur,Raum)

那么你需要一个表来保存多对多的关系(学生可以参加很多次考试,并且一次考试是由很多学生参加的)

StudentExam(StudentId, ExamId)
,两列都是其他 2 个表的主键。

© www.soinside.com 2019 - 2024. All rights reserved.