我在数据库中有3个表,我想知道复合主键是什么。
表1称为超级英雄表2称为超级英雄类别,表3称为超级英雄传记
我想要创建一个ERD (实体关系图)

属性键应该检索json文件并根据需要显示超级英雄类别,这可能吗?还是我完全错了?
这是.net核心项目要学习的内容
发布于 2022-04-28 12:31:26
组合密钥很少与技术ID一起使用。它们在自然键中更常见。
有超级英雄的类别。您将为这些类别提供一个表,并且可能会给每个类别一个数字,这样您就可以用它唯一地标识一个类别。您也可以使用类别名称作为唯一标识符,但是如果您想在某一时间使用不同的名称,例如将“飞行能力”重命名为“飞行能力”,则会出现问题。
还有超级英雄。您将为他们有一个表,每个超级英雄将得到一个ID或简单地识别他们的唯一名称。这两列中的一列将是主键。假设你用超级英雄的名字。
由于没有单独的表将超级英雄类别映射到超级英雄,所以在超级英雄表中将有类别ID,因此每个超级英雄都属于一个类别。
如果您希望超级英雄属于多个类别,则需要一个桥接/关联表。在ERM中,您可以只显示超级英雄和类别表,并使用m:n关系箭头或显示具有1:n关系的所有三个表。这只是一个您想要在图中显示的粒度问题。
现在假设你的传记表可以包含每个超级英雄的多部传记。这意味着在传记表中必须有超级英雄的名字来建立这种关系。这张表中一行的唯一关键可能是超级英雄和传记作者的结合。两列联合标识一行。一个合成钥匙。如果您将此作为主键,则将有一个复合主键。
https://stackoverflow.com/questions/72041664
复制相似问题