最近在做一个招聘平台的项目,但是想了两三天没想到如何设计表比较好。
1、工种:职位、简历的分类
2、职位:公司发布的职位招聘信息
3、简历:个人发布的简历信息
1.工种是未知的
2.职位、简历的信息项都和“工种”挂钩,在填写职位和简历前,需要先选择工种,然后渲染要填写的条目
3.职位、简历的列表信息、筛选条件、详情,和第二点一样都和工种有关
4.同一个选项的可选值也和工种有关,比如“工作地点”,如果工种是外籍司机,那么工作地点是国家(中国、菲律宾...),如果是本地司机,其可选值为本地的地区(东区、西区、湾仔区) 。。。
5.选项类型也各种各样:文本、下拉、单选、多选、级联。。。
主要是不知道如何设计表,方便筛选和动态的表单,以及信息展示。。求帮助!
1
Ediacaran 2018-12-14 15:39:58 +08:00 via Android
考虑 nosql?
|
3
neoblackcap 2018-12-14 15:49:55 +08:00 1
这个需要跟数据库是否动态完全没有关系,既然能列举这么多,为何不能将所有项枚举了?
需要的只不过是前端如何展示罢,后端数据库没有那么复杂,找下产品经理,一起给业务建模,建表就水到渠成了 |
4
zinplus 2018-12-14 15:50:40 +08:00
一楼说的对,可以考虑一下 redis。
nosql 不复杂,半天就看完了。 用 hash 存,很方便。 |
5
liprais 2018-12-14 15:51:05 +08:00
eav 模型了解一下
|
6
xpresslink 2018-12-14 15:52:50 +08:00
用 mongodb 啊,字段不用对齐。
非要 sql 的,要动态只能设计成表设计成 id,key,value 三个列这种。把对象的属性(列)都变成行,这样就可以动态了。 但是这么做行数变多数量级性能会有一定影响。 |
7
lihongjie0209 2018-12-14 15:54:43 +08:00
感觉你需要的是一个表单模版, 你可以有一个单独的表存放这个模版:
比如: 工种 - 可选项 1 - 可选项类型 - 可选项值 - 可选项 2 - 可选项类型 - 可选项值 - 可选项 3 - 可选项类型 - 可选项值 这个表单由系统管理员维护, 当用户选择相应的工种的时候把模版取出来渲染就好了 |
8
lihongjie0209 2018-12-14 15:57:31 +08:00
为什么有人一看到动态就想到了 NoSQL, 没有 NoSQL 之前的软件都没办法实现这个功能了吗?
这是一个建模问题, 不是技术选型问题. 模型建立好了, 至于用什么类型的数据库都没问题. 简单的点可以直接用文本储存配置文件来配置工种 |
9
swulling 2018-12-14 16:00:16 +08:00 via iPhone
你这个不是建一个工种表就完了么…
这个是很传统的 SQL 场景啊,没必要 NOSQL |
10
binux 2018-12-14 16:00:39 +08:00 via Android
直接一个 blob 存模板就完了,你爱用什么格式用什么格式。
所有不需要索引,查询筛选的内容不需要设计表。 |
11
wowo243 2018-12-14 16:03:24 +08:00
建三个表然后联查?
|
12
blodside 2018-12-14 16:14:08 +08:00
写成 rdf 数据,用图数据库存,然后用 sparql 查。
|
13
Rzon OP @binux @lihongjie0209 感谢回复。不过选项的值可以作为筛选简历和职位的条件,存模板貌似行不通的感觉。
而且选项应该可以让客户去新增,比如新加一个选项的可选值。我想做得比较“灵活”一些。 |
14
lihongjie0209 2018-12-14 16:26:30 +08:00
@Rzon 用户增加选项的时候更新一下模版不就可以了
|
15
DavidNineRoc 2018-12-14 16:56:32 +08:00
工种表
id name 1 IT 工种表表单表 id name type helpe option is_filter 1 name text 职业名字 true 2 age number 年龄 false 3 sex select 性别 ["1":"男", "2":"女"] false 简历表 id 简历明细 id work_id input_name input_value 1 1 name david 2 1 age 22 3 1 sex 1 关联表,把两张表关联好 **** 1.工种是未知的: * 直接增加工种表记录 2.职位、简历的信息项都和“工种”挂钩,在填写职位和简历前,需要先选择工种,然后渲染要填写的条目 * 通过工种表单表直接查询所有字段,然后渲染表单 3.职位、简历的列表信息、筛选条件、详情,和第二点一样都和工种有关 * 通过 is_filter 控制是否可筛选,然后渲染条件,查询的时候得到工种 id,然后查简历表明细表的字段匹配, 4.同一个选项的可选值也和工种有关,比如“工作地点”,如果工种是外籍司机,那么工作地点是国家(中国、菲律宾...),如果是本地司机,其可选值为本地的地区(东区、西区、湾仔区) 。。。 * 通过 option 字段预留 5.选项类型也各种各样:文本、下拉、单选、多选、级联。。。 * 通过 type 字段设置 |
16
Rzon OP @DavidNineRoc Thx,后续我再仔细桌面您的解答,非常感谢!
|
17
ren2881971 2018-12-14 17:02:55 +08:00
这不就是电子表单么。。。 每个工种下的表单信息都不一样 ,保存的信息也都不一样。
|
18
liaoguiming 2018-12-14 17:13:58 +08:00
如果要用 MYSQL 建表的话 思路和电商里的商品属性类似
A 工种表 B 类目总表 C 类目副表(不同的职业,简历对应的具体填写类目) 名称,填写方式(多选,单选,下拉,输入框等等)都可以维护 D A 和 B 关系维护表(哪个工种对应了那些类目) 仅供参考 |
19
ihavecat 2018-12-14 17:23:46 +08:00
多表 加关系表
|
20
loveCoding 2018-12-14 17:25:38 +08:00
建一个模板表吧 , 没那么复杂
|
21
fortunezhang 2018-12-14 17:26:28 +08:00
不确定的或者会变化的,就新建一个表。然后主表存 id
|