关于数据库在项目中的应用的反思(1)
首先想说一下在软件项目中的感悟,一个软件项目需要一个好的、稳定的、高效的数据库做支撑,特别是一些比较大型的应用开发,对数据库的要求更高,而能否做出一个好的数据库与制作的软件相配,这个问题对于软件的开发来说至关重要,而且一个正常的、常规的软件开发步骤应该按照严格的规范来:
首先是对整个软件系统进行分析,在这一部分,特别重要的是需求分析,需求分析的重要性可以完全影响到你数据库的整体思路与逻辑,这次的项目虽然做了一定的需求分析,但由于分析的不到位,不彻底,所以在制作数据库时没有办法很好的理清楚它的逻辑。
第二步就是进行数据库的设计,而在这次的项目中,由于经验不足,把这一步放在了第三步进行,先进行了软件界面的设计,那么就存在很严重的问题:正常的软件设计步骤应该是用界面去满足和反映数据库的数据,而由于我们步骤的颠倒,成了数据库去不断满足界面的要求,这就在无形中增加了很多数据库设计的难度,其实在一开始,没有打算用数据库,想用文本文件去实现数据的导入,可这样就暴露了文本文件读写的最大缺陷:(1)修改起来困难;(2)各文本文件之前没有衔接,缺少了数据之前的逻辑关系,所以不可取。而数据库的优势在于,数据组织清晰,逻辑关系明确,修改容易,而且数据存放操作有规律性、统一性,满足对于大量数据/或者需要合理组织结构的数据的存放。
数据库的真正难点在于ER图的建立,我不能明确的去说数据库设计的步骤是独一无二的、确定的、必须按照这样一步一步做的,但是如果不按照这样来做,这个数据库就很“脆弱,病态”,就以我失败的经验来说,我自以为够了解那些数据,结果前面的步骤全部省略(包括省略ER图)直接建了数据库,建好数据库后还自以为自己的数据库做的很好,其实真的是不堪一击,根本经不起数据以及业务需求的考验,结果前前后后完整的改了6次,改到自己都虚脱。
后来在学长的指点下,重新按照数据库设计的步骤来做,但还是省略了ER图之前,在画ER图时犯了很多错误,有明显的,也有自己以前从来不知道的地方,一共做了三份ER图,但最后只有一个还勉强能用,也就勉勉强强做完了数据库。