14 rdbms database-design foreign-keys
我想在我的应用程序中实现一对多的概念.这是场景:我有两张桌子
(一世).人(身份证,姓名,年龄,部门)
(ii).人员责任(ID,RESP'S)
一个人可能有多个责任.我该如何在这里实现1-n关系?实际上,我不明白这个的正确概念.
任何建议或链接,以了解这个概念将不胜感激.
Ed *_*ess 20
这种一对多的关系可以用这样的简单英语来解释......
一个人有一个或多个责任,
和
每项责任仅属于一个人.
现在,根据您使用的rdbms,您可以将其实现为外键关系.
首先,您需要向RESPS添加指向人员表的列.
我们将这个新列称为PERSON_ID.
现在我们可以声明关系,代码可能看起来像这样;
ALTER TABLE [Responsibilities] ADD CONSTRAINT FOREIGN KEY (PERSON_ID)
REFERENCES [Person] (ID)
Run Code Online (Sandbox Code Playgroud)
这种外键约束的声明意味着从现在开始,如果没有指定拥有该责任的人,则无法添加责任.
但是你仍然可以添加一个没有责任的人(因为人员表上没有约束).
请注意,这是所有类型的学术,因为在现实生活中责任是共享的.
换句话说,一个人可能有一个或多个责任,但每个责任可能属于一个或多个人.
这被称为多对多关系,并且是一个众所周知的数据库设计问题,具有明确定义的解决方案 - 我现在不会涉及这个问题,因为它与您的问题相关.
| 归档时间: |
|
| 查看次数: |
21774 次 |
| 最近记录: |