首页 > 技术文章 > 论需求分析和数据库设计的重要性

cnyulei 2017-05-18 09:16 原文

  直至昨天,我才意识到了软件开始之前,为什么要做好需求分析,需求完成之后,又为什么要先坐好数据库设计!亲身的实践让我明白了这些,下面就我的毕业设计来谈一谈数据库设计的重要性!

  做之前想过我要做一个什么样的软件,应该有什么功能,想好之后,也在本子上记下了这些,防止后边忘记。然后我就以为做好了需求,因为当时想到的就这么多。接下来就是数据库的设计了,数据库涉及到很简陋,基本上没有什么表的嵌套查询,用一个表就新建一个表,用什么关键字,就写什么关键字,前期还好,想做的功能基本上都会有对应的表来去查询,可是随着时间的推移,项目的功能也一项一项的在实现,当我想要去实现一个相对复杂一点的功能的时候,发现问题来了,就比如我的项目里边,想实现一个点赞的功能,我发现我的说说的一个表,是没有id的,也没有主键,那我在点赞的时候,是不是就不知道给谁点赞,或者说,不知道为哪一条说说来点赞?然后就需要就一个id,那么问题又来了,如果我的表结构发生了改变,那么其他相关的所有内容,通通需要不同程度的修改,这真是一件很令人头疼的事,因为修改的过程中,会出现各种各样的bug,究其原因,还不是因为当初数据库设计的不好,导致了最后的麻烦。

  当我想要去删除一条的时候,发现,没有id,没有主键,可是为什么当初没有写上id呢?当我想去添加一个发布图片的功能的时候,发现没有表结构中没有存放图片url的字段,是不是很尴尬?

  那么我现在遇到的困难就是,数据库要大改,相当于给软件做了一次"大手术",我该怎么保证术后还能正常运行呢?这个问题很棘手!

  有了这次经验,下次我再做软件的话,一定会做好需求分析,数据库设计,前期的工作做好了,后期的编码估计也不成什么问题了,不要再因为千变工作没做好,导致大改动了,既浪费时间,又浪费经历,好了,先备份一下数据库sql脚本,还有对应这种不好的数据库的一个项目,然后再改动,防止改到什么都不能用!

推荐阅读