gpt4 book ai didi

php - 存储求职者信息的数据库设计

转载 作者:行者123 更新时间:2023-11-29 00:13:48 26 4
gpt4 key购买 nike

我想在 mysql 表中存储有关求职者的以下信息。

个人信息
1)姓名
2)种姓
3)出生日期
4)年收入(可选)
5)收入来源(选填)
6)识别标志

家庭信息
1)父名
2)母亲姓名
3)父亲的经济来源
4)母亲的收入来源

联系方式
1)地址
2)密码
3)区
4)状态
5)手机号码
6)拥有手机的人的姓名(如果手机属于其他人)
7)与拥有手机的人的关系(如果手机属于其他人)

学历
1) 指标 - 科目、总分、获得的分数、及格年份、董事会名称、大学名称。
2) 中级(可选)- 科目、总分、获得的分数、及格年份、董事会名称、大学名称。
3) 毕业(可选)- 科目、总分、获得的分数、及格年份、董事会名称、大学名称。

是/否问题大约有 10 个是/否类型的问题。

收到特定帖子的用户申请后。用户申请将经过以下筛选过程。

1)已提交纸质申请的候选名单。
2)根据申请人提交的信息(学历、年收入等)筛选候选人,并入围第一名候选人。
3) 一些其他的筛选过程,以筛选出最终功绩名单的候选人。

因此我需要存储以下有关申请状态的信息:

1)是否收到硬拷贝,如果收到,我还需要存储收到硬拷贝的日期
2)是否入围初等名单。如果入围,那么我还需要将排名存储在第一名名单中,如果没有入围,那么我需要存储特定申请被拒绝的原因。3)是否入围最终成绩单如果入围,那么我还需要将候选人的排名存储在最终成绩单中,如果没有入围,那么我需要存储特定申请被拒绝的原因。

一个用户只有一组个人、联系方式、家庭、教育信息。我在单表中看到的问题是可选字段。你能给我推荐一个更好的架构吗。

最佳答案

不,你不应该。单表不合适的原因有很多。

一些要问的问题:

一位用户是否有可能拥有多个地址或电话?可以不止一个人属于同一所大学吗?是否有可能在您数据库中的所有人之间多次使用一个主题?

一般来说,如果您有像您列出的部分,它们很可能是单独表格的良好候选者。如果您有任何可重用的数据,则应将其分成多个表。

请考虑查看一些规范化教程。

同时,这里有一些好的数据库设计的基本规则:

Rule 1: Eliminate Repeating Groups. Make a separate table for each set of related attributes, and give each table a primary key.

Rule 2: Eliminate Redundant Data, if an attribute depends on only part of a multi-valued key, remove it to a separate table.

Rule 3: Eliminate columns not dependent on key. If attributes do not contribute to a description of the key, remove them to a separate table.

查看此 URL 了解更多信息:http://www.dbnormalization.com/

关于php - 存储求职者信息的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23685255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com