8 我是创建数据库的新手...我需要为我的招聘Web应用程序创建数据库。 我的应用程序需要安排申请人的筛选,考试和面试,并将结果保存在数据库中。 我的数据库架构如下: 我的问题是我applicant_id在其他表格中包括...,例如考试,面试,考试类型。 我违反任何规范化规则吗?如果这样做,您建议如何改进我的设计? normalization database-design — 新手 source 1 我认为没有任何特定业务领域/企业知识的人不能只看您的数据模型并为您提供有关键,约束,数据类型等的切合实际的建议。不过,我可以告诉您,任何可空列都会违反对1NF的严格解释。 — 某天,2012年
10 除了规范化之外,没有什么要考虑的事情。例如,您有一个AGE列。您每年要更新吗?您怎么知道什么时候做?多年的经验也是如此。 有些栏可能会为每个申请人提供多个值:学校,课程等。 您可能还需要检查这些关系的可选项。现在,申请人必须参加相关的考试,但是考试不必与申请人相关联。我猜这是现实生活中工作方式的倒退。您与其他所有关系都存在类似的问题。 创建关系后读出它们之间的关系会很有帮助。 — 凯伦·洛佩兹(Karen Lopez) source 1 除了表格和列之外,没有什么要考虑的事情了:)我国拥有数据保护法(数据保留期限,人有权访问其数据等)和年龄歧视法,这些法律应使雇主至少要三思而行在面试阶段记录某人的年龄之前。 — 一天,2012年
5 我想您实际上需要在申请人表和其他主表(主要是筛选和考试)之间建立多对多关系。如果您要进行筛查,则应包含一个以上的申请人(其他表格的情况与此类似)。 我会见到一个候选人的面试,但是会看到一个以上候选人的考试或筛选。在这种情况下,您将需要一个关联表,该表将链接筛选与申请人。 有关多对多关系,请参见此处。 — 玛丽安 source