数据库表引用多个记录

时间:2010-12-27 17:18:50

标签: database primary-key relational-database foreign-key-relationship

我正在寻找关于如何设置我正在创建的数据库的一些指导。我认为提出问题的最佳方式是描述具体情况:

我有一个数据库,可以保存学校员工的信息。

我有一个名为“Semesters”的表,其中包含有关特定学期的信息(例如“秋季/春季/夏季”,年份等)。

我有另一个名为“Employees”的表,其中包含有关特定学生 - 员工的信息(例如name,jobTitle,startDate,endDate)。我还想提一下“学期”表,其中说明雇用了哪个学期的学生。因此,例如,“员工”表中的一列会告诉我这位特定员工在“2010年秋季,2011年春季和2011年秋季”学期期间工作。

问题是我不知道如何在一个字段中引用几条记录。

我确信这是一个相当常见的情况,我只是不确定如何去做。 引用MS Access或SqlServer的答案非常好。

感谢。

2 个答案:

答案 0 :(得分:2)

这听起来像是一对多关系。在这种情况下,您可能会使用junction table

员工(empID,名称)

1 bob
2 moe
3 george

学期(semID,姓名)

1 fall 2010
2 spring 2010

EmploymentHistory (empID& semID)

1 1 (bob was employed fall 2010)
1 2 (bob was employed spring 2010)
2 2 (moe was employed fall 2010)

答案 1 :(得分:1)

您可以使用Employee表(而不是Employees)中的Semester表(不是Semesters)的几个外键来完成此操作。

如果您想跟踪员工工作的学期,我会将其规范化为WorkHistory表,该表与Employee是一对多,与Semester是多对多的。