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
twm
V2EX  ›  MySQL

一个MySql设计疑问

  •  
  •   twm · 2013-01-16 14:17:25 +08:00 · 2486 次点击
    这是一个创建于 4089 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在设计一个群组的数据库结构,每个群组有主题、评论、图片...
    我的问题在图片这里,要求每个主题或评论可以上传多张图片,可以根据主题读取图片,也可以根据图片追踪到主题或者评论.

    我的方案如下:

    1:

    +photos
    -id
    -middle
    -original
    -thumbnail

    +topics
    -id
    -title
    -...

    +comments
    -id
    -topic_id
    -body
    -...

    +topic_photos
    -topic_id
    -photo_id

    +comment_photos
    -topic_id
    -photo_id

    最后2个表是主题和图像关联表,其实我想合并成一个。

    +topic_photos
    -topic_id
    -comment_id
    -photo_id

    或者

    +photos
    -id
    -topic_id
    -photo_id
    -middle
    -original
    -thumbnail

    不知道哪个更好?或者还有其他方案?谢谢。
    1 条回复    1970-01-01 08:00:00 +08:00
    Radeon
        1
    Radeon  
       2013-01-16 15:47:48 +08:00   ❤️ 1
    你的项目只是在初级阶段而已,把photoes(注意复数形式)表拆成两个意义不大,不如就用方案2。你现阶段的首要任务是初版上线,不是去优化数据库。目前阶段,情愿设计地过于简单而不是过于复杂,因为你迟早要根据需求的细节重构

    以后随着你的需求变化,自然要拆表、反范式化、用文件系统储存BLOB等等
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1013 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:21 · PVG 03:21 · LAX 12:21 · JFK 15:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.