你确实需要一个主键,只是你还不知道而已。
主键是用于唯一标识表中的行的。
它是否被索引或聚集,是一个物理实现问题,并与逻辑设计无关。
为了使表具有意义,需要为其指定一个主键。
如果您不需要主键,则不要使用主键。通常我需要主键,所以我通常使用它们。如果您有相关的表格,您可能需要主键和外键。
不会,除非你能找到一个例子:“如果table_x没有主键,这个数据库会工作得更好。”
如果不需要性能、数据完整性和标准化,可以提出永远不使用主键的论点。安全性和备份/还原功能可能不需要,但最终,你必须穿上成年人的裤子,加入数据库实现的真实世界。
是的,一张表格应该始终有一个主键...除非你不需要唯一标识其中的记录。(我喜欢做出绝对的陈述并立即反驳它们)
什么情况下不需要在表格中唯一标识记录呢?几乎从来没有。但我曾经为审计日志表之类的东西这样做过。数据不会被更新或删除,并且不会受到任何限制。本质上是结构化日志记录。
我不知道。我使用过几个只有单行和单列的表格。始终只会有一个单行和单列。没有外键关系。
那我为什么要在里面放置主键呢?
嗯...
关系型数据库中的每个表都需要一个主键。正如已经指出的那样,主键是唯一标识记录的数据...
如果您有一个连接两个不同表的N-M表,并且您可以通过连接的两列的值唯一地标识记录,则可以不使用“ID”字段。 (组合主键)
在没有主键的情况下创建表违反了第一范式,这在关系型数据库中没有任何意义。