PowerDesigner 12 根据名称生成注释

本文详细介绍如何使用PowerDesigner 12为SQL Server 2000生成带有表和列注释的SQL脚本,包括配置自定义DBMS、设置特征码及生成SQL的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言
     以前用过一次PowerDesigner(后面都简称PD了),当时还是用的11版本的PD,没有深入研究,简单的试用了一下。近来项目要用,同事已经把数据库设计好了,但是生成出来的数据库表结构确没有注释信息。研究几个小时后终于试出来了,不知道搜索的方法不对还是确实没有根据PD的名称来生成数据库注释信息的文章。

环境
     Sybase.PowerDesigner 12 汉化版
    Microsoft SQL Server 2000 (sp3)

正文
     这里从头开始以贴图附代码的方式来完整的展示用PD生产SQL并生产数据库表结构的整个过程。   
     第一步:     新建自定义DBMS: PowerDesigner 12 根据名称生成注释(完整示例)[转农民伯伯] - taotao100172 - www.guotao.org.cn
PowerDesigner 12 根据名称生成注释(完整示例)[转农民伯伯] - taotao100172 - www.guotao.org.cnPowerDesigner 12 根据名称生成注释(完整示例)[转农民伯伯] - taotao100172 - www.guotao.org.cn
这里只是修改部分参数,选择拷贝自Micorsoft SQL SERVER 2000。然后如图保存:
PowerDesigner 12 根据名称生成注释(完整示例)[转农民伯伯] - taotao100172 - www.guotao.org.cn
接着会弹出如下交互窗口:
PowerDesigner 12 根据名称生成注释(完整示例)[转农民伯伯] - taotao100172 - www.guotao.org.cn
     第二步:修改关键特征树,在 Script/Objects/Table/TableComment和Script/Objects/Column/ColumnComment位置的直修改如下:
         表级注释

EXECUTE sp_addextendedproperty N'MS_Description', N'%COMMENT%', N'user', N'%OWNER%', N'table', N'%TABLE%', NULL, NULL
     列级注释
EXECUTE sp_addextendedproperty N'MS_Description', N'%Name%', N'user', N'%OWNER%', N'table', N'%TABLE%', N'column', N'%COLUMN%'
         如图:
PowerDesigner 12 根据名称生成注释(完整示例)[转农民伯伯] - taotao100172 - www.guotao.org.cn
         确定。
     第三步:新的
Physical Data Model(PDM),如下就不详细接受只贴图了:
PowerDesigner 12 根据名称生成注释(完整示例)[转农民伯伯] - taotao100172 - www.guotao.org.cn
PowerDesigner 12 根据名称生成注释(完整示例)[转农民伯伯] - taotao100172 - www.guotao.org.cn
PowerDesigner 12 根据名称生成注释(完整示例)[转农民伯伯] - taotao100172 - www.guotao.org.cn
注意:这里建表的时候最好选定所有者,没有自己新建一个。
     第四步:配置参数,生成SQL 语句。工具栏(Tools)—>生成数据库(Generate Database)
PowerDesigner 12 根据名称生成注释(完整示例)[转农民伯伯] - taotao100172 - www.guotao.org.cn
勾上以上复选框,否则当你备注为空的时候注释出不来;反之,如果你备注不为空那么名称(Name)才能作为注释出现!!
PowerDesigner 12 根据名称生成注释(完整示例)[转农民伯伯] - taotao100172 - www.guotao.org.cn
去掉上面User前面的勾,否则到时候生成SQL语句执行的时候可能出现如下错误:

服务器: 消息 15181,级别 16,状态 1,过程 sp_revokedbaccess,行 43
无法除去数据库所有者。
服务器: 消息
15007,级别 16,状态 1,过程 sp_grantdbaccess,行 98
登录 'dbo' 不存在。

最后点确定生成,PD最终生成的SQL代码如下:

/*==============================================================*/
/* DBMS name:       SQL SERVER 2000 [EXT]                        */
/* Created on:      2008-2-28 2:49:38                            */
/*==============================================================*/


if exists (select 1
            
from   sysobjects
           
where   id = object_id('dbo.Employee')
            
and    type = 'U')
   
drop table dbo.Employee
go

/*==============================================================*/
/* Table: Employee                                              */
/*==============================================================*/
create table dbo.Employee (
    ID                   
int                  not null,
    Username             
varchar(20)          null,
    Password             
varchar(20)          null,
   
constraint PK_EMPLOYEE primary key (ID)
)
go

EXECUTE sp_addextendedproperty N'MS_Description', N'Employee', N'user', N'dbo', N'table', N'Employee', NULL, NULL
go

EXECUTE sp_addextendedproperty
N
'MS_Description', N'主键ID', N'user', N'dbo', N'table', N'Employee', N'column', N'ID'
go

EXECUTE sp_addextendedproperty
N
'MS_Description', N'用户名', N'user', N'dbo', N'table', N'Employee', N'column', N'Username'
go

EXECUTE sp_addextendedproperty
N
'MS_Description', N'密码', N'user', N'dbo', N'table', N'Employee', N'column', N'Password'
go

如果你生成的SQL语句没有之后面这几条执行sp_addextendedproperty的语句,那么本次你将不能生成带注释的SQL语句,请仔细检查步骤及细节。
     第五步:执行PD生成的SQL语句,生成表结构。
         在查询分析器中执行生成的SQL语句后表结构如图:
PowerDesigner 12 根据名称生成注释(完整示例)[转农民伯伯] - taotao100172 - www.guotao.org.cn

完毕! 在Sybase AS Anywhere 7中同样的方法修改特征码之后也可以出来注释!至于其他的就没有一一测试了,大家有兴趣可以多试试,接下来研究名称+备注来生成数据库注释,但是苦于找不到资料,不知道如[%R%?[N]]等的语法,欢迎多指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值