【发布时间】:2018-03-25 04:06:09
【问题描述】:
1 一个外键引用多个表的主键。
其中 primary1 表有两列 primary1_id int(11) 和 first_name varchar(10) 其中 primary1_id 是一个主键。
与 primary1 表相同,primary2 表也有两列 primary2_id int 和 >last_name varchar,其中 primary2_id 是主键。
**还有一个**foreign1表有两列foreign_id int和full_name int,其中 full_name 是一个外键,它指的是多个表的主键,例如 primary1_id 和 primary2_id。
2 这个外键,full_name只允许插入两个primary1_id 和 primary2_id 列。
因此,如果我在 primary1 表中输入五个条目,在 primary2 中输入四个条目。
其中primary1_id's设置为1到5,primary2_id's设置为1到4。
但是为什么这个 外键全名 只允许我输入 1 到 4,它们在两个主键的表中都可用?
【问题讨论】:
-
您的问题不清楚。请解释您所说的“有用”是什么意思。您似乎在 FK(外键)的意义上将“关系”(错误地)用于“关系”。这些设计的来源对它们有何影响?你明白什么不明白? FK 表示值必须作为 PK/UNIQUE 出现在其他地方。为什么知道还不够? Please use text for text, do not use images/links.
-
“外键约束只显示所有主键约束表中通用的主ID”不清楚。请写得更清楚。使用更多的单词和句子;清楚地指代事物;不要试图把它塞进一句话。试试 translate.google.com,最近通过 AI 效果更好。
-
嗨。当您说“为什么”时,我猜您知道 FK 说 full_name 值必须显示为 PK,所以我猜您的意思是,什么那种业务情况会有这样的设计吗?但你实际上并没有说清楚。 (另请参阅我上次评论的其他部分。)我猜您编造了这些列名,因为在日常生活中,将每个全名限制为名字和姓氏是没有意义的.但是我的每个队友都必须是运动员和成年人。 PS 看看 sqlvogel 的回答如何以简洁、标准甚至正式的方式呈现表格。
标签: database-design foreign-keys schema primary-key rdbms