PowerDesigner生成数据库脚本的方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

PowerDesigner生成数据库方法数据结构SQLServerSQLOracle脚本第一步:File菜单选中New,然后选中PhysicalDataModel选项,在右方的DBMS里面选择要使用的数据库,例如:sqlserver2000第二步:建立自己所需要的表结构,保存第三步:测试数据库连接DataBase菜单下的Connection,打开后,有个Modify,点击之后,选择数据库,输入用户名和密码,测试是否可以连接第四步:若可以正常连接后,DataBase菜单下的GenerateDatabase,生成SQl脚本,可以选择Sql脚本名称和保存的路径最后,将生成的sql脚本在查询分析器中执行,相信大家都知道,就不说了问题的提出我曾经在很多网上看到有朋友问起,在PowerDesigner的PhysicalModeldesign中,除了Oracle外,选择其他数据库模型,最后生成建数据库脚本的时候,不会自动生成记录表和列注释信息的数据库脚本代码。请允许我先解释一下这个问题的概念,我们通过PowerDesigner设计oracle数据库,最后得到的脚本可以像下面这样,其中的comment语句就是我上面指出的在oracle中保存注释信息的脚本语句,在oracle中执行后,可以通过查询oracle的数据字典得到这些信息。这样做的好处是,以后查看表结构比较方便,不需要从数据库文档资料中去寻找了,对于团队开发来说,有应用的意义。/*===============================================*//*Table:EMP*//*==============================================*/createtableEMP(EmpIDNUMBER,EmpNameVARCHAR2(50),SEXCHAR(1))/commentontableEMPis'职员信息'/commentoncolumnEMP.EmpIDis'职员编号'/commentoncolumnEMP.EmpNameis'职员姓名'/commentoncolumnEMP.SEXis'性别F:女M:男'/SQLServer也有这样的语句,但是,大家往往发现选择了数据库模型是SQLServer,在自动生成建库脚本的时候,即使你选上了生成comment语句的选项,powerdesigner也不会帮你自动生成,是PowerDesigner不支持SQLServer么,答案显然是否定的。问题的解决PowerDesigner这个工具可以支持任何一种关系型数据库的模型设计,因为,在PowerDesigner中每一种数据库模型的特性定义都存储在一个xdb文件中,我们可以在[PowerDesigner_Install_Home]/ResourceFiles/DBMS下可以找到。当然,我们也可以自己创建一个新的xdb,定义好我们想支持的数据库模型的特性。明白了这一点,这个问题的答案就显而易见。下面我就简单地说明一下,我使用的是PowerDesinger9.5企业版。Sybase有些简化版本(如SQLModuler)就不能自定义xdb,请大家注意。1从菜单TOOLS-RESOUCES-DBMS,进入自定义数据模型,参见图1。图12PowerDesigner弹出一个对话框,列表框中列出了当前PowerDesigner支持的数据库模型(图2)。我们选择创建一个新的。输入名字SQLSERVER2000(EXTENDED),选择从现有的SQLSERVER2000复制,这样SQLSERVER2000(EXTENDED)就包含了原来SQLSERVER2000模型拥有的所有特征(图3)图2图33接下来,我们就需要为SQLServer2000(Extended)添加支持自动生成表和列注释代码的特性。PowerDesinger把定义的特性用树状结构组织了起来(图4),本篇要做的工作就是定义Script代码特征。我们需要修改Script\Objects\Table\TableComment和Script\Objects\Column\ColumnComment中的脚本特征代码。4SQLServer2000在数据库中保存表和列注释是通过调用系统存储过程sp_addextendedproperty来做的。那么我们只需要,分别写上表级的注释代码是:EXECUTEsp_addextendedpropertyN'MS_Description',N'%COMMENT%',N'user',N'%OWNER%',N'table',N'%TABLE%',NULL,NULL列级的注释代码是EXECUTEsp_addextendedpropertyN'MS_Description',N'%COMMENT%',N'user',N'%OWNER%',N'table',N'%TABLE%',N'column',N'%COLUMN%'大家看看这些代码,立刻就明白是怎么回事了(图5)。%COMMENT%之类的就是相当于替换变量,PowerDesigner在生成脚本的时候自动替换设计模型中替换变量的值。图4图55保存SQLServer2000(Extended)成一个xdb文件。6现在,我们可以创建一个新的PhysicalDataModel了,数据库模型选SQLServer2000(Extended)。建立一个表,需要提醒的是,一定要指定一个数据库使用者,一般用dbo(图6)。我们可以为表和列都添加上注释。图67生成建库脚本,菜单Databases-GenerateDatabase。在图7所示的对话框中,注意要选中comment选项。点击确定,就得到最终的建库脚本。打开看看,我们看到了PowerDesinger根据我们告诉它的规则生成了对应的代码…EXECUTEsp_addextendedpropertyN'MS_Description',N'雇员信息',N'user',N'dbo',N'table',N'Employee',NULL,NULLgoEXECUTEsp_addextendedpropertyN'MS_Description',N'主键ID,自动增加',N'user',N'dbo',N'table',N'Employee',N'column',N'EmployeeID'go….8我们在SQLServer2000中执行这个角本,然后通过EntERPriseManager可以看到这些注释。图7图8小结通过这个实践,我们可以了解PowerDesigner是如何处理不同数据库的SQL语法差异的,这和我们开发应用中的参数文件的思路基本一致。同时,我们也应该认识到,PowerDesinger的功能还是比较多和复杂的,只有熟悉这个工具的功能使用,才能真真提高生产效率。

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功