记录中有一个字段是个元素个数不一定的数组,这种情况怎么设计表结构啊?

2014-07-15 10:28:53 +08:00
 missdeer
比如这种
http://gist.github.com/5d28cb6cb44f6f7ce6c0

recipients是个数组,里面元素个数不一定,0~n个都有可能。
946 次点击
所在节点    数据库
10 条回复
minbaby
2014-07-15 11:20:46 +08:00
如果数组没有多大可以用 a,b,c 这种格式存,
如果数组比较大,那就纵向扩展,新建一张表,来记录 字段的映射关系,
比如 master_table | id, r_id
slave_table | r_id , value
66beta
2014-07-15 12:19:16 +08:00
如果是mysql的话,类型选text 然后 存json可否?
missdeer
2014-07-15 13:04:02 +08:00
@66beta 存了json查询就不方便了
justfindu
2014-07-15 13:13:36 +08:00
id key value

这样存表, 如果有相关的,再加一个相关id. 可以确保相关ID的key-value唯一性.

跟WP的那个user-mate, article-mate 一样设计- -
justfindu
2014-07-15 13:14:34 +08:00
到时候还可以复用 = =, 查询时候就联表
GordianZ
2014-07-15 13:15:31 +08:00
@justfindu 好好的元数据被你说成数据伴侣了…… meta ≠ mate
justfindu
2014-07-15 13:30:12 +08:00
@GordianZ T-T 别这样 再见
poke707
2014-07-15 14:08:21 +08:00
用nosql如何?
missdeer
2014-07-15 14:13:08 +08:00
@poke707 不行啊,已经选好要用mysql了
abscon
2014-07-16 07:50:12 +08:00
@missdeer 对于Postgresql 来说是小菜一碟,直接支持数组。http://www.postgresql.org/docs/current/static/arrays.html
不过既然你已经选好要用yoursql了,那就没办法啦
╮(╯_╰)╭

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/122678

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX