Erd ER图1:N关系转换

Erd ER图1:N关系转换,erd,Erd,如果我有员工和项目以及一对多的关系(项目中的许多人,即员工可以分配到多个项目,一个项目只分配给一名员工) 该表将是: 员工(empid、姓名、电话) 项目(项目ID、项目名称、成本,empid) 我是否可以将proid密钥移动到employees表,如下所示: 员工(员工ID、姓名、电话、proid) 项目(项目名称、项目名称、成本) 这个转换是错误的还是仍然正确? 如果最后一次转换错误,为什么会错误?您必须将empid添加到Projects表中。将proid列添加到Employees表时,只能

如果我有员工和项目以及一对多的关系(项目中的许多人,即员工可以分配到多个项目,一个项目只分配给一名员工) 该表将是:

员工(empid、姓名、电话)

项目(项目ID、项目名称、成本,empid

我是否可以将proid密钥移动到employees表,如下所示:

员工(员工ID、姓名、电话、proid

项目(项目名称、项目名称、成本)

这个转换是错误的还是仍然正确?
如果最后一次转换错误,为什么会错误?

您必须将
empid
添加到
Projects
表中。将
proid
列添加到
Employees
表时,只能引用一个项目。如果您将一名员工分配到多个项目,您将得到如下结果:

Employees(1, "John", "123-456-789", 42)
Employees(1, "John", "123-456-789", 20)
正如您看到的,您的表中会有两个雇员,更不用说主键冲突了。因此,您必须将员工id保存在
Projects
表中

Projects(42, "Research", 10000, 1);
Projects(20, "Analysis", 3000, 1);

员工可以分配到多个项目,而一个项目只分配给一名员工?是的,员工可以分配到多个项目,而一个项目只分配给一名员工