开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第21天,点击查看活动详情
前言
上篇我们学习了MySQL中的数据库优化之索引优化。有兴趣的小伙伴可以阅读(MySQL优化之索引优化(十一))。
下面我们继续学习MySQL中的数据库设计规范。
数据库设计
设计数据表的时候,需要考虑很多问题,比如:
- 用户需要什么数据,需要在数据表中保存哪些数据。
- 如何保证数据表中数据的正确性,当插入,删除,更新的时候该进行怎样的约束检查。
- 如何降低数据表的数据冗余度,保证数据表不会因为用户量的增长而迅速扩张。
- 如何让负责数据库维护的人员更方便的使用数据库。
- 使用数据库的场景饿各不相同,可以说针对不同的情况,设计出来的数据表可能千差万别。
实际设计时,面临的场景:当数据库运行了一段时间之后,我们才发现数据表设计的有问题。重新调整数据表的结构,就需要做数据迁移,还有可能影响程序的业务逻辑,以及网站正常的访问。
如果是糟糕的数据库设计可能存在以下问题:
- 数据冗余,信息重复,存储空间浪费。
- 数据更新,插入,删除的异常。
- 无法正确表示信息。
- 丢失有效信息。
- 程序性能差。
良好的数据库设计存在以下优点:
- 节省数据的存储空间。
- 保证数据的完整性。
- 方便进行数据库应用系统的开发。
总之,开始设置数据库的时候,我们就需要重视数据表的设计。为了建立冗余较小,结果合理的数据库,设计数据库时必须遵循一定的规则。
今天先学习到这里,明天继续学习数据库设计之范式。