如何用PowerDesigner设计SQL Server数据库

如何用PowerDesigner设计SQL Server数据库,第1张

第一步:概念数据模型

打开PowerDesigner 软件,设计“概念数据模型”(Conceptual Data Model),它通常用在概要设计阶段。

设计表结构

注意:如果Palette(工具面板)没有显示,可以在工具栏 -->右键 -->选择“Palette”(打勾选中)

设计结果如下:

在设计属性(字段)的时候,三个字母(M、P、D)分别表示:

M:是否为空;(√表示不允许为空)

P:是否为主键;

D:是否在该软件的视图中显示;

添加 “Relationship” 关系时,请注意:

1、在所有实体对象中,属性的取名不能重复。

2、

当添加引用完整性时,外键表不必添加主键表的主键字段作为外键。因为,在添加“Relationship”关系

之后,再转换为物理模型以后,外键表将自动添加外键字段列。

3、在添加 “Relationship” 关系时,起始点实体默认为主键表,结束点实体默认为外键表。当然,可以在 “Relationship” 中改变。

第二步:物理数据模型

将“概念数据模型”的相关设计转换为“物理数据模型”(Physical Data Model),相当于从“概要设计”转换为“详细设

计”,即对表和关系的具体实现。

选择“Tools”-->“Generate Physical Data Model . . .”即可。

然后选择 SQL Server 2005 数据库管理软件:

点击“确定”按钮以后,就产生了对

应“SQL Server 2005”数据库的表、属性、关系的具体实现。

在PowerDesigner 中添加约束

1>查看或设置属性(字段)的相关约束

2>设置“标识列”(自动增长)

3>设置“默认值”

4>设置“Check 约束”

5>设置唯一索引

概念数据模型与物理数据模型中的一些细节区别:

1>在概念模型中,不要添加表的相关约束,应该在物理模型中添加表的相关约束;

2>只有在物理模型中,PowerDesigner 才会显示“Database”菜单项。也只有在“Database”

菜单项中才有“Database Generation”选项(用于生成SQL 语句);

第三步:在SQL Server 2005中手动创建数据库

比如:我在SQL Server 2005中手动创建数据库“Students”示例。

第四步:在数据源ODBC中配置用户数据源

比如:我在用户数据源中,添加数据库“Students”的数据源。

第五步:在SQL Server 2005中自动创建表结构

首先:根据“物理数据模型”(Physical Data Model)自动建立相应的SQL语句:

其次:执行其创建的SQL语句文件,将数据表结构自动创建到SQL Server 2005 数据库中:

完成以上步骤后,刷新SQL Server 2005数据,将会看到你所创建的相关表结构。

当然,以上两个步骤可以一起完成:

只要在“Database”-->“Database Generation”中,选择“Direct generation”即可:

这样,使用PowerDesigner 设计SQL Server 数据库的基本步骤就全部完成!

http://www.cnblogs.com/xugang/archive/2011/01/20/1939960.html

修改外键命名规则

选择Database—>Edit Current DBMS

选择Scripts-》Objects-》Reference-》ConstName

可以发现右侧的Value为:

FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%

可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中模式自定义为:

FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,

可以使FK名称变为FK_TABLE_2_RELATIONS_TABLE_1

掌握这种方法后就可以按照自己的想法修改了

生成建库脚本SQL文件中的表头注释很讨厌,可以在 Databse ->Generate Database (Ctrl+G)窗口中,选择Options卡片,去掉Usage的Title钩选项即可。

添加外键

Model ->References新建一条外键后,双击进入外键属性,在“Joins”卡片中可以选择子表的外键字段

如何实现Name和code不自动相等

如何实现在CDM中创建Entity时,Name和Code不自动对应

设置tools--Gerneral options--->dialog---->name to code mirroring

-------------------------------------

如何把NAME 列在 scrip里显示出来

修改字段生成规则。要给每个字段都添加一个注释的话,同一窗口中展开 Script ->Object ->Column ->Add 的 Value修改为:

%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]

[[constraint %CONSTNAME%] check (%CONSTRAINT%)]]

其中的%COLNNAME%就是列的Name值(可以是中文)

---------------------------------------------------------------------------------

POWERdESIGEN 自增长列的设置

PDM里查看表的属性,Columns选项卡,选中整列,查看列属性,点左上方的properties图标(有手形图案的那个),此时打开一个设置窗口,General选项卡里面进行设置.

在列属性的General标签页里有个Identity复选框,勾上就行了

--------------------------------------

1 如何在PowerDesigner下建索引

2 如何在PowerDesigner 下建自增列

3 如何在PowerDesigner 下检查设计模型

1 如何在PowerDesigner下建索引

1 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes

2 单击新建索引的属性,出现Indexex Properties

3 增加一个索引包含的字段

2 如何在PowerDesigner 下建自增列

2 使用SqlServer 数据库中的下列语句来完成

建表语句中,在要做为自增列的字段中,加上如下

IDENTITY(1,1)

还有可以使用下面语句,重置自增种子

dbcc checkident(ConfigSys,reseed,0)

3 如何在PowerDesigner 下检查设计模型

1 在菜单栏中选择 Tools -? Check Model, 如下图

2 选择要检查的每项设置

3 确定后,将出来检查结果汇总信息

1. 设置CDM生成PDM时的错误检查

Tools -->Check Model

2. 如何防止一对一的关系生成两个引用(外键)

要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。

在cdm中双击一对一关系->Detail->Dominant role选择支配关系

3. PowerDesigner8中的CDM设计的外键作主键的问题

两个实体之间是一对一的关系。两个实体的标识符是“一样的”--但是好像CDM中不允许相同。这样的情况怎么处理?

CDM里好像没有外键,我是说转换成PDM之后,外键又要做表的主键,在对应的CDM里是怎么设置的?

双击关系,在d出的Relationship Properties窗口中选择Detail选项,然后将Dependent复选框选中,即可

4. 禁止根据name自动输入code

Tools -->General Options -->Dialog -->取消选中Name to Code mirroring

这段时间,使用PD做数据库模型,感觉很不错,将自已的经验总给一下.还有许多功能我没时间总结,以后有时间,继续补吧

1 如何在PowerDesigner下建索引

2 如何在PowerDesigner 下建自增列

3 如何在PowerDesigner 下检查设计模型

1 如何在PowerDesigner下建索引

1 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes

2 单击新建索引的属性,出现Indexex Properties

3 增加一个索引包含的字段

2 如何在PowerDesigner 下建自增列

2 使用SqlServer 数据库中的下列语句来完成

建表语句中,在要做为自增列的字段中,加上如下

IDENTITY(1,1)

还有可以使用下面语句,重置自增种子

dbcc checkident(ConfigSys,reseed,0)

3 如何在PowerDesigner 下检查设计模型

1 在菜单栏中选择 Tools -? Check Model, 如下图

2 选择要检查的每项设置

3 确定后,将出来检查结果汇总信息

在 powerdesigner 中设置 自增 得索引不用那么麻烦,其实只要在 概念模型中在属性中把columns中要自增得字段得类型设置成为 serial 就可以了!

1。使用PowerDesigner检查数据库设计错误~

PowerDesigner 还可用于快速检测新模型中的数据库设计错误。

检查新的模式:

从 [Tools] 菜单中选择 [Check Model]。

此时,就会出现 [Check Model Parameters] 对话框。可以使用缺省参数。

另外也可以直接在空白处单击右键,选择Check Model...即可,我一般喜欢这样用。

单击 [确定]。

此时,在 [Result List] 中就会显示 [Check Model] 的结果。

2。如何将Conceptual Data Model (CDM)转换成Physical Data Model(PDM)?

即将概念数据模型转换成物理数据模型。

二者的区别是,CDM是纯粹概念上的模型,PDM是和具体的数据库类型相关的,比如SQL Server 2000或者Oracle。生成SQL语句当然也就需要从PDM生成。

在菜单上选择Tools ->Generate Phisical Data Model

最后选择你的数据库类型,即可。

3。使用PowerDesigner生成SQL语句~

可以使用 PowerDesigner 生成一个 SQL 脚本,该脚本用于实施模型的所有组件。然后,使用 SQL 脚本生成一个数据库。

这时候要确保你用的是PDM。

生成 SQL 脚本以新建数据库:

从 [Database] 菜单中选择 [Generate Database]。

此时,就会出现 [Database Generation] 对话框

在 [Directory] 字段中键入 c:Temp,并在 [File Name] 字段中键入 NewDemo.sql。

确保选中了 [ Generation]。

单击 [Database] 选项卡,并确保选中了 [Create Database]。

浏览其它选项卡,以查看控制所生成脚本的许多其它属性的选项。

单击 [确定]。

创建脚本后,就会出现 [Result] 对话框。

4。为什么出现Warning : table Existence of index 表名 ?

说明该表没有建立索引。不过这是一个警告,不是错误,可以不用理会它。

5。如何建立联合主键?

联合主键就是一个表里面有多个主键,比如一份学生选课的表里面,学生ID和课程ID就同时是主键。

在设置Attributes,把2个字段的P那项都勾上,P表示Primary Key主键。

6。如何建立外键Foreign Key?

在PowerDesigner中,通过建立关系Relationship就可以自动建立外键,不需要手动添加。

而建立Relationship有2种办法:可以通过菜单选择Model ->Relationships...,也可以通过在右边的工具栏中拖拽Relationship控件。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7954717.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存