2012项目总结二
本篇将对某系统数据库做一些浅层次的思考,希望各位高人多多给与意见。
1.使用guid作为主键,鄙人经历了完整的系统开发后,发现guid对系统的开发和后期的维护根本没有半点好处,那么多没有规则的字符,你能记得住?个人建议在做一些系统开发时,就使用nvarchar做主键就行了。
2.主键的规则定义,不要使用客户提供的业务编号,作为表的主键,万一客户对业务编号进行了修改,会死的很难看,在建表时,系统中应当有一套利于编码的主键生成规则,把客户提供的业务编号,做为表的一个普通字段,当客户对业务编号的生成规则进行了修改,也不会影响系统的编码。
3.该系统在数据库设计时,竟然没有使用外键,非常影响sql查询的性能。
4.图片的保存方式,是以数据流的方式保存在数据库中,应该以图片的相对路径作为字段进行保存,提高图片显示的效率。
接下来是本系统数据库设计比较好的地方。
1.由于本系统涉及到了资材的采购,所有业务表都继承了,资材采购时所有的资材信息,包括价格,规格等,保证了数据的实时性。
2.所有的业务表都继承了资材采购最初的时间点,以此时间点,作为报表统计的依据。但是这也有一个问题,报表统计应该以订单的起始时间为准,还是订单结束时间为准,我还没有想清楚,希望各位比较懂业务的,给与指点。
数据库方面暂时就这么多,希望大家给与意见。
浙公网安备 33010602011771号