为了账号安全,请及时绑定邮箱和手机立即绑定

mysql表设计问题

mysql表设计问题

PHP
Qyouu 2019-03-17 14:40:25
上图的职位亮点我们把他当成多选搜索来看。发布一个职位,职位的待遇是多选。我想问一下大家,遇到这种满足多属性的时候怎么建表:1、每个属性设一个字段,用0和1来表示2、把属性id用explode逗号隔开存数据库3、另取一张表,1对多(职位ID:属性ID)来存储, 那种方法便于扩展,或者对SQL速度有好处
查看完整描述

4 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

从关系数据库理论出发的话可以使用第三种方案,职位与职位亮点建立多对多关系,但是如果你不使用数据库来维护关联关系的话,做查询操作的时候就头疼了;

第一种方案好像不太靠谱,加多/减少一个亮点数据表就要加多/减少一列;

如果不使用数据库来维系关联关系的话可以使用第二种方案,少一张中间表;

查看完整回答
反对 回复 2019-03-18
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

第三种好,加属性只要添加记录即可,不用改表结构

查看完整回答
反对 回复 2019-03-18
?
郎朗坤

TA贡献1921条经验 获得超9个赞

推荐第三章方案吧,另外建表,跟现有的职位表是1多关系,查询的时候直接连表查询,也不会有很大的性能和速度劣势。况且还更好维护这个亮点。第一种方案明显是最不科学的方案,数据库读取并不会有太大问题,反而这样清晰的解构更方便后期的维护和操作。

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 404 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信