PowerDesigner应用教程(深蓝居)(2)
物理模型能够直观的反应出当前数据库的结构。在数据库中的表、视图、存
储过程等数据库对象都可以在物理模型中进行设计。由于物理模型和数据库的一
致性,接下来以数据库对象和物理模型对象的对应来一一介绍:
新建物理模型时需要指定物理模型对应的DBMS,这里我们使用SQL
Server2008,新建一个物理模型后,系统会显示一个专门用于物理模型设计的
单击一次便可添加一个表,系统默认为表命名为Table_n,这里的n会随着添加
统将打开表属性窗口,在General选项卡中可以设置表的Name、Code等属性。
例如我们要新建一个教室表(ClassRoom),则可修改Name和Code。Name 的表增多而顺序增加。添加的表是没有任何列的,如图所示: 工具栏:
物理模型设计1——表和主外键
在PD中建立物理模型由以下几种办法:
若要在物理模型中添加一个表,单击“表”按钮,然后再到模型设计面板中
单击工具栏的鼠标指针按钮,将鼠标切换回指针模式,然后双击一个表,系
10
是在模型中显示的名称,Code是生成数据库表的时候的实际表名。另外Name
是模型上显示的名称,Code是生成的实际的表名,后面的3个复选框P代办主
键、F代表外键,M代表不能为空。为教室表设计了两个列,如图所示: 中的内容还会作为SQLServer中的表备注。
单击Columns切换到列选项卡,在下面的列表中可以添加表中的列。Name
11
主键
在设计一个表时,一般情况下每个表都会有一个主键,主键分为单列主键和
复合主键。在为表设置主键时有以下几种办法:
1.在Columns选项卡中,直接选中主键列的P列复选框,这是最简单的方
式。
2.选中一个列,然后单击工具栏中的“属性”按钮,系统将弹出列属性窗口,
在该窗口中可以设置该列的各种属性,当然也包括该列是否是否是主键。另外还
有一个很重要的复选框是“Identity”。选中Identity复选框则表示该列为自增
列。
12
3.切换到Keys选项卡中,在其中添加一行命名为PK_ClassRoom,然后单
击工具栏的“属性”按钮,打开键属性窗口,在该窗口中切换到Columns选项
卡,单击添加列按钮,弹出列选择窗口,选中主键中应该包含的列,单击确定按
钮即可完成主键的创建。
13
另外需要注意的是,在建立主键时,系统会在主键上建立索引,索引分为聚
集索引和非聚集索引,在“键属性”窗口的General选项卡中可以设置该主键
如果是由概念模型或者逻辑模型生成物理模型,那么外键是通过
Relationship生成的,也可以通过工具栏中的Reference来实现两表之间的外
键关系。假如一个课程只会在一个固定的教室上课,而一个教室会安排多个课程
在不同的时间上课,所以教室和课程是一对多的关系,那么课程表中就需要添加
RoomID列以形成外键列,具体操作方法就是在工具栏中单击“Reference”按
钮,然后在设计面板中,课程表上按下鼠标左键,并拖拽到教师表中放开鼠标,
这时如果课程表中没有RoomID列,系统会自动创建RoomID列并创建该列上
的外键引用,如果已经存在RoomID列,则只添加外键引用,不会再添加新列。 上建立的索引是聚集索引还是非聚集索引,如图所示:
外键
14
切换到鼠标指针模式,双击箭头,系统将弹出引用的属性窗口,在属性窗口 中可以设置该引用的Name、Code、关联的列、约束名、更新策略和删除策略
等。
15
唯一约束与创建唯一索引基本上是一回事,因为在创建唯一约束的时候,系
统会创建对应的一个唯一索引,通过唯一索引来实现约束。不过唯一约束更直观
的表达了对应列的唯一性,使得对应索引的目的更加清晰,所以一般建议创建唯
一约束而不是只创建唯一索引。
在PD中创建唯一约束的操作,以教室表来说,RoomID是主键,必然是唯
一的,RoomName如果我们也要去必须是唯一的,那么具体操作如下:
在PD的模型设计面板中,双击“教室”表,打开属性窗口,切换到"”Keys”
选项卡,可以看到里面有一行数据PK_ClassRoom,这是主键约束。添加一行
数据,命名为UQ_RoomName,不能将右边的“P”列选上,然后单击工具栏
的“属性”按钮,弹出UQ_RoomName的属性窗口,切换到列选项卡,单击
增加列按钮,选择将RoomName列添加到其中,然后单击确定即可完成唯一
约束的添加。
物理模型设计2——约束
唯一约束
16
这样系统就会自动创建唯一约束。 CHECK约束
CHECK分为列约束和表约束,列约束是只对表中的某一个列进行的约束,
可以在列的属性中进行设置,而表约束是对多个列进行的约束,需要在表的属性
中进行设置(其实列约束也可以在表约束中设置)。
1.标准CHECK约束
对于一些常用的CHECK约束,可以直接通过设置界面来完成。以班级表为
例,ClassName每个学校有自己的命名规则,假设这里规定ClassName必须
以2开头,那么需要在ClassName列上定义CHECK约束,使得其满足命名规
范。具体操作是在PD中双击Class表,打开Class的属性窗口,切换到列选项
17
卡,选择ClassName列,单击工具栏的“属性”按钮,弹出ClassName的属
下:
参数
性窗口,切换到StandardChecks选项卡如图:
在这个选项卡可以定义属性的标准检查约束,窗口中每项的参数的含义,如
说明
Minimum
属性可接受的最小数
Maximum
属性可接受的最大数
Default
属性不赋值时,系统提供的默认值
Unit
单位,如公里、吨、元
Format
属性的数据显示格式
Lowercase
属性的赋值全部变为小写字母
Uppercase
属性的赋值全部变为大写字母
18
Cannotmodify
该属性一旦赋值不能再修改
ListOfValues
属性赋值列表,除列表中的值,不能有其他的值
Label
属性列表值的标签
2.直接编写SQL语句的CHECK约束
在前面弹出ClassName属性窗口中,单击左下角的“More”按钮,系统
将弹出更多的选项卡,切换到“AdditionalChecks”选项卡,可以设置约束名
角的“More”按钮,切换到Check选项卡,设置CHECK约束的命名和SQL
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




