您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

主键(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声明都是多余的。)

其他 2022/1/1 18:36:28 有383人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶