帮助多对多关系

时间:2008-12-13 01:59:48

标签: database many-to-many

我的表中存在多对多关系的问题,这是在培训中心工作的员工和讲师之间。我找不到它们之间的联系,我不知道如何得到它。员工字段为:

  • 员工编号
  • 员工姓名
  • 公司名称
  • 部门职称
  • 商业区
  • 手机号码
  • ext

教师字段是

  • 讲师姓名
  • 研究所
  • 手机号码
  • 电子邮件地址

3 个答案:

答案 0 :(得分:7)

在多对多关系中,关系将在第3个表中,类似于

table EmployeeInstructor 
    EmployeeID
    InstructorID

要查找特定教师的所有员工,您将对所有三个表使用联接。

答案 1 :(得分:5)

或者更有可能涉及课程 -

员工需要上课 讲师教授课程

所以你将拥有和EmployeeClass表,
一个InstructorClass表,

并加入他们。 Class必须是唯一的,否则你需要

课程在Quarter on ClassSchedule

中讲授

并最终将EmplyeeClassSchedule加入InstructorClassSchedule。

这很快成为你更有趣的关系设计之一。如果你谷歌搜索“Terry Halpin”和“对象角色建模”,这将在教程中用作说明性情况。

答案 2 :(得分:4)

首先,您需要在两个表中使用唯一键。员工编号可以用于员工表,但是教师表需要另一个员工编号。就个人而言,我倾向于在我的表中使用名为ID的自动递增标识字段。这是主键。 其次,创建一个新表,InstructorEmployee。该表有两列,InstructorID和EmployeeID。两个字段都应编入索引。现在,您可以通过创建包含两个ID的记录在任何Employee和任何Instructor之间创建关联。