[英]Create Two Subtype (or child) tables with same primary key which is also a foreign key to the parent table sql
[英]How to create relationship between two tables which have no same field as foreign key and primary key
我认为您可能对命名约定感到困惑。
您是否假设外键列名必须与主键列名相同才能匹配它们? 绝对不是这样。 在关系前数据库时代曾经有一段时间,某些存储技术确实有此要求,但它根本不是SQL标准的一部分。
但是,有一种命名约定在许多人中很流行,其中外键名与主键名完全匹配。 这将启用所谓的自然联接 。
但是,并非所有人都同意此命名约定是一个好主意。 它有两个问题:(a)如果从一个表到另一个表有两个FK,则必须放弃约定以避免重复的列名,并且(b)最后不得不将表名放在避免出现意外的自然联接,例如person.name与company.name的对应关系。
电子表格清楚显示的是, test
表上的FK指向其他三个表的PK。 例如, test
表的CREATE TABLE
脚本将包括:
...
CONSTRAINT FK_TEST__TESTCATEGORYLIST FOREIGN KEY
IX_TEST__TESTCATEGORY (testCategory)
REFERENCES testCategoryList (categoryId)
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.