我正在寻找关于如何设置我正在创建的数据库的一些指导。我认为提出问题的最佳方式是描述具体情况:
我有一个数据库,可以保存学校员工的信息。
我有一个名为“Semesters”的表,其中包含有关特定学期的信息(例如“秋季/春季/夏季”,年份等)。
我有另一个名为“Employees”的表,其中包含有关特定学生 - 员工的信息(例如name,jobTitle,startDate,endDate)。我还想提一下“学期”表,其中说明雇用了哪个学期的学生。因此,例如,“员工”表中的一列会告诉我这位特定员工在“2010年秋季,2011年春季和2011年秋季”学期期间工作。
问题是我不知道如何在一个字段中引用几条记录。
我确信这是一个相当常见的情况,我只是不确定如何去做。 引用MS Access或SqlServer的答案非常好。
感谢。
答案 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是多对多的。