PowerDesigner16.5 生成MySQL 数据库模型

时间:2024-03-16 17:50:17

1、建立数据库模型

打开 PowerDesigner ,点击 "New Model" - Model types - Physical Data Model - Physical Diagram

    PowerDesigner16.5 生成MySQL 数据库模型

点击“确定”

  PowerDesigner16.5 生成MySQL 数据库模型

2、进行数据库连接配置: 

Database - Connnect,

PowerDesigner16.5 生成MySQL 数据库模型

会弹出如下页面,如果首次连接,则需要进行配置,否则直接选择配置好的文件,输入用户ID密码登录。

PowerDesigner16.5 生成MySQL 数据库模型PowerDesigner16.5 生成MySQL 数据库模型

配置请参考下图:

 

PowerDesigner16.5 生成MySQL 数据库模型

(JDBC 连接如果是本地的话,就把图中的 ip,改为localhost)

配置完成可以先做一下 test 连接,点击上图左下角“Test Connection”,如果失败请参考PowerDesigner连接远程mysql数据库连接不上 第2篇。

3、获取数据模型

PowerDesigner16.5 生成MySQL 数据库模型

弹出如下图,选择我们的连接配置文件

PowerDesigner16.5 生成MySQL 数据库模型

点击“确定”,可以查看到如下信息:

PowerDesigner16.5 生成MySQL 数据库模型

点击“OK”,展示出数据模型图

默认展示,ER图默认只展示id,type,如果想要展示出中文注释,则要改一些配置。

Tools - Display Preferences

PowerDesigner16.5 生成MySQL 数据库模型

将【Code】 选中,并移动到最上边,完成。此时我们的 ER 图已经变化。但是却展示的俩列 ID,此时还要执行vbscript 脚本就可以展示中文了。执行路径【Tools - Execute Command - Run Script】或者快捷键【Ctrl + Shift + X】

    Option   Explicit   
    ValidationMode   =   True   
    InteractiveMode   =   im_Batch
    Dim blankStr
    blankStr   =   Space(1)
    Dim   mdl   '   the   current   model  
      
    '   get   the   current   active   model   
    Set   mdl   =   ActiveModel   
    If   (mdl   Is   Nothing)   Then   
          MsgBox   "There   is   no   current   Model "   
    ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
          MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
    Else   
          ProcessFolder   mdl   
    End   If  
      
    Private   sub   ProcessFolder(folder)   
    On Error Resume Next  
          Dim   Tab   'running     table   
          for   each   Tab   in   folder.tables   
                if   not   tab.isShortcut   then   
                      tab.name   =   tab.comment  
                      Dim   col   '   running   column   
                      for   each   col   in   tab.columns   
                      if col.comment = "" or replace(col.comment," ", "")="" Then
                            col.name = blankStr
                            blankStr = blankStr & Space(1)
                      else  
                            col.name = col.comment   
                      end if  
                      next   
                end   if   
          next  
      
          Dim   view   'running   view   
          for   each   view   in   folder.Views   
                if   not   view.isShortcut   then   
                      view.name   =   view.comment   
                end   if   
          next  
      
          '   go   into   the   sub-packages   
          Dim   f   '   running   folder   
          For   Each   f   In   folder.Packages   
                if   not   f.IsShortcut   then   
                      ProcessFolder   f   
                end   if   
          Next   
    end   sub  

Run 执行之后,字段中英文都可以展示出来。

PowerDesigner16.5 生成MySQL 数据库模型

具体表的信息

要想只看具体某一张表的信息,可以table - tablename - 右键“properties” - columns ,

还想要看到中文注释信息则如下图操作:

PowerDesigner16.5 生成MySQL 数据库模型