[原创]数据库重构1:表合并

最近项目中充斥着以往没用的功能,严重影响性能,于是准备对项目进行整理重构,清理没用的功能,涉及到数据库的清理,学名就是数据库重构,首当其冲的就是表结构的重构,本系列包含以下内容:

  1. 表合并

  2. 视图关系重构

  3. 存储过程业务逻辑整理

好了,下面开始第一部分的内容:

目前项目中的数据库存在过度设计的问题,首当其冲的是用户信息的存储表过于零碎,多达10个表之多,每个表存储与用户直接关联的不同内容,而且都是一对一的关系,造成对用户操作处理过程繁琐,查询和更新数据严重影响性能,于是从用户开始重构。特别提醒:重构之前必备的准备工作就是备份数据库和现有程序代码,避免重构过程中出现数据丢失和程序混乱,到时候就追悔莫及了!

用户表之间的关系图:

这些都是UserInfo的属性,于是将这些表整合到UserInfo表中,如下图:

下面说下重构步骤:

  1. 先在UserInfo表中加入其他的表的字段,注意:其他表这时候不需要删除
  2. 然后按照User_ID=UserInfo.ID为条件依次更新UserInfo表中字段的值,也就是导入其他表的数据
  3. 最后一步就是不要删除其他表,为什么多这么一步,因为数据库中除UserInfo表之外还有其他表可能关联这些废弃的表,删除后会引起数据查询出错、视图无法显示、存储过程报错等一系列的问题
  4. 接下来就是视图重构需要讲解的内容了,如何清理视图并提出废弃的表
赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏