表:
学生
教授
条目(数据库中没有用于条目的物理表入口,此表位于前端,因此如果需要,它可能由多个辅助表组成。只需要创建有效的erd)
Preambula: 一个学生可以与许多教授建立联系 一位教授可以与许多学生建立联系 一个条目可以有0,1或更多的学生或教授。 教授必须与一名或多名学生联系 学生不需要与任何教授建立联系 它应该更像这样(前端条目表):
此表中的任何教授必须在表中具有关联名称。(例如,Wandy与Alex相关联) 学生(但可能)不需要在此表中有相关的教授 一排(例如Linda(学生),Kelly(教授),Victor(教授)) 不能以任何方式相互关联。 但如果琳达与大卫有关,那绝对没问题。
问题是我不太明白一个列如何可以有不同表的ID(而且这些是多个!)并且不太了解如何为此构建有效的erd。 我会回答您需要的任何其他问题。非常感谢!
答案 0 :(得分:1)
如果您只是想要学生和教授之间的关联 - 只需在ERD中建立多对多的关系。在逻辑(关系)模式中,它将创建一个带有Student键和教授表的外键的中间表。 但是从您的示例中看起来您需要为“PeopleEntries”设计数据库,这并不简单。 ERD似乎有以下实体:
关系(考虑到人们不能多次出现在参赛作品中):
关系模式将包含表(根据erd关系的外键):
我不知道如何实施约束,在概念层面(ER图)不允许来自同一条目的人之间的关联。在物理层面上,您可以在触发器或更新过程中实现逻辑以进行检查。
答案 1 :(得分:0)
根据我的快速理解,
创建包含以下列的表 PERSONNAME 指定 .....
再创建一个表
PERSONNAME LinksTo
在第二个表中,每个人条目将根据关系
有多个记录答案 2 :(得分:0)
您想要一个联结表:
ID StudentID ProfessorID
0 23 34
1 22 34
2 12 33
3 12 34
在上表中,一位教授有3名学生,一名学生有两位教授。
StudentID和ProfessorID应该是避免重复关系的唯一索引。