V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
bologer
V2EX  ›  MySQL

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

  •  
  •   bologer · 2016-06-21 22:01:05 +08:00 · 5011 次点击
    这是一个创建于 3075 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以下为其中一组 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":"公司二维码"
    
    12 条回复    2016-06-22 14:29:32 +08:00
    mko0okmko0
        1
    mko0okmko0  
       2016-06-21 22:10:22 +08:00
    id 可能重复吗?
    不重复就是主键了.
    重复就另外弄一个流水号主键.
    但你有 3 栏位有子阵列或是子元素.
    干脆整串丢入 JSON 类型栏位.主键另外弄.
    你了解我再说什么吗?
    bologer
        2
    bologer  
    OP
       2016-06-21 22:11:44 +08:00
    @mko0okmko0 呃... 不好意思 有点迷糊 就是表结构应该如何建立 刚接触数据库 所以表结构与字段类型都还不清楚 请您赐教
    mko0okmko0
        3
    mko0okmko0  
       2016-06-21 23:30:45 +08:00   ❤️ 1
    你这样我没办法阿.
    你没上过资料库入门或是资料库正规划这两个课程吗?
    只能请你把 mysql 5.5 文档 /postgresql 9.5 文档 /mssql 2016 文档
    这三份文档从头到尾看至少一次之后
    才能继续了

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

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

    只有一个建议:不要用不通用的栏位去建模.这样移植或是换资料库会想死
    BOYPT
        5
    BOYPT  
       2016-06-22 00:25:47 +08:00
    用 mysql 5.7 按 json 类型直接塞入。 postgre 也直接支持,或者 mongodb 原生支持(不过 mongo 就没有表的概念了嗯
    bologer
        6
    bologer  
    OP
       2016-06-22 08:23:25 +08:00
    @mko0okmko0 我的天哪 原来这么复杂吗 T_T
    bologer
        7
    bologer  
    OP
       2016-06-22 08:23:59 +08:00
    @BOYPT Mysql5.7 可以按照 json 类型直接塞入吗? 他可以创建 json 的结构是吗?
    bologer
        8
    bologer  
    OP
       2016-06-22 08:25:29 +08:00
    @mko0okmko0 大神 你这个工具太牛叉了啊 谢谢啊
    jeffersonpig
        9
    jeffersonpig  
       2016-06-22 08:34:15 +08:00
    为什么要生成表结构?直接用 mongodb 或者 couchbase 就可以存 json 文件格式的数据了啊
    bologer
        10
    bologer  
    OP
       2016-06-22 09:02:29 +08:00
    @jeffersonpig 这个... 是因为我对数据库认识不够 而且机器环境装的是 WAMP 一键环境 所以只有 MySQL o(╯□╰)o
    BOYPT
        11
    BOYPT  
       2016-06-22 09:06:58 +08:00   ❤️ 1
    @bologer 5.7 支持了 json 类型,也就是说一个字段存储了这个 json ,就可以直接完成检索了,不需要把 json 的结构重建。
    (不过我觉得特别难用,相对 mongodb 而言)
    domty
        12
    domty  
       2016-06-22 14:29:32 +08:00   ❤️ 1
    说句废话,看需求。
    比如你 json 里的 team 和 tag ,如果不需要根据 team 和 tag 进行检索,存 json 就好。
    需要按 tag 检索,就要考虑创建 team 表和 tag 表,以及关联关系表。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2797 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:32 · PVG 19:32 · LAX 03:32 · JFK 06:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.