设计

所以我需要为招聘场景设计数据库。有7张表格,包括:
有人告诉我,我的设计有一个循环参考。我找了一些设计的例子,但没有找到适合我的例子。所有的表都是必需的,不能移除。我想不出别的主意了。
如何去掉循环引用?谢谢。
发布于 2016-07-31 13:14:39
这里没有循环,唯一明显的问题可能是没有强制执行备用键,在图表中这些键通常被标记为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},因此它可能会失去同步,从而产生矛盾。
发布于 2016-07-30 05:44:29
正如您在这里介绍的,您的设计没有任何循环引用。
所以你没什么可修的了。
(注意:我忽略了“职务名称ID”这件事,因为相关的表没有出现在图表中。但不管怎么说,这张桌子似乎不会依赖于任何一个。)
发布于 2016-07-30 13:37:08
你在担心什么?技能表在你的模型之上,它是不依赖的。
https://stackoverflow.com/questions/38670608
复制相似问题