【问题标题】:Should I use ternary relationship for these entities我应该对这些实体使用三元关系吗
【发布时间】:2017-11-07 21:43:24
【问题描述】:

我的项目中的 ER 模型中有这些实体:

  • 学生
  • 教授
  • 主题

我应该将它们与三元关系联系起来,还是每个都与二元关系联系起来?我使用了三元关系。也许我没有最好的关系名称,但它涉及分级。

如果我应该使用三元关系,我应该使用连接表中的 Id 作为表示数据库中关系的表的主键

【问题讨论】:

    标签: entity-relationship


    【解决方案1】:

    根据您的图表,似乎每个Student/Subject 组合决定了一个Professor。让我们将其与二元关系进行比较:

    StudentSubject 之间的二元关系允许您记录哪个Students 占用哪个Subjects,而无需指定哪个Professor。这对您的系统有效,还是需要为每个Student/Subject 组合捕获Professor

    StudentProfessor 之间的二元关系将为每个Student 记录一个Professor,或者可能为每个Student 记录一组Professors。在不知道每个 ProfessorStudent 教授哪个主题的情况下,这是否有用?

    SubjectProfessor 之间的二元关系将为每个主题记录一个或多个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)。学科组或部分提供了一个方便的位置来附加更多属性,例如房间号、时间表安排、教学语言等。

    【讨论】:

      猜你喜欢
      • 2016-09-04
      • 2013-08-10
      • 1970-01-01
      • 2013-02-04
      • 1970-01-01
      • 2011-11-26
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多