`
xyzhi_521
  • 浏览: 27318 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

通过PowerDesigner生成数据库表

阅读更多
第一步:File菜单选中New,然后选中Physical Data Model 选项,在右方的DBMS里面选择要使用的数据库,例如:sqlserver 2000 

     第二步:建立自己所需要的表结构,保存

     第三步:测试数据库连接 DataBase菜单下的Connection,打开后,有个Modify,点击之后,选择数据库,输入用户名和密码,测试是否可以连接

     第四步:若可以正常连接后,DataBase菜单下的Generate Database ,生成SQl脚本,可以选择Sql脚本名称和保存的路径

    最后,将生成的sql脚本在查询分析器中执行,相信大家都知道,就不说了

问题的提出

我曾经在很多网上看到有朋友问起,在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。



图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\TableComment和Script\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的功能还是比较多和复杂的,只有熟悉这个工具的功能使用,才能真真提高生产效率。
分享到:
评论
3 楼 joehe 2010-01-28  
楼主生成了mysql的没?
2 楼 basakasky 2010-01-28  
ctrl+c和ctrl+v来的文章?
1 楼 yibunengjing 2010-01-28  
DB designer工具用来用去,还是powerDesigner最方便啊

相关推荐

    使用PowerDesigner生成数据库说明文档.docx

    "使用PowerDesigner生成数据库说明文档" 本文将介绍使用PowerDesigner生成数据库说明文档的详细步骤。PowerDesigner是一个功能强大的数据库设计工具,能够快速生成数据库说明文档。本文将分三个部分介绍:配置...

    使用powerdesigner 生成数据库设计文档

    下面是使用PowerDesigner生成数据库设计文档的详细步骤: 1. 使用PL/SQL Developer登录到数据库。该工具允许你导出数据库中的用户对象,例如表,生成如`table_0113.sql`这样的文件。确保在导出过程中,表和字段的...

    使用PowerDesigner创建数据库表图文并茂版

    使用PowerDesigner创建数据库表图文并茂版

    PowerDesigner生成数据库表结构

    PowerDesigner生成数据库表结构

    PowerDesigner 设计数据库表

    **PowerDesigner 设计数据库表** PowerDesigner 是一款强大的数据库建模工具,被广泛应用于系统分析、数据库设计和数据仓库建设中。它提供了直观的图形化界面,使得数据库设计过程更为简单高效。本篇文章将深入探讨...

    Powerdesigner生成数据库表.mht

    计算机方面,使用Powerdesigner软件生成数据库表的相关简单介绍

    使用PowerDesigner12生成数据库表报告参考.pdf

    下面将详细阐述如何使用PowerDesigner 12来生成数据库表报告,以及解决在生成过程中遇到的问题。 首先,我们需要启动PowerDesigner 12并创建一个新的物理数据模型。这是通过菜单"File" -> "New" -> "Physical Data ...

    PowerDesigner 连接oracle直接生成数据库中的表

    本文将详细介绍如何利用PowerDesigner连接Oracle数据库并直接生成数据库表的过程。 #### PowerDesigner简介 PowerDesigner是一款由SAP公司提供的集成环境,用于数据架构和数据库设计。它支持多种数据库管理系统...

    通过PowerDesigner从数据库导出表结构到Word.docx

    "通过PowerDesigner从数据库导出表...* 如何使用PowerDesigner生成高质量的Word文档 通过PowerDesigner可以快速和高效地从数据库中导出表结构,并生成相应的Word文档,为用户提供了强大的数据模型设计和报表生成功能。

    POWERDESIGNER 生成数据库通用表的数据词典

    本文将深入探讨如何使用PowerDesigner来生成数据库通用表的数据词典,以及这个过程中的关键知识点。 首先,我们需要了解PowerDesigner的基本功能。它提供了一个全面的环境,用于概念数据模型(CDM)、物理数据模型...

    powerdesigner建立数据库表.pdf

    PowerDesigner 建立数据库表 ...通过遵循上述步骤,用户可以快速建立数据库表结构,并将其部署到各种数据库管理系统中。PowerDesigner 的强大功能和灵活的使用方式,使其成为数据建模和数据库设计的不二之选。

    使用PowerDesigner设计数据库

    在PowerDesigner中,用户可以通过绘制新表或直接输入信息来修改现有数据库结构,甚至创建全新的数据库模型。设计完成后,PowerDesigner能够自动生成SQL脚本,用于在实际数据库中创建这些设计。这对于数据库管理员和...

    使用PowerDesigner生成PostgreSQL数据库的物理数据模型

    ### 使用PowerDesigner生成PostgreSQL数据库的物理数据模型 #### 实验环境配置与要求 在进行PowerDesigner生成PostgreSQL数据库物理数据模型的操作之前,首先需要确保实验环境满足以下条件: 1. **操作系统**: ...

    PowerDesigner的数据库设计与实现 PowerDesigner数据库建模技术

    "PowerDesigner数据库建模技术"可能深入讲解了物理模型设计,包括表的分区、索引优化、存储过程等数据库性能相关的考虑。此外,PowerDesigner还提供了逆向工程功能,可以从现有数据库中导入结构,这对于理解现有系统...

    PowerDesigner从数据库中导出表结构.doc

    PowerDesigner从数据库中导出表结构 PowerDesigner是一款功能强大且广泛应用于数据建模和数据库设计的软件工具,支持多种类型的数据库管理系统,包括Oracle、Microsoft SQL Server、DB2、Informix等。在实际应用中...

    powerdesigner导出数据库设计文档手册.doc

    显示数据库表** - 成功登录后,将展示出所选用户下的所有表。此时,点击“确定”按钮完成连接。 #### 三、导出数据库设计文档 **1. 选择报告模板** - 在PowerDesigner中,点击“Report”菜单,然后选择“Report ...

    通过PowerDesigner从数据库导出表结构到Word

    本文将详细介绍如何使用PowerDesigner从Oracle数据库导出表结构到Word文档,无论是通过预设模板还是自定义报告。 首先,我们需要创建一个新的模型(Physical Data Model)。在PowerDesigner中,这被称为"Model1",...

Global site tag (gtag.js) - Google Analytics