V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
abychan
V2EX  ›  程序员

有没有系统学习数据库表设计的途径

  •  
  •   abychan · 2020-04-07 11:18:55 +08:00 · 4195 次点击
    这是一个创建于 1689 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉讲数据库的书都在讲原理什么的,有没有什么途径可以系统学习数据库表的设计,思路,例子之类的,RDS 或者 NoSQL 都行

    18 条回复    2020-04-08 20:02:42 +08:00
    star7th
        1
    star7th  
       2020-04-07 11:27:16 +08:00   ❤️ 1
    我觉得你可能是想了解实践中的应用。如果是这样的话,倒不如直接看项目的数据库设计。看几个例子之后你就大概懂一些常规应用了。我指出几个方向:
    了解论坛类应用的数据库设计
    了解电商类的应用的数据库设计
    了解 cmd 类应用的数据库设计
    看完这几个典型应用,就大概懂了一些常规套路,就能举一反三了。
    star7th
        2
    star7th  
       2020-04-07 11:28:23 +08:00
    上面写错,是了解 cms 类应用的数据库设计 。还有博客类也可以了解。网络搜索下相关就好。
    zhoudaiyu
        3
    zhoudaiyu  
       2020-04-07 11:34:12 +08:00 via iPhone
    SQL 反模式
    Vegetable
        4
    Vegetable  
       2020-04-07 11:37:59 +08:00   ❤️ 1
    其实和面向对象编程的核心思想是比较一致的.
    RedisMasterNode
        5
    RedisMasterNode  
       2020-04-07 11:39:42 +08:00 via Android
    想深入了解的话,github 上 pingcap 的一个 awesome database 的 repo (名字大概有点偏差)
    raymanr
        6
    raymanr  
       2020-04-07 11:41:58 +08:00
    自己做一个实现呗

    自己独立做两三次多少也会有点了解意思了
    CFO
        7
    CFO  
       2020-04-07 11:55:39 +08:00
    @RedisMasterNode 感谢 找了下是 awesome-database-learning
    Jooooooooo
        8
    Jooooooooo  
       2020-04-07 12:21:49 +08:00
    没有

    去公司实践吧
    zzzzzzggggggg
        9
    zzzzzzggggggg  
       2020-04-07 12:38:07 +08:00
    这种应该是找个实际的场景才能知道表的设计取舍等等,至于系统学习,还是先熟练了之后再系统吧
    40EaE5uJO3Xt1VVa
        10
    40EaE5uJO3Xt1VVa  
       2020-04-07 12:51:48 +08:00
    设计表就很繁琐,总有想不到的点
    wg1991
        11
    wg1991  
       2020-04-07 14:44:48 +08:00
    楼主可以去看一下 Bill Inmon 或 Ralph Kimball 的数仓理论的书籍。
    Ralph Kimball 的那本《数据仓库工具箱》中介绍了不少数据模型,可以看看。
    allAboutDbmss
        12
    allAboutDbmss  
       2020-04-07 14:59:22 +08:00
    表的设计也基于数据库里面的纯理论 - 范式 Normal From

    但是每一个数据库内部的实现不同,即对表格的存储和理解不同,因此我们在不同的关系数据库中使用相同的 create table ... 可能存储位置和性能会有很大差别

    我觉得可能这个东西是经验占主导
    hbl
        13
    hbl  
       2020-04-07 17:13:39 +08:00 via iPhone
    其实就是面向对象
    数据库等于存对象的数组
    hhgfy
        14
    hhgfy  
       2020-04-07 18:00:48 +08:00
    可以先了解一下数据库范式,书的话有《 SQL 反模式》
    cszdl
        15
    cszdl  
       2020-04-07 18:16:32 +08:00
    《数据模型资源手册》
    whypool
        16
    whypool  
       2020-04-07 18:21:00 +08:00
    几个开源的软件把数据库研究一下就行
    xuanbg
        17
    xuanbg  
       2020-04-07 18:24:30 +08:00
    表设计就是数据建模,数据建模的目的是用数据模型来描述业务和业务管理需求。所以,你要先了解业务,了解业务管理需求,才能设计出合理的表结构。
    qiuyesuifeng
        18
    qiuyesuifeng  
       2020-04-08 20:02:42 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1088 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:41 · PVG 06:41 · LAX 14:41 · JFK 17:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.