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

请教分类信息字段设计

请教分类信息字段设计

PHP
慕尼黑5688855 2019-03-12 09:09:19
请教一个分类信息的数据库怎么设计比较好? 自己想把信息主要内容(title,content)都写在一张info表里,不知道怎么对特殊属性怎么设计表? category 表 - 房产 工作分类 info 表 房产工作汽车等信息 id categoryId title content 分类信息包含房产,工作等等,但是每个不同类型的特殊属性又不一样,房产有面积,小区,工作有职位,福利等等但是 meta 表不知道怎么设计?求解或者怎么好 A 方案 id metaname metavalue infoId 面积。 120 小区小区。 小区名称 职位。 销售 或者 B 方案 这个感觉字段会很多,因为不止房产工作,还有汽车等等 id 面积 小区 职位 infoId 120 名称 销售 ================= 更新自己设计的表,后面有人有更好的请指教 +-------------------+ | Tables | +-------------------+ | houses | | informations | | jobs | | category | +-------------------+ informations table +------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | title | varchar(255) | NO | | NULL | | | content | text | YES | | NULL | | | category_id| int(10) unsigned | NO | MUL | NULL | | | field_id | int(10) unsigned | NO | | NULL | | | field_type | varchar(10) | NO | | | | +------------+------------------+------+-----+---------+----------------+ houses table +--------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | layout_shi | tinyint(4) | NO | | NULL | | | layout_ting | tinyint(4) | NO | | NULL | | | layout_wei | tinyint(4) | NO | | NULL | | | area | smallint(6) | NO | | NULL | | +--------------+------------------+------+-----+---------+----------------+ jobs table +-------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | gangwei | varchar(255) | NO | | NULL | | | company | varchar(255) | NO | | NULL | | | address | varchar(255) | NO | | NULL | | | fuli | varchar(255) | YES | | NULL | | +-------------+------------------+------+-----+---------+----------------+ informations 表中的 field_id 为 houses 或者 jobs 的 id,field_type 为 houses 或者 jobs。informations 与 houses、jobs 多态关联 我正在学习 laravel,所以大致就是这样,
查看完整描述

3 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

1.房产-工作表
分类ID 房产信息ID 工作信息ID

2.房产表
房产信息ID 属性1 属性2 ……

3.工作表

工作信息ID 属性1 属性2 ……

查看完整回答
反对 回复 2019-03-18
?
撒科打诨

TA贡献1934条经验 获得超2个赞

不是很明白你的需求。

查看完整回答
反对 回复 2019-03-18
?
HUH函数

TA贡献1836条经验 获得超4个赞

大概知道你的意思了,你自己的设计其实就是想把公用的交给抽象模型,我是不建议在存储层这样去设计的,各个类别的模型属性本身就有很多不一样,冗余的话也不是不可以,但是不利于以后扩展,每个分类单独建表吧,你所想的抽象留在应用层去抽象模型挺好的。都堆在一个表里对扩展和修改太不友好,望对你有帮助。

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

添加回答

举报

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