说起数据库设计,相信大家都明白怎么回事,但说起数据库设计的重要性,我想大家也只是停留在概念上而已,到底如何重要?怎么重要呢?将我至今为止的理解向大家阐述下。

  一个不良的数据库设计,必然会造成很多问题,轻则增减字段,重则系统无法运行。我先来说说数据库设计不合理的表现吧:

  1、与需求不符

  因为这个原因造成的改动量往往是大。如果进入编码阶段的话,很可能会直接让你崩溃掉。

  2、性能低下

  含有大数据量的表之间的关联过多;没有合理的字段设计来用于查询而造成的SQL查询语句很复杂;对于大数据量的表没有采用有效的手段去处理;滥用视图等。

  3、数据完整性丧失

  含有主外键关系的表之间关联字段的设计方式不合理,造成更新与删除操作后程序容易出错或不完善;使用了已经删除或丢失掉的数据。

  4、可扩展性性太差

  表设计的与业务绑定的太紧密、单一,造成表的可拓展性、可修改性太差,无法新需求的要求。

  5、非必要数据冗余量太大

  没用的垃圾数据存储过多,不仅占用资源,还影响查询效率。

  6、不利于计算或统计

  缺少必要的联系性或统计性字段或用于计算统计的字段分散于多个表中,造成计算统计的步骤繁琐,甚至无法计算统计。

  7、没有详尽的数据记录信息

  缺少必要的字段,造成无法跟踪数据变化、用户操作,也无法进行数据分析。

  8、表之间的耦合性太大

  多张表之间关联的过于紧密,造成一张表发生变化而影响到其他表。

  9、字段设计考虑不周

  字段长度过短或字段类型过于明确,造成可发挥、可拓展的空间太小。

  大多数的程序员对于软件开发的出发点认识不是很明确,总是认为实现功能才是重要的,在简单了解完基本需求后急忙进入编码阶段,对于数据库设计思考的比较少、比较简单,大多设计都只停留在表面上,这往往是要命的,会为系统留下很多隐患。要么是写代码开发过程中才发现问题,要么是系统上线运转后没多久出现问题,还有可能给后期维护增加了很多工作量。如果到了那个时候再想修改数据库设计或进行优化等同于推翻重来。

  数据库是整个软件应用的根基,是软件设计的起点,它起着决定性的质变作用,因此我们必须对数据库设计高度重视起来,培养设计良好数据库的习惯,是一个的软件设计师所必须具备的基本素质条件!