不断维护表设计带来的启发
2016-04-23 11:44
218 查看
自己不算是一个合格数据库使用者,但是却参与了很重要的数据库设计过程,然而开发后期却一直在维护数据库,从而导致代码层面出现因数据库变更导致的系统问题。个人觉得后期我所做的数据库维护是必须的,因为从逻辑上讲之前的表设计不合理;但是我却忽略了变更会带来的风险,由此我一直在思考。开发到一定阶段,表该不该轻易变动?能否轻易改动表?代码层面和数据库设计层面有没有办法能屏蔽数据库变更造成的影响?
先说说开发后期表该不该改?
从重构思想的角度来讲,有错就得改,系统数据库就该不断重构优化,那么改和维护是可以的和必须的。
既然后期变更一定会存在,那如何降低数据库变更对代码层面造成的影响?如何降低表变更对系统带来的风险?
1、首先我感觉业务主表不应该轻易变更,业务关键字段不应该轻易变更;
2、数据库和实体代码的映射一定要做到修改方便,并且要做到配置清晰;
3、修改时一定要意识到修改涉及到的风险面
4、全面的快速的测试用例运行
5、加强设计阶段投入力度
6、如果真的迫不得已,否则不要轻易改变数据库设计即使不合理
先说说开发后期表该不该改?
从重构思想的角度来讲,有错就得改,系统数据库就该不断重构优化,那么改和维护是可以的和必须的。
既然后期变更一定会存在,那如何降低数据库变更对代码层面造成的影响?如何降低表变更对系统带来的风险?
1、首先我感觉业务主表不应该轻易变更,业务关键字段不应该轻易变更;
2、数据库和实体代码的映射一定要做到修改方便,并且要做到配置清晰;
3、修改时一定要意识到修改涉及到的风险面
4、全面的快速的测试用例运行
5、加强设计阶段投入力度
6、如果真的迫不得已,否则不要轻易改变数据库设计即使不合理
相关文章推荐
- 20130714-STM8L101F3P6-官方库的Bug列表(不断维护)
- 安卓设计规范(不断更新)
- 线上bug的解决方案--带来的全新架构设计
- 有效的使用和设计COM智能指针——条款26:自动查询接口带来方便同时也潜藏危机
- 21个有启发的网页设计中的排版例子
- 【开源】C++异步网络框架,希望对感兴趣的同学带来一些启发。
- 设计模式学习笔记,不断更新中……
- 关于UC全民阅读的报告及带来的启发
- 有关web响应式设计的7点启发
- web在线打印,打印阅览,打印维护,打印设计
- 基础数据维护功能的设计
- "维护功能” 所带来的 程序漏洞
- 设计与实现的简单和经常使用的权限系统(五岁以下儿童):不维护节点的深度level,手工计算level,树形结构
- 一只监测心脏健康的马桶圈,会给AI创业者带来哪些启发?
- [Python设计模式] 第25章 联合国维护世界和平——中介者模式
- 网规:第2章 计算机网络规划与设计-2.7网络测试运行和维护
- 7条大型网站设计和维护的关键技巧
- SQL Server横向扩展:设计,实现与维护(2)- 分布式分区视图
- 软件工程——详细设计,编码,软件测试,软件维护
- [置顶] 一个好的命名规范可以给团队或后期维护带来很大的便利