有一个用户属性表的需求,不知道该怎么设计

darkwh 2014-04-30 08:41:36
用户属性有很多,三四十个吧。
现在有两种方案,一种是横向的。
id userid 属性1 属性值1 属性2 属性值2 属性3 属性值3
1 2 aa 111 bb 222 cc 333


一种是纵向的。
属性值表
id userid 属性id 属性值
1 2 1 111
1 2 2 222
1 2 3 333

属性表
id 属性名 默认值
1 aa 100
2 bb 10
3 cc 50

现在的需求是能同时显示全部的属性内容,修改其中一至两个属性值,以后还有可能需要增加或删除属性。
朋友推荐使用第二种,说是以后扩展性比较好。可是显示的时候也太麻烦了吧?第一种查询出来一条记录,然后一个一个取出来就行了。。。

...全文
105 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
darkwh 2014-05-01
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
第二种 这个比较常见。
如果一个用户有40个属性的话,那这个表就有40*用户数条记录了啊,会不会太大了? 而且取全部数据的时候要先得到list,再放进map里面,然后才能在前天展示出来,也太麻烦了吧? 能不能给我讲讲第一种的弊端,我看看能不能接受得了?
ACMAIN_CHM 2014-04-30
  • 打赏
  • 举报
回复
第二种 这个比较常见。

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧