如何使用powerdesigner建数据表并生成脚本
发布时间:2025-05-23 16:59:33 发布人:远客网络
一、如何使用powerdesigner建数据表并生成脚本
1.新建概念模型(conceptual Data Model)
File-->New Model-->Conceptual Data Mode
或者点击工作区,右键-->New Model-->Conceptual Data Mode
2.打开模型时,会有方格线,去除方格线
但是我在创建的过程中,报错如下:
在创建的过程中,人员表里有主键Code,性别表里也有主键Code,但是在创建的过程是报错,说是Code已经被占用了,
使用PD中,CDM默认实体属性不能重名,在CDM中唯一。可以通过设置,取消该限制。
选择 Tools->Model Options,取消 Data Item组的Unique code和 Allow reuse复选框。
Allow reuse:设置实体属性是否允许重用
注:默认使用唯一代码的好处是,改变属性,其他引用该属性的实体,都一起修改。该功能可以通过domain实现,设置属性在同一domain中,当需要修改字段类型的时候,修改domain一处即可。
操作:Tools-->GeneratePhysical DataModel
注意:如果你的数据库是SQL server,请一定要选择要选择SQL Server 2008,
进入下图界面:(根据自己的需求切换相应的DBMS(数据库)点击【确定】就会将概念模型转换成物理模型).
??但是在生成的过程中报了一个实体属性重复的错误(如下图):
Error The following data item does not have unique code:
-> Data Item'编码'(<Model>)
-> Data Item'编码'(<Model>)
- Data Item used multiple times
解释:从上面的错误可以看出,PD给我们说,我在检查所有实体属性的过程中,发现了重复的属性,有两个相同的属性(Code和Name):编码
这是因为虽然我们在概念模型中:创建实体的过程中允许实体使用相同的编码和名称,但是我们并没有同时修改:在概念模型转换为物理模型的检查规则,我们这里,可以去修改检查实体的报错规则就可以了。
General不变,Detail中将Check model去掉,就在转换为物理模型时不再检查实体错误了(当然这些错误是PD定义的默认规则)
a.操作:Database-->Generate DataBase。。。,进入下图页面,
b、勾上以上复选框,否则当你备注为空的时候注释出不来;反之,如果你备注不为空那么名称(Name)才能作为注释出现!!
在Options可以选择要生存脚本的内容,可以选择是否创建数据库的脚本,选择要生成脚本的表
c、在selection中选择你需要生成sql的模块,指定输出目录。
二、如何用power designer安装数据库
PowerDesigner快速的创建出数据库
1.使用PowerDesigner创建数据库,首先运行程序,进入主界面:
2.File—New Model—Physical Data Model—Physical Diagram—Model name设置为test,DBMS属性设置为Microsoft SQL Server 2005:
3.首先用表格工具创建一个表格模板:
4.双击表格模板,设置属性,我们首先设置Major表:
5.设置好表名,点击Columns标签,设置字段属性,设置如图所示:
6.因为MajorID字段我们要设置为自动增长,所以要设置它的高级属性,选择MajorID字段,点击属性按钮,在General面板中勾选上Identity复选框:
7.确定后再创建一个Student表,字段设置如图所示:
8.接着是为Student创建一个MajorID外键,使用PowerDesigner可以很轻松的完成这个工作,选择关系设置工具,在Student表上按住左键不放,拖拽至Major表,便可为Student表添加一个MajorID的外键:
9.现在测试表已经设置好了,接着设置一下要生成的数据库,这些表都将被创建到该数据库中,在设计面板空白处右键—Properties,在弹出的属性设置对话框设置如下:
10.在此对新数据库的设置已经完成,但是在SQL中还是空空如也,怎么把这边设计好的结构移植到SQLServer 2005中呢?
执行操作:Database—Generate Database,设置好存储过程导出目录和文件名,点击确定即可:
11.到导出目录,就可以看见导出的数据库创建存储过程了,打开SQL,执行一下,就会看到数据库被创建好了:
三、powerdesigner怎么生成数据库
打开PowerDesigner软件,设计“概念数据模型”(ConceptualData Model):
点击workspace右键---》New—>Conceptual DataModel,
在设计属性(字段)的时候,三个字母(M、P、D)分别表示:
M:是否为空;(√表示不允许为空)
将“概念数据模型”设计的表转换为“物理数据模型”(PhysicalData Model),实际上是从“概要设计”转换为“详细设计”,即对表的具体实现。
选择“Tools”-->“Generate Physical DataModel…”即可。
点击“确定”按钮以后,就产生了对应“SQL Server 2005”数据库的表、属性、关系的具体实现。
这时就会有一个物理设计的模板出现,将你在概要设计时的实体都转换成具体的表。
第三步:在SQL Server2005中手动创建数据库(也可以用SQL创建库,pd可以将我们的表设计都转换成SQL)
需手动在SQL SERVER2005中创建您的数据!如:“Students“,此过程省略…
第四步:在数据源ODBC中配置用户数据源
第五步:在SQL Server2005中自动创建表结构
首先:根据“物理数据模型”(Physical Data Model)自动建立相应的SQL语句:
其次:执行其创建的SQL语句文件,将数据表结构自动创建到SQL Server 2005数据库中:
完成以上步骤后,刷新SQL Server 2005数据,将会看到你所创建的相关表结构。
在物理设计模板中,选择表--》右键—》SQL Perview…
生成SQL创建库和表,我喜欢懒人式,或者说拿给客户时,客户用的爽。。。
使用PowerDesigner物理模型为建的关系表添加外键,有个原则就是主表的主键名称必须和副表的外键名称一致。
1.建主表user2.建副表department
uid int primarykeydid int primary key
2.对着模型右击New->Reference
parent表为user表,child表为department
这样就建立了关系,外建也自动建立了。
关于表关系的建立,本人也存疑,但有三种思路:
1、概要设计时设计好关系。(个人倾向于这种方式,有时间尝试)
2、物理设计时设计好关系(笔者使用此方法,若表很多,关系复杂,此阶段设计关系会很痛苦。偶深受其害!)
3、生产数据库后,DBMS中建立关系(这种方式是笔者突发奇想,仔细思考,不建议采用这种方式,如果使用T-SQL重构数据库,又得重建关系)
仔细思考过后,个人认为概要设计时,设计实体、实体必要属性、实体与实体关系,然后在数据库物理设计时详细设计表属性等内容。