对华融系统的数据库表进行了梳理并改为新的规范名称。

来源:互联网 发布:写脚本的软件 编辑:程序博客网 时间:2024/05/01 16:38

华融系统是用BIM开发的,整个系统在开发之初没有太多考虑数据表的规范性及和EAS标准产品数据库表的冲突问题,随着开发的不断深入,数据表越来越多,系统自动命名的数据表也显得极不规范,具体问题如下:

1、表的名字规范和标准产品冲突

     比如,标准产品的基础表是T_Bas_开头,而华融系统基础的系统也是T_Bas_开头,这样的话就会导致数据库级的表分不清楚那个是标准的那个是华融系统的

2、表较散乱

     同是华融系统的表,前缀各不相同,所以在数据库中也是散落在EAS的表中,这样在数据库上查找和维护起来都不方便

 

基于此,需要规范和整理针对华融系统开发的数据库表,由尚牵头做,我来配合,利用今天周末来进行,具体步骤如下:

1、先由尚整理一份对照表,即原表的前缀和新表前缀的对照,这样可以批量替换,此对照表放到了设计文档中

   

NO

模块

简称

表前缀

备注

1.          

基础信息

BD

T_AFL_BD_

T_BAS_, T_HUR_

2.          

客户管理

CUS

T_AFL_CUS_

T_CUS_, T_HUR_

2.1.    

    客户登记

 

同上

 

2.2.    

    客户移交

 

同上

 

2.3.    

    客户财务报表模板

 

T_AFL_RPT_

T_TEM_

2.4.    

    客户财务报表

 

T_AFL_RPT_

T_REP_

3.          

项目管理

PRJ

T_AFL_PRJ_

T_PRJ_

4.          

合同管理

CON

T_AFL_CON_

T_HUR_

5.          

设备管理

DEV

T_AFL_DEV_

T_DEV_, T_DM_

6.          

投放管理

PLC

T_AFL_PLC_

T_PLC

7.          

其它收退款

CR

T_AFL_CR_

T_HUR_

8.          

还款计划

RP

T_AFL_RP_

T_HUR_

9.          

回笼管理

WD

T_AFL_WD_

T_HUR_

10.      

制裁诉讼

SL

T_AFL_SL_

T_HUR_

11.      

合同后期管理

CL

T_AFL_CL_

T_HUR_

12.      

五级分类

FLC

T_AFL_FLC_

T_HUR_

 

2、在BOS中删除了所有数据表的外键

     目前外键在EAS数据库中的作用已经很小了,而且外键的存在还导致有性能问题,所以EAS的系统基本上都删除了外键,华融系统也删除掉了

 

3、由尚在BOS中的实体和表的文件中,依据之前的对照表,批量替换旧表名为新表的名称,包括数据表在BOS的文件命名

 

4、由我对数据库中的表统一改名

     我简历一个excel文件,将BOS中的表按模块取出来放到excel中,然后对应转换成新的前缀的表名(这步可以用ultraedit来做,只是批量替换而已),最后在excel中形成完整的对照记录,再加上所需要的Alter Table 及Rename to的sql语句,最后就生成了sql,如下:

  Alter Table T_BAS_FeeSmallClsrename toT_AFL_BD_FeeSmallCls;Alter Table T_BAS_InsureComprename toT_AFL_BD_InsureComp;Alter Table T_BAS_InsureCompEntryrename toT_AFL_BD_InsureCompEntry;Alter Table T_BAS_KCoerename toT_AFL_BD_KCoe;Alter Table T_BAS_LeaseBigClsrename toT_AFL_BD_LeaseBigCls;Alter Table T_BAS_LeaseFormrename toT_AFL_BD_LeaseForm;Alter Table T_BAS_LeaseTyperename toT_AFL_BD_LeaseType;Alter Table T_BAS_OwnerShiprename toT_AFL_BD_OwnerShip;Alter Table T_BAS_PrjIncomeFeeRaterename toT_AFL_BD_PrjIncomeFeeRate;Alter Table T_BAS_PrjScalerename toT_AFL_BD_PrjScale;

 

将其拷贝出来放到pl/sql中就可以直接执行了,注意Oracle中的数据表默认不能超过30个字符。

对于新表的前缀定义为T_AFL_XX_,XX为模块的缩写,比如BD为基础资料,PRJ为项目管理等,AFL的意义为A是用来排序,可以讲我们的表排到最前面,FL为金融租赁的缩写,这样我们系统的表可以放在数据库表列表的最前端,而且所有的表也都按顺序在一起,便于查找维护。

 

5、将程序中对表的引用也要改成新表的名字

     华融系统开发时要求开发人员对表名在程序中都定义成常量,引用常量,这样以后改表名就直接修改一个常量类即可,不用到处找。

 

目前华融的表已经有270张了,这个改名字的工作虽然已经完成了,但回顾来看感觉还是花了我们两个人差不多半天的时间,也给后面项目的开发表设计积累了经验。

 

 

原创粉丝点击