PowerDesigner 生成数据库方法(转)

第一步:File菜单选中New,而后选中Physical Data Model 选项,在右方的DBMS里面选择要使用的数据库,例如:sqlserver 2000   
     第二步:创建本身所须要的表结构,保存sql

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

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

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

问题的提出sqlserver

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

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

/*===============================================*/设计

/* Table: EMP                                                   */server

/*==============================================*/ip

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的功能仍是比较多和复杂的,只有熟悉这个工具的功能使用,才能真真提升生产效率。

相关文章
相关标签/搜索