我应该为这些实体使用三元关系吗
Should I use ternary relationship for these entities
我的项目 ER 模型中有这些实体:
- 学生
- 教授
- 主题
是三元关系还是二元关系?我用的是三元关系。也许我没有最好的关系名称,但它涉及分级。
而且,如果我应该使用三元关系,我应该将连接的 table 中的 ID 用作 table 的主键,这将代表数据库中的关系
根据您的图表,似乎每个 Student
/Subject
组合决定了一个 Professor
。让我们将其与二元关系进行比较:
Student
和 Subject
之间的二元关系允许您记录哪个 Students
占用哪个 Subjects
,而无需指定哪个 Professor
。这对您的系统是否有效,或者是否有必要为每个 Student
/Subject
组合捕获 Professor
?
Student
和 Professor
之间的二元关系将为每个 Student
记录一个 Professor
,或者可能为每个 [=一组 Professors
=10=]。在不知道每个 Professor
向 Student
教授哪个科目的情况下,这是否有用?
Subject
和 Professor
之间的二元关系将为每个主题记录一个或多个 Professors
。这可能有助于捕捉 Professor
能够或有资格教授的内容,而不是他们被分配或计划教授的内容。
我在两个学校管理系统上工作过,我们捕获了 (Student PK, Subject PK)
(学生选修的科目)和 (Professor PK, Subject PK)
(教授可以教授的科目),但不是三元的关系 (Student PK, Subject PK, Professor)
,我们定义了一个学科组或部分 Sections (SectionID PK, Subject, Professor)
和学生部分分配 (Student PK, Subject PK, SectionID)
。主题组或部分提供了一个方便的地方来附加更多属性,如房间号、时间表安排、授课语言等。
我的项目 ER 模型中有这些实体:
- 学生
- 教授
- 主题
是三元关系还是二元关系?我用的是三元关系。也许我没有最好的关系名称,但它涉及分级。
而且,如果我应该使用三元关系,我应该将连接的 table 中的 ID 用作 table 的主键,这将代表数据库中的关系
根据您的图表,似乎每个 Student
/Subject
组合决定了一个 Professor
。让我们将其与二元关系进行比较:
Student
和 Subject
之间的二元关系允许您记录哪个 Students
占用哪个 Subjects
,而无需指定哪个 Professor
。这对您的系统是否有效,或者是否有必要为每个 Student
/Subject
组合捕获 Professor
?
Student
和 Professor
之间的二元关系将为每个 Student
记录一个 Professor
,或者可能为每个 [=一组 Professors
=10=]。在不知道每个 Professor
向 Student
教授哪个科目的情况下,这是否有用?
Subject
和 Professor
之间的二元关系将为每个主题记录一个或多个 Professors
。这可能有助于捕捉 Professor
能够或有资格教授的内容,而不是他们被分配或计划教授的内容。
我在两个学校管理系统上工作过,我们捕获了 (Student PK, Subject PK)
(学生选修的科目)和 (Professor PK, Subject PK)
(教授可以教授的科目),但不是三元的关系 (Student PK, Subject PK, Professor)
,我们定义了一个学科组或部分 Sections (SectionID PK, Subject, Professor)
和学生部分分配 (Student PK, Subject PK, SectionID)
。主题组或部分提供了一个方便的地方来附加更多属性,如房间号、时间表安排、授课语言等。