对于数据库设计这个概念,大家都比较熟悉了,我们之前讲过很多数据库设计的原则和技巧等等,但是比较少跟大家提到:一个不良的数据库设计,必然会造成很多问题,轻则增减字段,重则系统无法运行。这次就先来说说
数据库设计不合理的表现:
1. 表之间的耦合性太大。多张表之间关联的过于紧密,造成一张表发生变化而影响到其他表。
2. 性能低下。含有大数据量的表之间的关联过多;没有合理的字段设计来用于查询而造成的SQL查询语句很复杂;对于大数据量的表没有采用有效的手段去处理;滥用视图等。
3. 字段设计考虑不周。字段长度过短或字段类型过于明确,造成可发挥、可拓展的空间太小。
4. 不利于计算或统计。缺少必要的联系性或统计性字段或用于计算统计的字段分散于多个表中,造成计算统计的步骤繁琐,甚至无法计算统计。
5. 非必要数据冗余量太大。没用的垃圾数据存储过多,不仅占用资源,还影响查询效率。
6. 可扩展性性太差。表设计的与业务绑定的太紧密、单一,造成表的可拓展性、可修改性太差,无法新需求的要求。
7. 数据完整性丧失。含有主外键关系的表之间关联字段的设计方式不合理,造成更新与删除操作后程序容易出错或不完善;使用了已经删除或丢失掉的数据。
8. 与需求不符。因为这个原因造成的改动量往往是最大。如果进入编码阶段的话,很可能会直接让你崩溃掉。
9. 没有详尽的数据记录信息。缺少必要的字段,造成无法跟踪数据变化、用户操作,也无法进行数据分析。
大多数的
程序员关于
软件开发的起点认识不是很清晰,老是以为完成功用才是重要的,在简单了解完基本需要后就急忙进入编码期间,关于数据库规划考虑的比较少、比较简单,大多规划都只停留在表面上,这往往是要命的,会为体系留下许多隐患。要么是写代码
开发过程中才发现问题,要么即是体系上线工作后没多久就出现问题,还有可能给后期维护增加了许多工作量。假如到了那个时候再想修正数据库设计或进行优化等同于推翻重来。