gpt4 book ai didi

database - 是否有充分的理由让数据库表没有整数主键?

转载 作者:太空狗 更新时间:2023-10-30 01:52:54 25 4
gpt4 key购买 nike

虽然我犯了这个罪,但在我看来,没有任何充分的理由让表没有标识字段主键。

优点:- 无论您是否愿意,您现在都可以唯一地标识表格中的每一行,这在以前是无法做到的- 你不能在你的表上没有主键的情况下进行 sql 复制

缺点:- 表格的每一行额外的 32 位

例如,考虑您需要将用户设置存储在数据库表中的情况。您有一列用于设置名称和一列用于设置值。不需要主键,但拥有一个整数标识列并将其用作主键似乎是您创建的任何表的最佳实践。

除了大小之外,是否还有其他原因导致每个表不应该只有一个整数标识字段?

最佳答案

当然,单数据库解决方案中的一个示例是,如果您有一个国家/地区表,使用 ISO 3166-1-alpha-2 country code 可能更有意义作为主键,因为这是一个国际标准,并使查询更具可读性(例如 CountryCode = 'GB' 而不是 CountryCode = 28)。类似的论点可以应用于 ISO 4217 currency codes .

在使用复制的 SQL Server 数据库解决方案中,UNIQUEIDENTIFIER 键会更有意义,因为某些类型的复制需要 GUID(如果有多个复制,也更容易避免键冲突源数据库!)。

关于database - 是否有充分的理由让数据库表没有整数主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/671773/

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