在项目初期需求分析完成之后,就需要将数据模型设计出来,一般我们进行数据模型设计时,总是想到的是设计的数据模型尽量符合“第三范式”。但是经过本人多个项目的实践之后,在设计数据模型时不能只是考虑要符合“第三范式”,过意的考虑规范会导致效率及性能的问题,因此更应该根据产品或者项目中的具体功能来考虑。
在项目需求分析阶段,对需求进行分类,分析需求中哪些信息经常进行增加,删除,修改操作,哪些需求多进行查询操作;将这些进行分类主要是在设计数据库的时候考虑哪些数据可以进行冗余,哪些需要遵循范式。例如:大多数项目中都有“用户管理”,“机构管理”,“菜单管理”等基础平台信息的功能,而这些功能又会被项目中其它功能使用到,然而对这些数据的操作往往在项目上线初期数据的操作主要是增加,删除,修改,上线稳定之后对这些数据的操作大部分集中在查询功能;而像业务信息则正好相反,上线初期对业务信息数据的操作压力很小,但是系统逐渐稳定之后,业务信息数据量就会迅速增长。
根据数据操作的特点来设计数据模型。例如:系统管理数据,这些数据大多是用户信息的维护,权限的维护,部门的维护等等;这些数据由于只是在系统使用初期频繁的进行增加,删除,修改,系统稳定后大部分是查询操作,所以这部分的数据模型设计经可以多考虑一些数据冗余,数据一致性由程序进行保证,这样在以后的查询时就不必为了显示某个字段信息而多关联很多表。而像“业务信息管理”这样的功能,由于整个系统稳定之后数据的操作主要在此,可以按照“第三范式”进行设计,以后的优化改造等也比较方便。
posted on 2010-03-17 10:59
梦源 阅读(2140)
评论(0) 编辑 收藏