Mysql 将表结构导入 Powerdesigner ,并将注释作为 name 列

本文介绍了如何在PowerDesigner中将MySQL数据库的表结构导入,并通过执行特定脚本实现注释与NAME列的相互转换。首先,需要下载并安装MySQL的ODBC驱动,配置ODBC连接,然后在PowerDesigner中逆向生成模型。接着,通过提供的两个VBA脚本,可以将表、列和视图的注释复制到NAME字段,或者反之,使NAME字段反映数据库中的注释。

步骤一:

安装MYSQL的ODBC驱动

Connector/ODBC 5.1.10 下载地址:

http://dev.mysql.com/downloads/connector/odbc/5.1.html

选择win-32 MIS安装包,进行直接安装就可以了。

步骤二:

配置OBDC驱动连接

步骤三:

 打开PowerDesigner :

1)文件->新建新模型

2)数据库->connect to a Data Source

3)填写数据库连接信息

4)开始逆向生成

确定后等待生成就好了。

可参考:http://blog.youkuaiyun.com/chamtianjiao/article/details/7258316



==========================================================================

将注释和name列互相转换如下:

在PowerDesigner中使用方法为:

   PowerDesigner->Tools->Execute Commands->Edit/Run Scripts

将代码Copy进去执行就可以了,是对整个CDM或PDM进行操作

 

[vb]  view plain  copy
 print ?
  1. '代码一:将Name中的字符COPY至Comment中  
  2.   
  3.   
  4. Option   Explicit   
  5. ValidationMode   =   True   
  6. InteractiveMode   =   im_Batch  
  7.   
  8. Dim   mdl   '   the   current   model  
  9.   
  10. '   get   the   current   active   model   
  11. Set   mdl   =   ActiveModel   
  12. If   (mdl   Is   Nothing)   Then   
  13.       MsgBox   "There   is   no   current   Model "   
  14. ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
  15.       MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
  16. Else   
  17.       ProcessFolder   mdl   
  18. End   If  
  19.   
  20. '   This   routine   copy   name   into   comment   for   each   table,   each   column   and   each   view   
  21. '   of   the   current   folder   
  22. Private   sub   ProcessFolder(folder)   
  23.       Dim   Tab   'running     table   
  24.       for   each   Tab   in   folder.tables   
  25.             if   not   tab.isShortcut   then   
  26.                   tab.comment   =   tab.name   
  27.                   Dim   col   '   running   column   
  28.                   for   each   col   in   tab.columns   
  29.                         col.comment=   col.name   
  30.                   next   
  31.             end   if   
  32.       next  
  33.   
  34.       Dim   view   'running   view   
  35.       for   each   view   in   folder.Views   
  36.             if   not   view.isShortcut   then   
  37.                   view.comment   =   view.name   
  38.             end   if   
  39.       next  
  40.   
  41.       '   go   into   the   sub-packages   
  42.       Dim   f   '   running   folder   
  43.       For   Each   f   In   folder.Packages   
  44.             if   not   f.IsShortcut   then   
  45.                   ProcessFolder   f   
  46.             end   if   
  47.       Next   
  48. end   sub  


另外在使用REVERSE ENGINEER从数据库反向生成PDM的时候,PDM中的表的NAME和CODE事实上都是CODE,为了把NAME替换为数据库中Table或Column的中文Comment,可以使用以下脚本:

[vb]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. '代码二:将Comment中的字符COPY至Name中   
  2.   
  3. Option   Explicit   
  4. ValidationMode   =   True   
  5. InteractiveMode   =   im_Batch  
  6.   
  7. Dim   mdl   '   the   current   model  
  8.   
  9. '   get   the   current   active   model   
  10. Set   mdl   =   ActiveModel   
  11. If   (mdl   Is   Nothing)   Then   
  12.       MsgBox   "There   is   no   current   Model "   
  13. ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
  14.       MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
  15. Else   
  16.       ProcessFolder   mdl   
  17. End   If  
  18.   
  19. Private   sub   ProcessFolder(folder)   
  20. On Error Resume Next  
  21.       Dim   Tab   'running     table   
  22.       for   each   Tab   in   folder.tables   
  23.             if   not   tab.isShortcut   then   
  24.                   tab.name   =   tab.comment  
  25.                   Dim   col   '   running   column   
  26.                   for   each   col   in   tab.columns   
  27.                   if col.comment="" then  
  28.                   else  
  29.                         col.name=   col.comment   
  30.                   end if  
  31.                   next   
  32.             end   if   
  33.       next  
  34.   
  35.       Dim   view   'running   view   
  36.       for   each   view   in   folder.Views   
  37.             if   not   view.isShortcut   then   
  38.                   view.name   =   view.comment   
  39.             end   if   
  40.       next  
  41.   
  42.       '   go   into   the   sub-packages   
  43.       Dim   f   '   running   folder   
  44.       For   Each   f   In   folder.Packages   
  45.             if   not   f.IsShortcut   then   
  46.                   ProcessFolder   f   
  47.             end   if   
  48.       Next   
  49. end   sub  

源码来自:https://pan.quark.cn/s/a4b39357ea24 《C++ Primer》作为C++编程领域中的一部权威著作,主要服务于初学者和经验丰富的开发者,致力于帮助他们深入掌握C++的核心知识。 第一章通常会详细讲解C++语言的基础概念和语法结构,包括变量的使用、数据类型的分类、常量的定义、运算符的应用以及基础的输入输出操作。 接下来,我们将对这一章中的核心知识点和可能的习题解答进行深入分析。 ### 1. 变量与数据类型在C++编程中,变量被视为存储数据的媒介。 每一个变量都必须预先声明其数据类型,常见的数据类型有整型(int)、浮点型(float)、双精度浮点型(double)以及字符型(char)。 例如:```cppint age = 25; // 声明一个整型变量age赋予其初始值25float weight = 70.5f; // 声明一个浮点型变量weight赋予其初始值70.5char grade = A; // 声明一个字符型变量grade赋予其初始值A```### 2. 常量与字面量常量指的是不可更改的值,可以通过`const`关键字进行声明。 例如:```cppconst int MAX_SIZE = 100; // 声明一个整型常量MAX_SIZE,其值为100```字面量是指程序中直接书写的值,如`42`、`3.14`或`"Hello"`。 ### 3. 运算符C++提供了多种运算符,涵盖了算术运算符(+,-,*,/,%)、比较运算符(==,!=,<,>,<=,>=)、逻辑运算符(&&,||,!)以及赋值运算符(=,+=,-=,*=,/=,%=)等。 ### 4. 输入与输出在C++中,使用`std::cin`来实现输...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值