gpt4 book ai didi

mysql - 一对一关系中的实体可以只有一个外键作为 ERM 中的主键吗?

转载 作者:行者123 更新时间:2023-11-29 11:05:43 25 4
gpt4 key购买 nike

我对真正的 ERM、SQL 和数据库有点陌生,所以这可能只是一个愚蠢的问题,但我还是在这里。

我做了一个 ERM,这是有问题的部分:

enter image description here

Name 将成为 MainCharacter 的外键,但我也希望它成为主键。这是否可能,或者我应该向 MainCharacter 添加代理键?如果可能的话,有没有办法在 ERM 中显示这一点?

我在这里找到了一些相关问题,但找不到我正在寻找的答案。任何帮助将不胜感激:)

最佳答案

外键作为主键当然是可能的,而且并不罕见。当实现重叠或可选子类型时,通常会发生这种情况。

您的示例听起来像是可选子类型的情况,但您的图表显示了独立实体集之间的关系。经典 ERD 表示法没有针对子类型的特定表示法,但我们可以将其显示为标识关系中的弱实体集:

Subtype ERD

双矩形表示弱实体集(意味着它没有自己的键,但通过其与角色的关系来标识),而双关联线表示完全参与(如果没有与角色的关联,则 MainCharacter 不能存在)特点)。双菱形表示识别关系。这些元素总是组合使用,尽管完全参与也可以在常规关系中使用。通过使用正确的符号,我们很少需要 ERD 中的基数指示器。

扩展 ER 符号表示使用不同样式的子类型,例如圆形、圆弧或三角形。我更喜欢圆弧表示法,因为它可以通过在圆中写入 o 或 d 来区分重叠和不相交的子类型,并且无论元素的方向如何,圆弧都可以区分子类型和父类(super class)型。

Subtype EERD

关于mysql - 一对一关系中的实体可以只有一个外键作为 ERM 中的主键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41448507/

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