gpt4 book ai didi

sql - 包含外键作为主键的弱实体

转载 作者:行者123 更新时间:2023-12-04 16:00:14 25 4
gpt4 key购买 nike

我创建了一个名为 STUDENT 的表它由作为 PRIMARY KEY 的唯一 ID 以及其他相关属性(如 Name)组成。 , Addr , Gender等等....

由于我不想增加 STUDENT 的表大小, 我创建了一个名为 ACADEMIC RECORDS 的弱实体存储学生以前的学术记录。但在这个表中我只创建了一个 PRIMARY KEY Unique ID其中引用了 Unique ID学生的。并且没有其他属性与 Unique ID 一起使用在弱实体ACADEMIC RECORD table 。

当我遇到弱实体的定义时,该定义将其主键定义为弱实体的属性和所有者表的主键的组合(在本例中为 STUDENT )

是我创建外键作为表中唯一主键的方法ACADEMIC RECORD正确的??

STUDENT Table  
**UID** NAME GENDER ADDRESS PHNO.

ACADEMIC RECORD Table
**UID** HighschoolMarks GradSchoolMarks

最佳答案

拥有一个完全是外键的主键并没有什么错。这是实现诸如“基类”之类的常见方法,其中实体在基表中具有一行,并且可能在一个或多个扩展表中具有一行(一对一或零的关系)。

不过,我不确定这是最适合您所做工作的架构。如果academic_records 和学生之间确实存在完全一对一的关系,那么对我来说它们似乎是同一实体的一部分。

在这种情况下,从规范化的角度来看,记录列应该是主学生表的一部分。也许有一个非规范化的效率原因,但“我不想增加表大小”通常不是一个充分的理由。数据库可以处理大表。

关于sql - 包含外键作为主键的弱实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3243946/

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