假设我正在为教师制作一个投票系统,并希望将voting_id作为两个表教师和高级教师的主键,并使vote_id成为我新表中两个表的单个外键,我可以选择如果我可以怎么样?
答案 0 :(得分:1)
为什么要为教师和高级教师分别设置表格?这些实际上很可能是应该使用具有teacher
属性的单个senior_teacher
表建模的实体。然后,您将创建一个voter
表,其中teacher_id
列引用teacher_id
表中的teacher
主键。将teacher
表的主键设为voter_id
而不是teacher_id
是没有意义的。
答案 1 :(得分:0)
我会以不同的方式对其进行建模。老师可以有N票(1:N关系)。所以投票表有teacher_id,可能是等级和时间戳。我会把老师和高级老师放在同一张桌子上,并为其添加一个类型栏(高级或普通),因为高级教师只是一种扩展型教师。
Voting_id不能是主键,因为它识别投票而不是教师。你也会发生冲突,因为教师和高级教师如果在两个单独的表格中,则可以拥有相同的主要ID。