PowerDesigner 设计数据库中常用脚本
PowerDesigner 设计数据库中常用脚本
物理模型设置
Name转Comment脚本
	'******************************************************************************
'* File:     name2comment.vbs
'* Title:    Name to Comment Conversion
'* Model:    Physical Data Model
'* Objects: Table, Column, View
'* Author:   steveguoshao
'* Created: 2013-11-29
'* Mod By:
'* Modified:
'* Version: 1.0
'* Memo:     Modify from name2code.vbs
'******************************************************************************
Option   Explicit
ValidationMode   =   True
InteractiveMode   =   im_Batch
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
'   This   routine   copy   name   into   comment   for   each   table,   each   column   and   each   view
'   of   the   current   folder
Private   sub   ProcessFolder(folder)
	Dim   Tab   'running     table
	for   each   Tab   in   folder.tables
		if   not   tab.isShortcut   then
		if  trim(tab.comment)="" then'如果有表的注释,则不改变它.如果没有表注释.则把name添加到注释里面.
			tab.comment   =   tab.name
			Dim   col   '   running   column
			for   each   col   in   tab.columns
			if trim(col.comment)="" then '如果col的comment为空,则填入name,如果已有注释,则不添加;这样可以避
				col.comment=   col.name
			next
		end   if
	next
	Dim   view   'running   view
	for   each   view   in   folder.Views
		if   not   view.isShortcut and trim(view.comment)=""  then
			view.comment   =   view.name
		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
注释转name脚本
	Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
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
'This routine copy name into code for each table, each column and each view
'of the current folder
Private sub ProcessFolder(folder)
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
    if len(tab.comment) <> 0 then
         tab.name = tab.comment
    end if
    On Error Resume Next
    Dim col 'running column
    for each col in tab.columns
        if len(col.comment) <>0 then
            col.name =col.comment
         end if
        On Error Resume Next
   next
end if
next
end sub
able加前缀脚本
	Option Explicit
ValidationMode = True
InteractiveMode = im_Batch   
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   //如果为概念模型 为PdCDM.cls_Model
MsgBox "The current model is not an Physical Data model."
Else
ProcessFolder mdl
End If   
'This routine copy name into code for each table, each column and each view
'of the current folder
Private sub ProcessFolder(folder)
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
   if InStr(tab.code,"tb_") = 0 then
      tab.code="tb_"+tab.code
   end if
end if
next
end sub
对应数据类型
| 类型 | 数据库类型 | 内容 | 长度 | 
|---|---|---|---|
| Integer int / INTEGER | 32-bit integer | — | |
| Short Integer | int / INTEGER | 32-bit integer | — | 
| Byte | tinyint / SMALLINT | 256 values | — | 
| Number | numeric / NUMBER | Numbers with a fixed decimal point | Fixed | 
| Decimal | decimal / NUMBER | Numbers with a fixed decimal point | Fixed | 
| Float | float / FLOAT | 32-bit floating point numbers | Fixed | 
| Short Float | real / FLOAT | Less than 32-bit point decimal number | — | 
| Long Float | double precision / BINARY DOUBLE | 64-bit floating point numbers | — | 
| Money | money / NUMBER | Numbers with a fixed decimal point | Fixed | 
| Serial | numeric / NUMBER | Automatically incremented numbers | Fixed | 
| Boolean | bit / SMALLINT | Two opposing values (true/false; yes/no; 1/0) | — | 
| — | |||
| Characters | char / CHAR | Character strings | Fixed | 
| Variable Characters | varchar / VARCHAR2 | Character strings | Maximum | 
| Long Characters | varchar / CLOB | Character strings | Maximum | 
| Long Var Characters | text / CLOB | Character strings | Maximum | 
| Text | text / CLOB | Character strings | Maximum | 
| Multibyte | nchar / NCHAR | Multibyte character strings | Fixed | 
| Variable Multibyte | nvarchar / NVARCHAR2 | Multibyte character strings | Maximum | 
| — | |||
| Date | date / DATE | Day, month, year | — | 
| Time | time / DATE | Hour, minute, and second | — | 
| Date & Time | datetime / DATE | Date and time | — | 
| Timestamp | timestamp / TIMESTAMP | System date and time | — | 
| — | |||
| Binary | binary / RAW | Binary strings | Maximum | 
| Long Binary | image / BLOB | Binary strings | Maximum | 
| Bitmap | image / BLOB | Images in bitmap format (BMP) | Maximum | 
| Image | image / BLOB | Images | Maximum | 
| OLE | image / BLOB | OLE links | Maximum | 
| Other | — | User-defined data type | — | 
概念模型
Name转Comment脚本
Option   Explicit
ValidationMode   =   True
InteractiveMode   =   im_Batch
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(PdCDM.cls_Model)   Then
	MsgBox   "The   current   model   is   not   an   Physical   Data   model. "
Else
	ProcessFolder   mdl
End   If
'   This   routine   copy   name   into   comment   for   each   table,   each   column   and   each   view
'   of   the   current   folder
Private   sub   ProcessFolder(folder)
	Dim   Entity   'running     table
	for   each   Entity   in   folder.entities
		if   not   Entity.isShortcut   then
		   if  trim(Entity.comment)="" then'如果有表的注释,则不改变它.如果没有表注释.则把name添加到注释里面.
			   Entity.comment   =   Entity.name
         end if
			Dim   Attr   '   running   column
   			for   each   Attr   in   Entity.Attributes
   			   if trim(Attr.comment)="" then '如果col的comment为空,则填入name,如果已有注释,则不添加;这样可以避
   				   Attr.comment=   Attr.name
   		      end   if
            Next
        end if
	Next
	'   go   into   the   sub-packages
	Dim   f   '   running   folder
	For   Each   f   In   folder.Packages
      MsgBox folder.Packages
		if   not   f.IsShortcut   then
			ProcessFolder   f
		end   if
	Next
end   sub
PowerDesigner 设计数据库中常用脚本的更多相关文章
- 采用PowerDesigner 设计数据库
		
PowerDesigner设计数据库的教程网上都有,最好的是我一位同学写的,地址: 点击这里 我的大致流程如下: 首先要以管理员的身份打开PowerDesigner,如果没这么做,将导致后面无法创建S ...
 - 使用POWERDESIGNER设计数据库的20条技巧(转)
		
1.PowerDesigner使用MySQL的auto_increment ◇问题描述: PD怎样能使主键id使用MySQL的auto_increment呢? ◇解决方法: 打开table prope ...
 - 新手学习数据库(一)用Powerdesigner设计数据库
		
说明: 一.学会用开发语言进行数据库编程,其关键是在于学会sql语言,开发语言只不过给程序员提供了一个操作数据库的接口罢了. 二. 本人也是初学者,采用的数据库设计软件是powerdesigner.利 ...
 - 利用PowerDesigner设计数据库
		
PowerDesigner非常强大, 可以利用它完成数据库的设计. 1.下载地址:http://pan.baidu.com/s/1DsLrg 2.表设计: 建立概念数据模型(Conceptual Da ...
 - mysql数据库中常用操作汇总
		
一.查询数据库的基本信息: 1. /* 查询数据库 ‘boss’ 所有表及注释 */SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema ...
 - SQL2008数据库优化常用脚本
		
--查询某个数据库的连接数 select count(*) from Master.dbo.SysProcesses where dbid=db_id() --前10名其他等待类型 SELECT TO ...
 - Powerdesigner设计表生成SQL脚本(带有注释)
		
网上搜索查阅地址:https://www.2cto.com/database/201704/628659.html 步骤: Powerdesigner中选择Tools---->Excute co ...
 - 使用PowerDesigner设计数据库
		
1.快捷键CTRL+N 创建 New Model 选择如下图,并设置 Model name 单击OK 2.使用工具添加实体 双击Entity_1,填上如下图信息 切换选项卡,添加属性信息 其中 M ...
 - MySQL数据库中常用的引擎有几种?有什么区别?
		
1.常用的3种 2.InnoDB Myisam Memory 3.InnoDB跟Myisam的默认索引是B+tree,Memory的默认索引是hash 区别: 1.InnoDB支持事务,支持外键,支 ...
 
随机推荐
- UI自动化实战进阶后续
			
前言 最近几天因为回老家的缘故,暂时没空学习和记录,好不容易抽空那就赶紧开始后面的实战. 前面我们已经基本完成了测试的框架,并且也有了PO设计模式,后面我们还缺少什么呢?做为自动化测试最主要的测试报告 ...
 - CF 1405E Fixed Point Removal【线段树上二分】
			
CF 1405E Fixed Point Removal[线段树上二分] 题意: 给定长度为\(n\)的序列\(A\),每次操作可以把\(A_i = i\)(即值等于其下标)的数删掉,然后剩下的数组 ...
 - JavaScript——七(继承)
			
一. 这个样子这个student的类型是person,这个样子写虽然继承了,但是是把父类的属性继承在了student的原型上 为了使student的类型改成他自己就需要加一句"student ...
 - HTTP的传输编码(Transfer-Encoding:chunked) / net::ERR_INVALID_CHUNKED_ENCODING
			
https://blog.csdn.net/m0_37668842/article/details/89138733 https://www.cnblogs.com/jamesvoid/p/11297 ...
 - python了解未知函数的方法
			
?func 如图:
 - IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)【转】
			
同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别? 详细请看下链接: IO ...
 - Gym102361A Angle Beats(直角三角形 计算几何)题解
			
题意: \(n\)个点,\(q\)个询问,每次问包含询问点的直角三角形有几个 思路: 代码: #include<bits/stdc++.h> using namespace std; co ...
 - React Hooks: useReducer All In One
			
React Hooks: useReducer All In One useReducer https://reactjs.org/docs/hooks-reference.html#usereduc ...
 - AIoT & IoT
			
AIoT & IoT Artificial Intelligence of Things Internet of Things AIoT === AI + IoT 人工智能物联网 === 人工 ...
 - Kotlin & Android & Swift & Flutter & React Native
			
Kotlin & Android https://www.runoob.com/kotlin/kotlin-tutorial.html Swift 5 & iOS 12 https:/ ...