Questions tagged «surrogate-keys»

7
代理密钥是否应该向用户公开?
通常,在没有自然键的表中,对于用户来说,拥有唯一生成的标识符仍然很有用。如果表具有代理主键(在这种情况下,您一定会希望它具有),该键应该向用户公开还是应将另一个字段用于该目的? 不公开代理键的原因之一是,现在您不能执行保留记录之间关系的操作,而只能更改键值,例如某些类型的删除/重新插入,将数据从一个数据库复制到数据库的许多方法。另一个等等 公开代理键的主要优点是使用您拥有的字段非常简单。 在什么情况下最好直接向用户公开代理密钥?

4
这些特定的表是否需要代理键?
背景 我有这张桌子 +-------------------------+ +------------------------+ |Airport | |Country | |-------------------------| |------------------------| |airport_code string (PK) | |country_code string (PK)| |address string | |name string | |name string | +------------------------+ +-------------------------+ +-------------------------+ |Currency | |-------------------------| |currency_code string (PK)| |name string | +-------------------------+ airport_code是IATA(国际航空运输协会)的 机场代码,乘飞机旅行时,您可以在行李标签中看到它们。 country_code是ISO 3166-1 A3标准国家/地区代码,您可以在奥运会上查看它们。 currency_code是IS0 417标准的3个字符的货币代码,您可以在国际货币兑换显示板上看到它们。 问题 这些自然PK是否足够好? 是否使用世界公认的标准,而整个行业都接受了PK的标准? 这张桌子是否需要代孕品?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.