如果没有唯一的列可以识别表中的每一行,
那么我的主键将至少是一组两个字段。
那是对的吗?
如果是正确的,那么在绘制关系图时,我必须在构成主键的两个属性下划线?
谢谢
如果没有唯一的列可以识别表中的每一行,
那么我的主键将至少是一组两个字段。
那是对的吗?
如果是正确的,那么在绘制关系图时,我必须在构成主键的两个属性下划线?
谢谢
这是一些术语:
如果没有“明显”的自然键,则整行始终可以充当键2。但是,这很少实用,在这种情况下,您通常会引入代理键来识别行。
有时,但并非总是如此,在现有自然键之外引入代理项是有用的。
ER 图将清楚地识别 PK 3,无论它是自然的还是替代的,以及它是否是复合的。这看起来如何取决于所使用的符号,但 PK 通常以图形不同的方式绘制,并且可能以“PK”为前缀。
1即,如果您要从中删除任何列,它将不再是唯一的。
2数据库表是“关系”数学概念的物理表示。由于设置了关系,因此拥有两个相同的行是没有意义的,因此至少整行必须是唯一的(一个元素要么在集合中,要么不在集合中 - 它不能在集合中“两次”,因为反对多集)。
3假设它不仅仅是实体级别,所以根本没有显示任何属性。
你是对的,在时尚之后。从技术上讲,主键和唯一键可以是两个不同的东西。您可以在表或实体上拥有唯一标识该实体的主键,并且还可以。在同一张表上,您可以有一个唯一的键约束,然后可以使用它来确保根据您选择的标准,没有两行最终具有相同的属性。因此,您可以在同一张表上同时拥有主键和唯一约束。只需在数据库中自动生成一个主键列,然后在表中选择要用于强制唯一键约束的两列
如果您没有主键,您可以识别您的数据,但它不是高性能的。
作为最佳实践,您在桌子上使用主要。
首选是使用自动增量列作为主键