【问题标题】:Is there a difference between Surrogate key, Synthetic Key, and Artificial Key?代理密钥、合成密钥和人工密钥之间有区别吗?
【发布时间】:2012-10-24 22:10:41
【问题描述】:

代理密钥、合成密钥和人工密钥之间有什么区别吗?

我不清楚确切的区别。

【问题讨论】:

    标签: sql oracle database-design data-modeling


    【解决方案1】:

    代理密钥、合成密钥和人工密钥是同义词。技术关键是另一个。它们都表示“没有商业意义的主键”。它们不同于具有超出手头系统含义的自然密钥或业务密钥。

    例如,考虑 SO 用户帐户。我们由两个键标识。自然键是我们用来登录该站点的标识符,例如我们的 OpenID 名称。但是因为这些东西是长而笨重的字符串(并且因为 SO 允许我们选择不同的登录选项)数据库通过用户 ID 来识别我们,用户 ID 是一个生成的数字。该用户 ID 是合成/代理/人工密钥。

    【讨论】:

    • 我们可以说身份也是代理键吗?因为它与 bussnisse 无关
    • @Moudiz - IDENTITY(在 12c 中引入 Oracle)是一种生成代理键的机制。 GUID 是另一个。序列是第三个。
    猜你喜欢
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    • 2011-10-13
    • 2011-09-03
    相关资源
    最近更新 更多