何时应使用指向候选键而不是主键的外键的示例?

何时应使用指向候选键而不是主键的外键的示例?,第1张

何时应使用指向候选键而不是主键的外键的示例?

主键(PK)在关系理论中不起作用。(例如完整性或规范化。)PK只是您决定称为“主”的某个候选密钥(CK)。外键(FK)引用CK。当一个表具有多个CK且另一表引用了一个恰好不是PK的表时,您仍应声明FK。DBMS可以将PK声明用于其他目的。

在SQL中,UNIQUE NOT NULL声明声明一个超键。CK是一个超级键,其中不包含更小的超级键。SQL PK声明声明了UNIQUE NOT
NULL约束,因此它实际上声明了一个超键。SQL FK声明实际上声明了一个外部超键:引用列列表引用PK或UNIQUE NOT NULL声明中的列列表。

FK或外来超键表示源表的子行必须显示为引用表的子行。如果是这样,并且不是先前FK声明的结果,则声明FK。

例如:化学元素表应合理地包含三个CK:名称,符号和原子序数。只能是PK。但是,无论何时任何列出现在另一个表中,都应为其声明FK。如果同时出现多个引用同一元素的内容,则它们应构成一个复合FK。(并且每个FK声明都是多余的。)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5618344.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存