V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wanzfind
V2EX  ›  问与答

关于数据库设计方面的资料与经验

  •  
  •   wanzfind · 2019-03-12 13:51:59 +08:00 via Android · 1850 次点击
    这是一个创建于 2110 天前的主题,其中的信息可能已经有所发展或是发生改变。

    👀因为没有什么项目经验,只是做过简单的信息管理系统,现在有个想法,想尝试写个漫画或者小说网站,没有看到太多这方面可以借鉴的项目,所以想问问前辈们有什么资料推荐或者经验吗? (阿里规范那个数据库部分的看过了) 最好是带有场景说明的那种(此前学习过程中,学习群里有人说,建表时可以不写外键等,大量图片放在服务器文件夹中,数据库里放地址一类的,这些自己想不到,也不知道是对是错,什么情况适用) 🙏拜谢 (题外话,下决心搞后端了,有考研的必要吗,本科是某末流 211)

    8 条回复    2019-03-13 23:43:11 +08:00
    youyi823
        1
    youyi823  
       2019-03-12 14:08:47 +08:00
    建表不加外键,关联字段还是得有,只不过不用加外键约束;一对多、多对多的关系可以用个中间表(B 表),A 表和 C 表之间的关联写在 B 表里[比如群和群成员,多对多关系,A 表放群信息,C 表放群成员信息,B 表存放群和群成员之间的关联关系];
    图片存服务器,数据库相关字段存放图片的路径+文件名,取图片的时候,根据查数据库得到的路径和文件名去对应位置取;
    MeteorCat
        2
    MeteorCat  
       2019-03-12 14:28:06 +08:00 via Android
    我感觉数据库要去看实际上上线的的高并发项目,闭门造车对数据库设计很局限,主要你缺少个引路人
    wanzfind
        3
    wanzfind  
    OP
       2019-03-12 14:28:48 +08:00 via Android
    @youyi823 这些我知道了,主要是想问一下有什么书或资料讲解如何建表,以及这样建的考量的。 题目是排版没排好,太乱了不好意思
    wanzfind
        4
    wanzfind  
    OP
       2019-03-12 14:29:48 +08:00 via Android
    @youyi823 比如说,我之前搜资料,看到有人问,后期要引入 qq 等第三方登陆,表应该如何改动。基于这样的拓展,一开始建表应该如何考虑
    wanzfind
        5
    wanzfind  
    OP
       2019-03-12 14:30:50 +08:00 via Android
    @MeteorCat √ 高并发不说,我现在是连普通的项目如何设计数据库很困惑,自己建的话,完全不知道有什么问题需要改进,或者有什么隐患一类的
    coolair
        6
    coolair  
       2019-03-12 15:40:08 +08:00
    @youyi823 这样的话,那不是很多关联表了
    nfroot
        7
    nfroot  
       2019-03-12 16:45:28 +08:00
    简单,你想知道这类数据库如何建表,你去源码下载网站找几个程序拆开来一看不就知道了么。。。
    wanzfind
        8
    wanzfind  
    OP
       2019-03-13 23:43:11 +08:00 via Android
    @nfroot 现在一部分是靠这样学习的,但问题是这不太系统,而且质量高的设计很少,也不清楚具体别人为什么这样设计 出于什么考虑
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5385 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:54 · PVG 15:54 · LAX 23:54 · JFK 02:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.