设计
所以我需要为招聘方案设计数据库。共有7个表格包括:
我被告知我的设计有循环参考。我搜索了一些设计示例,但没有找到任何适合我的情况。所有表都是必需的,无法删除。我无法想出其他想法。
如何摆脱循环引用?谢谢。
答案 0 :(得分:0)
正如您在此处所述,您的设计 没有任何循环引用。
所以你没有什么可以解决的。
(注意:我忽略了" Jobtitle ID"事情,因为相关的表格没有出现在你的图表中。但它看起来似乎并不依赖于任何表格无论如何,这些。)
答案 1 :(得分:0)
你担心什么?在你的模型上面的技能表并且它被取消了。
答案 2 :(得分:0)
此处没有通告,您可能遇到的唯一明显问题是没有强制执行备用键,在图表中这些通常标记为AK
- 使用UNIQUE NOT NULL
来创建它们。
以下是三个表的候选键。
ApplicantSkill {APPLICANT_ID, SKILL_ID, APPLICANT_SKILL_ID}
KEY {APPLICANT_ID, SKILL_ID}
KEY {APPLICANT_SKILL_ID}
PositionSkill {POSITION_ID, SKILL_ID, POSITION_SKILL_ID}
KEY {POSITION_ID, SKILL_ID}
KEY {POSITION_SKILL_ID}
Application {APPLICANT_ID, VACANCY_ID, APPLICATION_ID}
KEY {APPLICANT_ID, VACANCY_ID}
KEY {APPLICATION_ID}
您已经介绍了代理键(附加_ID)并将它们选为主要表格, 但遗漏了其他人(AK) - 极易出错,容易创建重复,冗余 和矛盾。
JOB_TITLE_ID
应该从Application
中移除,看起来像
存在依赖关系{POSITION_ID} --> {JOB_TITLE_ID}
,因此它可能会失去同步并产生矛盾。