合并具有公共属性的表

时间:2014-09-17 11:31:00

标签: sql database oop field normalization

我正在设计一个包含可与VACANCIES匹配的JOBSEEKERS的数据库。我正在寻找一种有效且好的方法来存储2之间的共同属性(很多)。例如,JOBSEEKER拥有技能,而VACANCY需要技能;或者JOBSEEKER有工资要求,而VACANCY有工资要约。

现在我正在考虑两种选择:

  1. 将所有属性或每个表存储在自己的表中。

  2. 创建包含公共属性的另一个表。每行代表VACANCY或JOBSEEKER的属性。然后我会将每条记录链接到VACANCY或JOBSEEKER。

  3. 哪种方式应该是正确的方法?其他建议也欢迎。

1 个答案:

答案 0 :(得分:1)

JobSeekerVacancy是两个独立的实体。在大多数情况下,您可以将值存储在具有单独列的单独表中。虽然它们具有重叠属性,但它们具有许多不常见的属性。

使用应用程序代码逻辑(通常在SQL中实现)来匹配两者。

对于类似技能的内容,您实际上需要联结表:JobseekerSkillsVacancySkills来列出每项技能。反过来,这些将引用另一个表Skills以确保两个实体之间的技能相同。