gpt4 book ai didi

database - 如何正确建模 N :N:1 ternary relationship?

转载 作者:搜寻专家 更新时间:2023-10-30 22:30:03 25 4
gpt4 key购买 nike

我正在研究包含这种三元关系的 ER 模型。我知道对这种类型的关系建模的选项之一是将该关系转换为弱实体,然后使用二元关系将该实体与其他三个实体连接起来。我不知道该怎么做的是如何将它们与什么类型的二元关系联系起来。有人至少可以向我解释一下我该怎么做。

N:N:1 ternary model

最佳答案

像这样的……

CREATE TABLE STUDY (

STUDENT_ID int REFERENCES STUDENT,
SUBJECT_ID int REFERENCES SUBJECT,
DEPARTMENT_ID int NOT NULL REFERENCES DEPARTMENT,

PRIMARY KEY (STUDENT_ID, SUBJECT_ID)

);

看看我们如何有一个跨越所有列的主键。主键中省略了 DEPARTMENT_ID,这意味着我们可以:

  • 有各种 STUDENT_ID/SUBJECT_ID 组合(多行),
  • 但是对于给定的 STUDENT_ID/SUBJECT_ID 组合,我们只能有一个 DEPARTMENT_ID(因为一行只能包含一个 DEPARTMENT_ID)。

稍微换一种说法:给定的学生只能学习一次给定的科目,并且这种情况发生在特定部门。

关于database - 如何正确建模 N :N:1 ternary relationship?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45508883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com