如何解决ER图1:N关系转换
如果我有员工和项目以及一对多关系(很多项目,即员工可以分配到多个项目,而一个项目恰好分配给一位员工) 该表将是:
员工(身份,姓名,电话)
项目(proid,proname,cost, empid )
我可以将proid键移动到employees表中吗:
员工(身份,姓名,电话, proid )
项目(proid,proname,cost)
这种转换是错误的还是正确的? 如果最后一次转换错误,为什么会出错?
解决方法
您必须将empid
添加到Projects
表中。当您将proid
列添加到Employees
表中时,您只能引用一个项目。如果您有一名员工被分配到多个项目,您将得到以下信息:
Employees(1,"John","123-456-789",42)
Employees(1,20)
如您所见,您的表中将有两次雇员,更不用说发生主键冲突了。因此,您必须将员工ID保存在Projects
表中。
Projects(42,"Research",10000,1);
Projects(20,"Analysis",3000,1);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。