`

PowerDesigner中如何添加约束

    博客分类:
阅读更多
唯一约束

唯一约束与创建唯一索引基本上是一回事,因为在创建唯一约束的时候,系统会创建对应的一个唯一索引,通过唯一索引来实现约束。不过唯一约束更直观的表达了对应列的唯一性,使得对应索引的目的更加清晰,所以一般建议创建唯一约束而不是只创建唯一索引。

在PD中创建唯一约束的操作,以教室表来说,RoomID是主键,必然是唯一的,RoomName如果我们也要去必须是唯一的,那么具体操作如下:

在PD的模型设计面板中,双击“教室”表,打开属性窗口,切换到"”Keys”选项卡,可以看到里面有一行数据PK_ClassRoom,这是主键约束。添加一行数据,命名为UQ_RoomName,不能将右边的“P”列选上,然后单击工具栏的“属性”按钮,弹出UQ_RoomName的属性窗口,切换到列选项卡,单击增加列按钮,选择将RoomName列添加到其中,然后单击确定即可完成唯一约束的添加。



这样系统就会自动创建唯一约束。

CHECK约束

CHECK分为列约束和表约束,列约束是只对表中的某一个列进行的约束,可以在列的属性中进行设置,而表约束是对多个列进行的约束,需要在表的属性中进行设置(其实列约束也可以在表约束中设置)。

1.标准CHECK约束

对于一些常用的CHECK约束,可以直接通过设置界面来完成。以班级表为例,ClassName每个学校有自己的命名规则,假设这里规定ClassName必须以2开头,那么需要在ClassName列上定义CHECK约束,使得其满足命名规范。具体操作是在PD中双击Class表,打开Class的属性窗口,切换到列选项卡,选择ClassName列,单击工具栏的“属性”按钮,弹出ClassName的属性窗口,切换到StandardChecks选项卡如图:



在这个选项卡可以定义属性的标准检查约束,窗口中每项的参数的含义,如下:

参数 说明
Minimum 属性可接受的最小数
Maximum 属性可接受的最大数
Default 属性不赋值时,系统提供的默认值
Unit 单位,如公里、吨、元
Format 属性的数据显示格式
Lowercase 属性的赋值全部变为小写字母
Uppercase 属性的赋值全部变为大写字母
Cannot modify 该属性一旦赋值不能再修改
List Of Values 属性赋值列表,除列表中的值,不能有其他的值
Label 属性列表值的标签
2.直接编写SQL语句的CHECK约束

在前面弹出ClassName属性窗口中,单击左下角的“More”按钮,系统将弹出更多的选项卡,切换到“Additional Checks”选项卡,可以设置约束名和具体的约束内容,如图所示:



表级的CHECK约束与列级的CHECK约束设置类似,单击表属性窗口左下角的“More”按钮,切换到Check选项卡,设置CHECK约束的命名和SQL语句内容。



3.使用Rule创建约束

同样以班级名必须以2开头为例,通过Rule创建CHECK约束。首先需要创建一个Rule,双击Class表,打开表的属性窗口,切换到Rules选项卡,单击“Create a Object”按钮,系统将打开一个业务规则属性窗口,修改规则名,并将规则的类型修改为Constraint,如图所示:



然后切换到Expression选项卡,设置规则的内容为“ClassName LIKE '2%'”,单击确定按钮即可完成Rule的设置。切换到表属性的Check选项卡,默认约束内容中的“%RULES%”就是用来表示Rule中设置的内容,如果我们还有一些其他的CHECK约束内容,不希望在Rule中设置,而是在Check选项卡中设置,那么只需要删除%RULES%将CHECK约束内容添加进去,也可以保留%RULES%,然后在与%RULES%之间添加一个and即可。比如规定ClassID必须小于10000,那么我们可以将Check内容设置如下:



生成的脚本如下:

create table Class (
   ClassID              int                  not null,
   ClassName            varchar(20)          not null,
   constraint PK_CLASS primary key nonclustered (ClassID),
   constraint CKT_CLASS check (ClassID<10000),
   constraint ClassNameRule check (ClassName LIKE '2%')
)
go

可以看到,根据Rule生成的CHECK约束与在Check选项卡中设置的约束将分别创建一个约束,相互并不影响。

默认约束

默认约束是用户在没有输入值的情况下,系统给出默认的值。最常用的是CreateTime字段,设置默认值为getdate(),在用户创建一行数据时记录下创建时间。例如对于选课表,需要记录下选课的时间,则可以设置ApplyTime的默认值为getdate()函数。



设置默认值约束的操作如下:双击选课表,打开表属性窗口,选择ApplyTime字段,单击工具栏的属性按钮,打开列的属性窗口,切换到Standard Checks选项卡,在Default下拉列表框中选择getdate()即可。



至此我们所有的约束在PD中的设置都介绍完了,下一篇将介绍视图、存储过程等数据库对象。

from: http://www.cnblogs.com/studyzy/archive/2009/12/17/1626650.html
分享到:
评论

相关推荐

    powerdesigner中在物理模型设置唯一约束

    该资源讲述了如何使用pd在物理模型中设置唯一约束

    PowerDesigner使用教程.doc

    CDM是一组严格定义的模型...2)数据操作表达为实体中的记录的插入、删除、修改、查询等操作; 3)完整性约束表达为数据的自身完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等);

    PowerDesigner创建属性的标准检查约束.pdf

    PowerDesigner创建属性的标准检查约束.pdf 学习资料 复习资料 教学资源

    PowerDesigner做的E-R实例的

    以下是用PowerDesigner做的E-R实例的: 一、概念数据模型概述 数据模型是现实世界中数据特征的抽象。数据模型应该满足三个方面的要求: 1)能够比较真实地模拟现实世界 2)容易为人所理解 3)便于计算机实现 概念...

    PowerDesigner教程系列-概念数据模型

    PowerDesigner中概念数据模型 CDM的基本概念。 PowerDesigner概念数据模型以及实体、属性创建。 介绍属性的标准检查约束、如何定义属性的附加检查。 介绍如何定义实体的主、次标识符。 介绍数据项、新增数据项、数据...

    建立物业管理系统PDM模型-数据库系统分析与设计.doc

    使用PowerDesigner生成能够为数据库 的表中添加记录的测试数据。 5. 实验步骤、结果及分析 1) 对物业管理系统建立物理数据模型(PDM) 1) 业务分析,得到实体及其属性如下: 1) 小区基本信息(小区编号,名称,小区...

    powerdesign教程

    第1页: 概念数据模型概述 第2页: PowerDesigner概念数据模型 第3页: 属性的标准检查约束 第4页: 如何定义实体的主、次标识符 第5页: 数据项、新增数据项、数据项的唯一性... 第6页: 联系的定义及使用 【IT168...

    PDMBrowser 2.0

    方便直观地浏览PowerDesigner数据库字典(PDM文件)的软件开发辅助工具。  ①概述:PDMBrowser读取所选的整个目录(不含子目录)下所有PDM文件,以左侧为表列表、右侧为所选表的字段描述的方式显示于界面;  ②...

    数据库设计的理解.pdf

    数据库设计的⼯作包括:确定数据库中包含哪些表、每个表包含哪些字段、所有表之间的怎么关联的(主、外键约束) 数据库设计的⼯作流程可以总结为:确定⽤户场景(⽤例)、从⽤户场景中提取系统实体、分析实体之间的...

    数据库设计思路.doc

    物理设计 对上一步的概念设计在PowerDesigner里进行实际的设计 实施阶段 把PowerDesigner里设计好的表产生SQL,然后在SqlServer里运行,产生各种 实体的表。 运行和维护 二.系统数据库的构成 1.基础类数据 设计...

    mysql5 培训 PPT beta1

    从数据库原理的讲解,到MySQL的安装、配置、标准SQL的DML、DDL、DCL、高级查询、数据库设计、表约束、PowerDesigner12.5的使用、三大范式、索引、视图、存储过程和函数、触发器,MySQL权限原理及管理、数据的备份与...

    数据库系统原理实验.doc

    图1-4 图1-5 在这个选项卡可以定义属性的标准检查约束,窗口中每项的参数的含义,如表2所示 。 表2 对话框中参数的含义 "参数 "说明 " "Minimum "属性可接受的最小数值 " "Maximum "属性可接受的最大数值 " ...

    表结构设计器(EZDML)1.42

    表结构设计器(EZDML) V1.42 (免费软件) 这是一个数据库建表的小软件,可快速的进行数据库表结构设计,建立数据模型。...新版本修改了菜单样式,字段列表中增加约束的设置,支持导出简单的EXCEL文件。

    表结构设计器(EZDML)1.43

    表结构设计器(EZDML) V1.42 (免费软件) 这是一个数据库建表的小软件,可快速的进行数据库表结构设计,建立数据模型。...新版本修改了菜单样式,字段列表中增加约束的设置,改进了导出EXCEL的样式效果。

    表结构设计器(EZDML)1.50

    表结构设计器(EZDML) V1.50 (免费软件) 这是一个数据库建表的小软件,可快速的进行数据库表结构设计,建立数据模型。...新版本修改了菜单样式,字段列表中增加约束的设置,改进了导出EXCEL的样式效果,解决一些BUG。

    数据库课程设计(5).doc

    在物理模型中根据需要添加必要的约束、视图、触发 " "器和存储过程等数据库对象,最后生成创建数据库的脚本,提出物理设计的文档。要 " "求学生提交的报告包含: " "需求说明书 " "概念数据模型(E-R数据模型) " ...

    EZDML 2.20表结构设计器最新版.rar

    类似大家常用的数据库建模工具如PowerDesigner、ERWIN、ER-Studio和Rational-Rose等的超级精简版。2018年1月18日 V2.16在鼠标位置创建表对象;复制图片默认为PNG格式(按住SHIFT键则为WMF),导出BMP、PNG和JPG格式...

    数据库设计培训.pptx

    将一个实体的一个属性(或多个属性)定义为引用其他实体的主键或惟一约束属性,则引用实体中的这个属性(或多个属性)就称为外键。被引用的实体称为主键约束(或惟一约束)实体;引用实体称为外键约束实体。 数据库...

    数据库设计说明书模板

    2.通过PowerDesigner 做出实体间的主从关系,主从的数据关系及约束关系 3.在CDM模型中对字段进行解释 贷款申请 表模型设计 聚合表Package 【说明】说明聚合原因,聚合的依赖关系及层次。 xxx Package 【说明】...

    SQL Server数据库系统教程 sqlServer数据库原理与应用教程 全套PPT课件资源集合 共21个章节.rar

    【完整课程列表】 第01章 数据概述库(共78页) 第02章 数据模型与数据库结构(共86页) 第03章 关系数据库(共98页) 第04章 SQL语言基础及数据定义功能(共38页) ...第21章 数据库设计工具 PowerDesigner(共25页)

Global site tag (gtag.js) - Google Analytics