我是创建数据库的新手.我需要为我的招聘网页应用程序创建它。
我的应用程序需要安排申请者的筛选、考试和面试,并将结果保存在数据库中。
我的数据库模式如下:

我的问题是我把applicant_id放在其他桌子上.例如考试,面试,考试类型。
我是否违反了任何正常化规则?如果我这么做了,你有什么建议来改进我的设计?
发布于 2012-01-16 20:09:49
除了正常化之外,几乎没有什么事情需要考虑。例如,您有一个年龄列。你打算每年更新吗?你怎么知道什么时候该这么做?多年的经验也是如此。
有些列可能对每个申请者都有多个值:学校、课程等。
您也可能希望检查您在这些关系上的选择。现在,申请人必须有相关的考试,但考试不一定要有与之相关的申请人。我猜这和现实生活中的事情是背道而驰的。你和其他人的关系也有类似的问题。
如果你在建立人际关系之后把它们读出来会有帮助。
发布于 2011-06-02 13:58:00
我想你实际上需要你的申请人表和其他主要表格(主要是筛选和考试)之间的许多关系。如果要进行筛选,则包含多个申请者(以及其他表的类似情况)。
我会看到一个单一候选人的面试,但一个考试或筛选期超过一个候选人。在这种情况下,您将需要一个关系表,它将链接到申请者的筛选。
关于多到多的关系,请参阅这里。
https://dba.stackexchange.com/questions/3126
复制相似问题