我试图为下表所示的信息设计一个数据库:

在这方面,让我们作出以下假设:
到目前为止,我已经提出了以下图示:

由于这包含多到多(M:N)关系,我对关联类(或关联实体类型)应该是什么感到困惑。
这种关系的正确表达方式是什么?
发布于 2017-03-11 02:34:38
您可以有一个Course表,它只包含课程和描述。
如注释中所述,您可以拥有一个StudentCourse表,该表有一个代理PK,其中有Student和Course的外键,也可以有一个包含学生年级的复合PK (StudentNumber和CourseNumber)。
类似地,您可以拥有一个Office表并将Office链接回顾问。这将允许多个顾问拥有相同的办公室,而不必多次保存该办公室名称(例如,如果办公室名称更改了怎么办?)
正如前面提到的,使用顾问名称作为主键可能不是最好的,它们的名称可能会更改;您可能会更好地使用代理键(可能是整数吗?)就为了这个。
https://dba.stackexchange.com/questions/166646
复制相似问题