实体关系图:什么是复合 ID .Net Core 6

Entity Relationship Diagram: What is a composite ID .Net Core 6

我在数据库中有 3 个 table,我想知道什么是复合主键。

例如: Table 1个被称为超级英雄 Table 2被称为超级英雄类别 而table3号称超级英雄传

我想创建一个 ERD(实体关系图)

属性键应该检索 json 文件并根据需要显示超级英雄类别,这可能吗?还是我完全错了?

这是一个.net核心项目学习

复合键很少与技术 ID 一起使用。它们更常见于自然键。

有超级英雄类别。对于这些类别,您将有一个 table,并可能为每个类别指定一个编号,这样您就可以用它来唯一地标识一个类别。您也可以使用类别名称作为唯一标识符,但是如果您有时想使用不同的名称,例如,您就会遇到问题。将 'Ability to fly' 重命名为 'Flying ability'.

然后是超级英雄。您将为他们分配一个 table,并且每个超级英雄都将获得一个 ID 或仅通过其唯一名称进行识别。这两列之一将是主键。假设您使用超级英雄的名字。

由于没有单独的 table 将超级英雄类别映射到超级英雄,您将在超级英雄中拥有类别 ID table,因此每个超级英雄都属于一个类别。

如果你想让一个超级英雄属于多个类别,你需要一个桥梁/协会 table。在您的 ERM 中,您可以只显示超级英雄和类别 table 并使用 m:n 关系箭头或显示所有三个具有 1:n 关系的 table。这只是您要在图表中显示的粒度的问题。

现在假设您的传记 table 每个超级英雄可以包含多个传记。这意味着传记中必须有超级英雄的名字 table 才能建立这种关系。此 table 中一行的唯一键可能是超级英雄和传记作者的组合。两列组合起来标识一行。复合键。如果您将其设为主键,您将拥有一个复合主键。