美好的一天!我是否违反了我的数据库设计中的任何NF规则?
我是创建数据库的新手......我需要为我的招聘网站应用程序创建一个数据库。
我的数据库架构如下:
注:我包含在其他表applicant_id ...例如考试,面试,考试类型。
我违反任何规范化规则吗?如果我这样做,你有什么建议来改进我的设计?谢谢
美好的一天!我是否违反了我的数据库设计中的任何NF规则?
我是创建数据库的新手......我需要为我的招聘网站应用程序创建一个数据库。
我的数据库架构如下:
注:我包含在其他表applicant_id ...例如考试,面试,考试类型。
我违反任何规范化规则吗?如果我这样做,你有什么建议来改进我的设计?谢谢
整体看起来不错。需要考虑的几点:
date
为列名result
列VARCHAR(4)。如果他们使用相同的值,他们是否可以正常化?编辑: 鉴于结果是通过或失败,只需声明该字段布尔值并命名为“通过”。快得多。
我看过更长的电子邮件。 – HLGEM 2011-06-02 13:56:35
我可以看到一个潜在问题的一个领域是面试官被整合到面试中。此外,我想指出申请人的来源渠道,可能会导致发生泡沫(取决于您将要在那里存储的内容)。
好点。面试官应该是一个独立的实体。 – Till 2011-06-02 13:52:03
乍一看,您似乎没有违反任何规范化规则。但是,从架构设计中不清楚,applicant_id是引用申请人表格。确保在实际实施scehma时将其声明为引用申请表的外键。
不对数据做出任何假设,但筛选的结果可以存储在4个字符中吗?
筛选结果==合格或不合格。是的,我已经宣布它是一个外键。谢谢。 – newbie 2011-06-02 13:52:58
年龄和性别通常是非法的问题,在面试中要问,所以你可能不想记录这样的事情。你可能需要一个单独的面试官表。您还可能需要一个存储资格的单独表格,以便您可以在下一次出现问题时搜索已接受C#知识访谈的人员。我可能会做一些类似于资格表的工作,即查询您想要添加到申请人的资格表中。然后,您需要申请人资格表中的资格编号,申请人编号,年数,技能等级。
我注意到结果是一个varchar 4字段,我假设你打算把通过/失败。我会考虑有一个数字分数。那个得到80%问题的人通过了,但那些得到100%正确答案的人可能是更好的候选人。事实上,面试时我可能会面试问题和结果表。然后,您可以记录分数以及有关每个问题的任何评论,以便以后评估很多考生。当我们访问数百人时(我们当时有超过一百个开口,这是个人电脑的前景),我们在纸电子表格中手动完成了这项工作,并发现它能够比较问题的答案。很难记得你采访过的200人,以及谁说了些什么。当你有新的开放时间时,可能会有所帮助,以找到那些在面试时可能没有找到工作的最适合新工作的问题的人(例如5个优秀的候选人,1个工作岗位)。
我可能还会考虑一个字段来标记候选人由于某种原因是否永远不能雇用。比如他犯了重罪,或者他在简历上撒谎,而你在他面试时抓到了他,或者他完全无能为力。这可以很容易地防止这个人被重复考虑。
我认为你的数据库结构对未来的使用有很多限制。例如,你甚至可以有一个考试的描述,因为这个稳定的商店的分数和考试日期。这可能是因为这种信息已经存储在另一个系统中,你只能设计结果容器。但即使如此,考试,屏幕和面试只是一种测试形式,为什么有关信息应该存储在一张表中,并通过某种类型的ID进行区分。如果您决定这种方法,你必须创建另一个表来存储有关结果
的信息所以该定义应该看起来更像是这样的:
TEST
TEST_ID
TEST_TYPE_ID ref TEST_TYPE - Table that define the test type
TEST_REQUIRED_SCORE - The value of the score that need to be reach to pass the exam.
... - Many others properties of TEST like duration, expire date, active inactive etc.
APPLICANT_RESULTS
APPLICANT_ID ref APPLICANT
TEST_ID = ref TEST
TESTS_DATE - The day of exam
TEST_START - The time when the test has started
TEST_FINISH - The time when the test has ended
APPLICANT_RESULT - The applicant result of taken test.
这种结构更灵活,给简单的方法来指定表测试的要求,这样
TEST_REQUIREMENTS - Table that specify the test hierarchy and limitation
TEST_ID ref TEST
REQUIRED_TEST ref TEST
ORDER - the order of exams
另一种情况是,在未来的雇主将要切换到电子考试系统。在这种情况下,只有想你会需要的是什么:
如果申请人真的是你的执政实体,那看起来不错。 – Till 2011-06-02 13:43:36