`
zzc1684
  • 浏览: 1223056 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

如何让PowerDesigner支持自动生成含SQL Server 2000的表和列注释的脚本

 
阅读更多

PowerDesigner是Sybase公司著名的产品,我从16-bit的Windows开始,就接触并使用这个工具,应该说是有很深的感情。PowerDesigner是DBA和软件架构师设计的利器,随着版本的不断升级,PowerDesigner提供了更多更强大的功能。仅以本篇为开始,向大家介绍一些PowerDesinger中的使用技巧,帮助大家更好地更有效率地使用这个CASE工具。

问题的提出

我曾经在很多网上看到有朋友问起,在 PowerDesigner Physical Model design 中,除了 Oracle 外,选择其他数据库模型,最后生成建数据库脚本的时候,不会自动生成记录表和列注释信息的数据库脚本代码。

请允许我先解释一下这个问题的概念,我们通过 PowerDesigner 设计 oracle 数据库,最后得到的脚本可以像下面这样,其中的 comment 语句就是我上面指出的在 oracle 中保存注释信息的脚本语句,在 oracle 中执行后,可以通过查询 oracle 的数据字典得到这些信息。这样做的好处是,以后查看表结构比较方便,不需要从数据库文档资料中去寻找了,对于团队开发来说,有应用的意义。

 

/*===============================================*/

/* Table: EMP                                                   */

/*==============================================*/

create table EMP  (

   "EmpID"              NUMBER,

   "EmpName"            VARCHAR2(50),

   SEX                  CHAR(1)

)

/

comment on table EMP is ' 职员信息 '

/

comment on column EMP."EmpID" is ' 职员编号 '

/

comment on column EMP."EmpName" is ' 职员姓名 '

/

comment on column EMP.SEX is ' 性别   F:   M: '

/

SQL Server 也有这样的语句,但是,大家往往发现选择了数据库模型是 SQL Server ,在自动生成建库脚本的时候,即使你选上了生成 comment 语句的选项, powerdesigner 也不会帮你自动生成,是 PowerDesigner 不支持 SQL Server 么,答案显然是否定的。

问题的解决

PowerDesigner 这个工具可以支持任何一种关系型数据库的模型设计,因为,在 PowerDesigner 中每一种数据库模型的特性定义都存储在一个 xdb 文件中,我们可以在 [PowerDesigner_Install_Home]/Resource Files/DBMS 下可以找到。当然,我们也可以自己创建一个新的 xdb ,定义好我们想支持的数据库模型的特性。明白了这一点,这个问题的答案就显而易见。

下面我就简单地说明一下,我使用的是 PowerDesinger9.5 企业版。 Sybase 有些简化版本 ( SQL Moduler) 就不能自定义 xdb ,请大家注意。

1 从菜单 TOOLS->RESOUCES->DBMS ,进入自定义数据模型,参见图 1

 

PBlock>ASPectratio="t" v:ext="edit">

1

2 PowerDesigner弹出一个对话框,列表框中列出了当前PowerDesigner支持的

数据库模型(图2)。我们选择创建一个新的。输入名字SQL SERVER 2000(EXTENDED),选择从现有的SQL SERVER 2000复制,这样SQL SERVER 2000(EXTENDED)就包含了原来SQL SERVER2000模型拥有的所有特征(图3)。

                        2

 

 

                       图3

3 接下来,我们就需要为SQL Server 2000(Extended)添加支持自动生成表和列注释代码的特性。PowerDesinger把定义的特性用树状结构组织了起来(4),本篇要做的工作就是定义Script代码特征。我们需要修改Script\Objects\Table\TableCommentScript\Objects\Column\ColumnComment中的脚本特征代码。

4 SQL Server 2000在数据库中保存表和列注释是通过调用系统存储过程sp_addextendedproperty来做的。那么我们只需要,分别写上

 

表级的注释代码是:
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'%COMMENT%', N'user', N'%OWNER%', N'table', N'%TABLE%', N'column', N'%COLUMN%'

大家看看这些代码,立刻就明白是怎么回事了(5)%COMMENT%之类的就是相当于替换变量,PowerDesigner在生成脚本的时候自动替换设计模型中替换变量的值。

 

4

 

5

5 保存SQL Server 2000(Extended)成一个xdb文件。

6 现在,我们可以创建一个新的Physical Data Model了,数据库模型选SQL Server 2000(Extended)。建立一个表,需要提醒的是,一定要指定一个数据库使用者,一般用dbo(图6)。我们可以为表和列都添加上注释。

 

6

7 生成建库脚本,菜单Databases->Generate Database。在图7所示的对话框中,注意要选中comment选项。点击确定,就得到最终的建库脚本。打开看看,我们看到了PowerDesinger根据我们告诉它的规则生成了对应的代码

 

EXECUTE sp_addextendedproperty N'MS_Description', N'雇员信息', 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'EmployeeID'

go

….

8 我们在SQL Server 2000中执行这个角本,然后通过EntERPrise Manager可以看到这些注释。

 

 

7

 

 

8

小结

通过这个实践,我们可以了解PowerDesigner是如何处理不同数据库的SQL语法差异的,这和我们开发应用中的参数文件的思路基本一致。同时,我们也应该认识到,PowerDesinger的功能还是比较多和复杂的,只有熟悉这个工具的功能使用,才能真真提高生产效率。

分享到:
评论

相关推荐

    让PowerDesigner 自动生成 SQL Server 2000的表和列注释的脚本与模板

    如何让PowerDesigner 自动生成 SQL Server 2000的表和列注释的脚本 ======================================= 1、将本包中的模板文件(Microsoft SQL Server 2000(带...

    powerdesigner生成含注释的sql

    PowerDesigner支持生成带有注释的SQL脚本,这在数据库的部署、迁移或文档化中非常有用。通过为表、字段、约束等添加注释,开发人员可以清楚地了解每个数据库对象的用途和功能。生成这些注释的过程通常涉及以下步骤:...

    PowerDesigner中自动生成sqlserver字段备注

    然而,在使用PowerDesigner生成SQL Server数据库时,一个常见的痛点是,默认情况下,它不会自动为数据库字段添加备注或注释,这在后续的数据库维护和理解上造成了一定的不便。本文将详细介绍如何在PowerDesigner中...

    PowerDesigner导出的SQL带列注释,导入到MySQL中列注释不见了的处理方法

    PowerDesigner 导出的 SQL 带列注释,导入到 MySQL 中列注释不见了的处理方法 在使用 PowerDesigner 导出 SQL 文件时,如果包含列注释,可能会在导入到 MySQL 数据库中时丢失。这是因为 PowerDesigner 导出的 SQL ...

    使用Powerdesigner生成sql脚本

    PowerDesigner是一款强大的数据建模工具,它能够帮助用户进行数据建模,包括概念数据模型(CDM)、物理数据模型(PDM)等,并能自动生成SQL脚本来创建数据库。以下步骤详细介绍了如何在PowerDesigner中生成SQL脚本。 **...

    PowerDesigner批量生成SQL脚本时将name生成数据库中字段的comment

    通过这个脚本,PowerDesigner将自动为每个表、列和视图的name属性生成对应的comment,使得在生成SQL脚本后,当这些对象被创建到数据库时,其comment属性将被正确设置,从而提高了数据库的可读性。 在实际应用中,这...

    PowerDesigner反向工程将数据库设计导出SQL脚本、HTML或World

    PowerDesigner 是一个功能强大的数据库设计工具,除了能够帮助用户设计和管理数据库外,还提供了强大的反向工程功能,能够将数据库设计导出为 SQL 脚本、HTML 或 Word 文档等多种格式,从而满足不同的需求和应用场景...

    PowerDesigner(CDM—PDM—SQL脚本的转换流程

    一旦PDM设计完成,就可以通过PowerDesigner自动生成SQL脚本来创建数据库。 - **生成方法**: - 在PowerDesigner中选择`Tools > Generate SQL Script`。 - 选择目标数据库类型。 - 选择要生成脚本的对象范围(如...

    PowerDesigner逆向工程-Mysql,并解决没有注释的问题!

    例如,你可以定义函数或过程,遍历模型中的每个表和列,检查是否存在注释,如果没有,则从其他来源(如数据库元数据或额外的文本文件)获取注释信息,并添加到PowerDesigner的模型中。 在完成所有必要的调整后,...

    powerdesigner逆向生成工具将注释字段添加到name字段上

    powerdesigner逆向工程导入mysql脚本生成PDM带全注释

    PowerDesigner连接MySQL互相导入以及显示中文注释

    - 选择“Generate SQL Script”选项,生成包含表结构及中文注释的SQL脚本。 - 确保勾选“Generate comments”选项以生成注释信息。 2. **导入表结构**: - 将生成的SQL脚本导入MySQL数据库。 - 可以通过MySQL...

    PowerDesign配置SqlServer2008建表脚本格式.docx

    本文将详细讲解如何使用PowerDesigner配置SQL Server 2008来创建符合规范的建表脚本,包括设置表和列的注释。 首先,我们需要在PowerDesigner中配置SQL Server 2008的建表脚本格式。这通常涉及到定制数据模型的过程...

    PowerDesigner16生成SQL2005列注释的方法

    完成上述步骤后,保存并运行这个定制的SQL脚本,PowerDesigner将会生成一个包含列注释的SQL脚本。这个脚本可以用于创建或更新SQL Server 2005的数据库,注释信息将与列一起被写入到数据库中。 总结来说,通过...

    PowerDesigner中如何导入SQL Server数据库

    此外,PD还支持生成SQL脚本,用于创建或更新数据库,这对于数据库的部署和维护非常有用。 了解并掌握这一过程,可以帮助数据库管理员和开发者更有效地管理和维护数据库,提升工作效率。同时,PowerDesigner的其他...

    powerdesigner 生成备注方法

    以下是一种适用于PowerDesigner 15.1版本,针对SQL Server 2008数据库的脚本示例: ```vbscript ' 选择当前数据库模型 Select -EditCurrentDbms-Script-Objects-Column-ColumnComment ' 常量定义 Dim Value As ...

    如何将数据库中的表导入到PowerDesigner中

    PowerDesigner支持实体关系模型(ERD)、概念数据模型(CDM)、物理数据模型(PDM)等,可以用于创建数据模型,并且能够生成数据库脚本,实现从设计到实际数据库的转换。导入数据库表的功能允许我们将现有的数据库...

    Powerdesigner逆向工程生成PDM 中文列名表名

    此脚本遍历了当前PDM中的所有表和列,如果列名包含中文字符,则将其转换为注释,并将列名替换为不含中文的字符串(此处示例为将中文替换为“Comment”)。 #### 四、总结 通过上述步骤,我们可以利用PowerDesigner...

    PowerDesigner逆向工程导入MYSQL数据库总结

    此时PowerDesigner将自动开始逆向工程过程,从数据库中读取表结构和其他元数据信息。 **步骤七:** 等待逆向工程过程完成,之后就可以在PowerDesigner中查看自动生成的数据模型图了。 #### 四、注意事项 - **操作...

    PowerDesigner导出数据表结构

    PowerDesigner是一款强大的数据库设计工具,它提供了从概念数据模型(CDM)到物理数据模型(PDM)的转换,以及数据库脚本生成和数据库逆向工程等功能。在数据建模领域,PowerDesigner扮演着至关重要的角色。...

Global site tag (gtag.js) - Google Analytics