根据下组 json 数据该如何建立表结构?

2016-06-21 22:01:05 +08:00
 bologer

以下为其中一组 json 数据
另外:请问其中 id 字段是数据表中自带的还是也要建立?

"id":"0",
"company":"KIND PLANET",
"keywords":"负责运维公司的卡通品牌",
"progress":"暂无",
"money":"暂无",
"team":[{"name":"暂无"}],
"logo":"http://xxx.com/135500459.jpg",
"tag":[{"taginfo":"卡通"},{"taginfo":"社交"},{"taginfo":"陌生人"}], 
"teamintro":"\u6682\u65e0",
"qrurl":"http://xxx/xxx.jpg",
"qrname":"公司二维码"
4904 次点击
所在节点    MySQL
12 条回复
mko0okmko0
2016-06-21 22:10:22 +08:00
id 可能重复吗?
不重复就是主键了.
重复就另外弄一个流水号主键.
但你有 3 栏位有子阵列或是子元素.
干脆整串丢入 JSON 类型栏位.主键另外弄.
你了解我再说什么吗?
bologer
2016-06-21 22:11:44 +08:00
@mko0okmko0 呃... 不好意思 有点迷糊 就是表结构应该如何建立 刚接触数据库 所以表结构与字段类型都还不清楚 请您赐教
mko0okmko0
2016-06-21 23:30:45 +08:00
你这样我没办法阿.
你没上过资料库入门或是资料库正规划这两个课程吗?
只能请你把 mysql 5.5 文档 /postgresql 9.5 文档 /mssql 2016 文档
这三份文档从头到尾看至少一次之后
才能继续了

另外推荐你一个超万用有中文介面的资料库线上建模网页:
http://ondras.zarovi.cz/sql/demo/

然后他可以直接线上存档.以下是我自己用的其中一个.你随意参考.尤其是拉线.
http://ondras.zarovi.cz/sql/demo/?keyword=demo_zh
mko0okmko0
2016-06-21 23:32:50 +08:00
资料库栏位类型每种资料库都不一定都一样.
这个网站上的栏位类型是最通用的.
基本上用这个学是最保险的.
但主流资料库的手册一定要都读过.
里面有详细的栏位类型.

只有一个建议:不要用不通用的栏位去建模.这样移植或是换资料库会想死
BOYPT
2016-06-22 00:25:47 +08:00
用 mysql 5.7 按 json 类型直接塞入。 postgre 也直接支持,或者 mongodb 原生支持(不过 mongo 就没有表的概念了嗯
bologer
2016-06-22 08:23:25 +08:00
@mko0okmko0 我的天哪 原来这么复杂吗 T_T
bologer
2016-06-22 08:23:59 +08:00
@BOYPT Mysql5.7 可以按照 json 类型直接塞入吗? 他可以创建 json 的结构是吗?
bologer
2016-06-22 08:25:29 +08:00
@mko0okmko0 大神 你这个工具太牛叉了啊 谢谢啊
jeffersonpig
2016-06-22 08:34:15 +08:00
为什么要生成表结构?直接用 mongodb 或者 couchbase 就可以存 json 文件格式的数据了啊
bologer
2016-06-22 09:02:29 +08:00
@jeffersonpig 这个... 是因为我对数据库认识不够 而且机器环境装的是 WAMP 一键环境 所以只有 MySQL o(╯□╰)o
BOYPT
2016-06-22 09:06:58 +08:00
@bologer 5.7 支持了 json 类型,也就是说一个字段存储了这个 json ,就可以直接完成检索了,不需要把 json 的结构重建。
(不过我觉得特别难用,相对 mongodb 而言)
domty
2016-06-22 14:29:32 +08:00
说句废话,看需求。
比如你 json 里的 team 和 tag ,如果不需要根据 team 和 tag 进行检索,存 json 就好。
需要按 tag 检索,就要考虑创建 team 表和 tag 表,以及关联关系表。

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

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

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

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

© 2021 V2EX