• Mysql 设计数据表的原则


    我们在设计数据表的时候,经常会考虑到各种问题,比如:用户都需要什么数据?需要在数据表中保存哪些数据?哪些数据是经常访问的数据?如何提升检索效率?

    如何保证数据表中数据的正确性,当插入、删除、更新的时候该进行怎样的约束检查?

    如何降低数据表的数据冗余度,保证数据表不会因为用户量的增长而迅速扩张?

    如何让负责数据库维护的人员更方便地使用数据库?

    除此以外,我们使用数据库的应用场景也各不相同,可以说针对不同的情况,设计出来的数据表可能千差万别。那么有没有一种设计原则可以让我们来借鉴呢?这里我整理了一个“三少一多”原则:

    1.数据表的个数越少越好

    RDBMS 的核心在于对实体和联系的定义,也就是 E-R 图(Entity Relationship Diagram),数据表越少,证明实体和联系设计得越简洁,既方便理解又方便操作。

    2.数据表中的字段个数越少越好

    字段个数越多,数据冗余的可能性越大。设置字段个数少的前提是各个字段相互独立,而不是某个字段的取值可以由其他字段计算出来。当然字段个数少是相对的,我们通常会在数据冗余和检索效率中进行平衡。

    3.数据表中联合主键的字段个数越少越好

    设置主键是为了确定唯一性,当一个字段无法确定唯一性的时候,就需要采用联合主键的方式(也就是用多个字段来定义一个主键)。联合主键中的字段越多,占用的索引空间越大,不仅会加大理解难度,还会增加运行时间和索引空间,因此联合主键的字段个数越少越好。

    4.使用主键和外键越多越好

    数据库的设计实际上就是定义各种表,以及各种字段之间的关系。这些关系越多,证明这些实体之间的冗余度越低,利用度越高。这样做的好处在于不仅保证了数据表之间的独立性,还能提升相互之间的关联使用率。

    你应该能看出来“三少一多”原则的核心就是简单可复用。简单指的是用更少的表、更少的字段、更少的联合主键字段来完成数据表的设计。可复用则是通过主键、外键的使用来增强数据表之间的复用率。因为一个主键可以理解是一张表的代表。键设计得越多,证明它们之间的利用率越高。

  • 相关阅读:
    【视觉基础篇】16 # 如何使用噪声生成复杂的纹理?
    基于Windows Ubuntu子系统安装 TDengine
    Zepplin 安装配置
    Soft:Eric软件界面的简介、案例应用之详细攻略
    Docker Swarm + Harbor + Portainer 打造高可用,高伸缩,集群自动化部署,更新。
    武汉新时标文化传媒有限公司视频引流推广
    SpringBoot的JSON工具类(java),用于前后端分离
    14:00面试,14:06就出来了,问的问题有点变态。。。
    Linux学习笔记8 - 文件IO编程(二)
    解锁前端Vue3宝藏级资料 第四章 VUE常用 UI 库 2 ( ailwind 后台框架)
  • 原文地址:https://blog.csdn.net/fd2025/article/details/125477247