MySQL中的数据库设计规范(一)

82 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第21天,点击查看活动详情

前言

上篇我们学习了MySQL中的数据库优化之索引优化。有兴趣的小伙伴可以阅读(MySQL优化之索引优化(十一))。
下面我们继续学习MySQL中的数据库设计规范。

数据库设计

设计数据表的时候,需要考虑很多问题,比如:

  • 用户需要什么数据,需要在数据表中保存哪些数据。
  • 如何保证数据表中数据的正确性,当插入,删除,更新的时候该进行怎样的约束检查。
  • 如何降低数据表的数据冗余度,保证数据表不会因为用户量的增长而迅速扩张。
  • 如何让负责数据库维护的人员更方便的使用数据库。
  • 使用数据库的场景饿各不相同,可以说针对不同的情况,设计出来的数据表可能千差万别。

实际设计时,面临的场景:当数据库运行了一段时间之后,我们才发现数据表设计的有问题。重新调整数据表的结构,就需要做数据迁移,还有可能影响程序的业务逻辑,以及网站正常的访问。

如果是糟糕的数据库设计可能存在以下问题:

  • 数据冗余,信息重复,存储空间浪费。
  • 数据更新,插入,删除的异常。
  • 无法正确表示信息。
  • 丢失有效信息。
  • 程序性能差。

良好的数据库设计存在以下优点:

  • 节省数据的存储空间。
  • 保证数据的完整性。
  • 方便进行数据库应用系统的开发。

总之,开始设置数据库的时候,我们就需要重视数据表的设计。为了建立冗余较小,结果合理的数据库,设计数据库时必须遵循一定的规则。

今天先学习到这里,明天继续学习数据库设计之范式。