利用PowerDesigner比较2个数据库结构

时间:2022-08-26 00:34:38
  1. 主要实现思路
  2. 建立新旧数据库ODBC
  3. 导入原始数据模型
  4. 选择并比较对象

 

.PowerDesigner中可以对2个数据模型进行比较,所以想到用这个功能来实现对比数据库的目的.到底怎样利用PowerDesigner来比较新旧数据库,查看数据库中哪些对象变化了呢,下面慢慢道来.

首先简单介绍下PowerDesigner,它是Sybase公司的CASE工具集,它的功能几乎包括了数据库模型设计的全过程.可以制作数据流程图,概念数据模型,物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制.这些强大的功能我都不熟悉,前几天才开始接触PowerDesigner,就是对已经有的数据模型文件,用它打开来查看.这次用到物理模型导入功能,和模型对比功能.

 

主要实现思路

实现对比的主要思路为:设置好两个数据库的ODBC,打开PowerDesigner,从ODBC分别从数据库中导出两个新旧数据库物理数据模型到PowerDesigner中,选择需要比较的对象,如各个表,视图等,再比较生成的物理数据模型,得出差异比较结果,成功结束.

 

建立新旧数据库ODBC

ODBC的建立很简单,打开管理工具 -> 数据源(ODBC) 添加即可,但是要注意的是,一定要选择"更改默认的数据库为:"选项,并选择需要比较的数据库,如图. 
利用PowerDesigner比较2个数据库结构

 

导入原始数据模型

先新建一个物理数据模型文件,如图: 
利用PowerDesigner比较2个数据库结构
默认设置: 
利用PowerDesigner比较2个数据库结构
选择连接的新数据库的ODBC源: 
利用PowerDesigner比较2个数据库结构 
输入用户名和密码: 
利用PowerDesigner比较2个数据库结构 
执行导入实际数据模型操作: 
利用PowerDesigner比较2个数据库结构 
选择新数据库对应的ODBC: 
利用PowerDesigner比较2个数据库结构 
同样地,对旧数据库也执行上述操作,得到2个物理数据模型文件.

 

选择并比较对象

选择需要对比的表,或者其他对象,可以全选和全不选. 
新数据库: 
利用PowerDesigner比较2个数据库结构 
旧数据库: 
利用PowerDesigner比较2个数据库结构 
在Tool菜单中选择Compare: 
利用PowerDesigner比较2个数据库结构
这时就能得到结果了,还能对结果进行过滤,比如只查看有变化的: 
利用PowerDesigner比较2个数据库结构 
变化的详细结果,这里为表JSDRK下的kcxs字段的DataType由char(6)改为varchar(16)了: 
利用PowerDesigner比较2个数据库结构
可惜结果只能查看,不能导出成文件.