Sybase
PowerDesigner
15.1
Microsoft
SQL
Server
2005
第一步概要设计:
打开PowerDesigner软件,设计“概念数据模型”(ConceptualData
Model):
点击workspace
右键---》New—>Conceptual
DataModel,
d出如下界面:
设计表、表结构:
在设计属性(字段)的时候,三个字母(M、P、D)分别表示:
M:是否为空;(√表示不允许为空)
P:是否为主键;
D:是否在该软件的视图中显示
第二步:物理设计
将“概念数据模型”设计的表转换为“物理数据模型”(PhysicalData
Model),实际上是从“概要设计”转换为“详细设计”,即对表的具体实现。
将概要设计模板转换为物理设计
选择“Tools”-->“Generate
Physical
DataModel…”即可。
然后选择你的DBMS.
点击“确定”按钮以后,就产生了对应“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语句可以:
在物理设计模板中,选择表--》右键—》SQL
Perview…
生成SQL创建库和表,我喜欢懒人式,或者说拿给客户时,客户用的爽。。。
建立表的主外键关系:
使用PowerDesigner物理模型为建的关系表添加外键,有个原则就是主表的主键名称必须和副表的外键名称一致。
测试(仅测试,不含技术)
1.建主表user
2.建副表department
uid
int
primarykey
did
int
primary
key
namevarchar(32)
uid
int
2.对着模型右击New->Reference
parent表为user表,child表为department
这样就建立了关系,外建也自动建立了。
关于表关系的建立,本人也存疑,但有三种思路:
1、概要设计时设计好关系。(个人倾向于这种方式,有时间尝试)
2、物理设计时设计好关系(笔者使用此方法,若表很多,关系复杂,此阶段设计关系会很痛苦。偶深受其害!)
3、生产数据库后,DBMS中建立关系(这种方式是笔者突发奇想,仔细思考,不建议采用这种方式,如果使用T-SQL重构数据库,又得重建关系)
仔细思考过后,个人认为概要设计时,设计实体、实体必要属性、实体与实体关系,然后在数据库物理设计时详细设计表属性等内容。
修改外键命名规则选择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控件。
Java书籍太多这方面的介绍了。(1)运行PowerDesigner,并在PowerDesigner主窗口中选择主菜单中的File/New命令,在打开的New对话框左侧Model type列表框中选择Physical Data Model(物理数据模型,简称PDB)选项,在右侧的Model name文本框中输入模型名称JXCManager,在DBMS下拉列表框中选择数据库管理系统。PowerDesigner支持的数据库管理系统非常多,例如常用的MySQL 5.0、Microsoft SQL Server 2005、Oracle Version 10gR2等。企业进销存管理系统选择Microsoft SQL Server 2000作为数据库服务器,单击“确定”按钮。
(2)打开新建的PDM窗口。在该窗口的中心空白区域是模型编辑器,下方为输出窗口。另外还有一个浮动的工具面板,其中包括常用的建表工具、建视图工具和主外键引用工具。
(3)在图1.13中单击“建表工具”按钮 ,这时鼠标指针将显示为 ,在模型编辑器的合适位置单击,此时在图形窗口中将显示如图1.14所示的数据表模型。
注意:细心的读者可以发现,此时的鼠标指针仍然是 。如果再次单击还将出现类似图1.14所示的表符号。如果想取消该指针,可以单击工具面板中的 按钮或单击鼠标右键。
(4)在图1.14所示的表符号上双击鼠标左键,将打开Table Properties(表属性)对话框。默认情况下选中的是General选项卡,在该选项卡的Name文本框中,输入表的名称tb_manager,此时在Code文本框中也将自动显示tb_manager,其他选择默认即可。
(5)选择Columns选项卡,首先单击列输入列表的第一行,将自动转换第一行为编辑状态,然后在 Name列输入字段名称为ID,同时Code列也将自动显示为ID,再在Data Type列中选择int选项,最后选中P列的复选框将该数据表字段设置为主键,此时M列的复选框也将自动被选中,它约束字段值不能为空。
(6)按照步骤(5)的方法再添加两个列name和PWD,但是不需要选中P列复选框设置主键,如图1.15所示。
(7) 在图1.15中单击“应用”按钮后,选择ID字段,单击左上角的 按钮,将打开Column Properties(列属性)对话框,默认选中General选项卡,在其中选中Identity复选框,此项 *** 作用于设置ID字段使用自动编号。
(8)单击“应用”按钮后,再单击“确定”按钮,关闭Column Properties对话框。
(9)单击“确定”按钮,关闭Table Properties对话框,完成tb_manager表的创建。
(10)按照步骤(3)~步骤(9)的方法创建本系统中的其他数据表,并通过主外键引用工具建立各表间的依赖关系。创建完成的模型如图1.16所示。
技巧:在默认情况下,创建后的表模型中的全部文字均为常规样式的宋体8号字,如果想修改文字的格式,可以选中全部表符号,按Ctrl+T键,在打开的Symbol Format对话框中选择Font选项卡,从中设置相关内容的字体及样式和字号等。
(11)选择PowerDesigner主菜单中的Database/Generate Database命令,将打开Database Generation对话框。在该对话框中设置导出的脚本文件的名称(如jxc.sql)及保存路径(如D:\JXC),选中Script generation单选按钮,如图1.17所示。单击“确定”按钮,会在指定的路径中生成数据库脚本文件。
(12)在图1.17所示的对话框中选择Direct generation单选按钮,可以使用ODBC数据源直接在数据库管理系统中生成数据表和视图。但是,必须先创建数据库的数据源,然后单击 按钮选择指定的数据源,并单击“确定”按钮。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)