概念数据模型设计讲解.docx
《概念数据模型设计讲解.docx》由会员分享,可在线阅读,更多相关《概念数据模型设计讲解.docx(18页珍藏版)》请在冰豆网上搜索。
概念数据模型设计讲解
、新建概念数据模型
1)选择File-->New,弹出如图所示对话框,选择CDM模型(即概念数据模型)建立模型。
2)完成概念数据模型的创建。
以下图示,对当前的工作空间进行简单介绍。
(以后再更详细说
明).
3)选择新增的CDM模型,右击,在弹出的菜单中选择“Properties”属性项,弹出如图所示对话框。
在
“General”标签里可以输入所建模型的名称、代码、描述、创建者、版本以及默认的图表等等信息。
在
“Notes”标签里可以输入相关描述及说明信息。
当然再有更多的标签,可以点击
按钮,这里就不再进行详细解释。
?
牯?
尾
二、创建新实体
1)在CDM的图形窗口中,单击工具选项版上的Entity工具,再单击图形窗口的空白处,在单击的位置
就出现一个实体符号。
点击Pointer工具或右击鼠标,释放Entitiy工具。
如图所示
2)双击刚创建的实体符号,打开下列图标窗口,在此窗口“General”标签中可以输入实体的名称、代
码、描述等信
、添加实体属性
ami
\Code
Data7ype
DonwiriM
建立标识符
b尸单于…』
二、二如馨;二
1=…—
一追力q“属性描入属性
衣示该属性为融'制不能为空值广
T厂厂厂厂*rr'匚厂r厂广亡看rr厂厂F广厂厂厂厂厂「厂广厂厂
袤示是否在图形窗口中
IIH'+'lll-oRIIH-•laii'+'IIB'-'HII'
一上丄J-:
'-■:
□K|
匚anew
A.PF.M|
Help
注意:
数据项中的“添加属性”和“重用已有数据项”这两项功能与模型中DataItem的Uniquecode
和Allowreuse选项有关。
P列表示该属性是否为主标识符;D列表示该属性是否在图形窗口中显示;M列表示该属性是否为强制的,
即该列是否为空值。
如果一个实体属性为强制的,那么,这个属性在每条记录中都必须被赋值,不能为空。
2)在上图所示窗口中,点击插入属性按钮,弹岀属性对话框,如下图所示
注意:
这里涉及到域的概念,即一种标准的数据结构,它可应用至数据项或实体的属性上。
在以下的教程中将另立章节详细说明。
目标:
本文主要介绍属性的标准检查约束、如何定义属性的附加检查。
一、定义属性的标准检查约束
标准检查约束是一组确保属性有效的表达式。
在实体属性的特性窗口,打开如图所示的检查选项
在这个选项卡可以定义属性的标准检查约束,窗口中每项的参数的含义,如下
属性可接受的最小Minimum
属性可接受的最大Maximum
属性不赋值时,系统提供的默认Default
单位,如公里、吨、Unit
属性的数据显示格Format
属性的赋值全部变为小写字Lowercase
属性的赋值全部变为大写字Uppercase
该属性一旦赋值不能再修Cannotmodify
属性赋值列表,除列表中的值,不能有其他的ListOfValues
属性列表值的标签Label
二、定义属性的附加检查选项卡的AdditionalChecks可以在当Standardchecks或Rules不能满足
检查的要求时,使语句中通子Server页上,过SQL几个变量来定
义、%LOWER%%UPPER%%RULES%%LISTVAL%%MINMAX%用、、、如图所示Rule,和
Standard
%MINMAX%、%LISTVAL%、%UPPER%、%LOWER%
在StandardCheck中定义的Minimum和Maximum、Listvalues、uppervalues、lowervalues
%RULES%
在Rules特性窗口Expression选项卡中定义的有效性规则表达式
目标:
本文主要介绍如何定义实体的主、次标识符。
一、标识符
标识符是实体中一个或多个属性的集合,可用来唯一标识实体中的一个实例。
要强调的是,CDM中的标识
符等价于PDM中的主键或候选键。
每个实体都必须至少有一个标识符。
如果实体只有一个标识符,则它为实体的主标识符。
如果实体有多个标识符,则其中一个被指定为主标识符,其余的标识符就是次标识符了。
二、如果定义主、次标识符
1)选择某个实体双击弹岀实体的属性对话框。
在Identifiers选项卡上可以进行实体标识符的定义。
如下
图所示
2)选择第一行“主标识符”,点击属性按钮或双击第一行“主标识符”,弹岀属性对话框,如图所示
3)选择?
瑴械畢整屳选项卡,再点击“AddAttributes”工具,弹出如图所示窗口,选择某个属性作为标
识符就行了。
目标:
本文主要介绍数据项、新增数据项、数据项的唯一性代码选项和重用选项等。
一、数据项
数据项(DataItem)是信息存储的最小单位,它可以附加在实体上作为实体的属性。
注意:
模型中允许存在没有附加至任何实体上的数据项。
二、新建数据项
1)使用“Model”--->DataItems
按钮,创建一个新数据项,如图所示
菜单,在打开的窗口中显示已有的数据项的列表,点击“Add
aRow”
窗Hl爲电CSX轴引孔绘込
2)当然您可以继续设置具体数据项的Code、DataType、Length等等信息。
这里就不再详细说明了。
三、数据项的唯一性代码选项和重用选项
使用Tools--->ModelOptions->ModelSettings。
在DataItem组框中定义数据项的唯一性代码选项
(UniqueCode)与重用选项(AllowReuse)。
注意:
如果选择UniqueCode复选框,每个数据项在同一个命名空间有唯一的代码,而选择Allow
Cancel
Apply
Help
OK
,一个数据项可以充当多个实体的属性。
reuse
四、在实体中添加数据项
1)双击一个实体符号,打开该实体的属性窗口。
选项卡,打开如下图所示窗口Attributes)单击
GeneralAlffibutes|Mantih^rs\Notes|Rules
引用一个已存在的数
*BX|M|囂壑
Nline
Co血|De怡T,p^
Domar閘]P|D|
厂厂L
i5etection(Con匚皀ph_i曰IDbIz丑Mod占:
t)
2J
电L边,闿』可%
fill
fill
|Cade
DataTyf>e
Used日p|
壬旳出生日期
出生日期
Date
学生
姓名
Veriahlechar...
学生
口网姓名
姓名2
Var^blechar..
Entity„2
h砂历
学历
字学号
学号
1ntecer
学生
Characters⑴
身特还昌
Varr^btechar...
学生
\如果你设肓「im対応叮血选项,
当添加一
'个数据项臥伽陀会自己调輕
]\D^taHems/
添加一个数据项
Cancel
Help
-
-
CcnceptwIDat'aMi-馆
0^ect(s]selected0?
7
^liar-nllli*!
>ifl!
—billMlIMl":
UK
■*■•**・I—・l•-“
giiFnlibyPnjpurri"-fntity?
(切口即工7
注意:
AddaDataltem与ReuseaDataltem的区别在于
AddaDataltem情况下,选择一个已经存在的数据项,系统会自动复制所选择的数据项。
如果您设置了
UniqueCode选项,那系统在复制过程中,新数据项的Code会自动生成一个唯一的号码,否则与所选择
的数据项完全一致。
ReuseaDataltem情况下,只引用不新增,就是引用那些已经存在的数据项,作为新实体的数据项。
目标:
本文主要介绍联系的定义及使用。
一、联系
联系(Relationship)是指实体集这间或实体集内部实例之间的连接。
实体之间可以通过联系来相互关联。
与实体和实体集对应,联系也可以分为联系和联系集,联系集是实体
集之间的联系,联系是实体之间的联系,联系是具有方向性的。
联系和联系集在含义明确的情况之下均可称为联系。
按照实体类型中实例之间的数量对应关系,通常可将联系分为4类,即一对一(ONETOONE)联系、
一对多(ONETOMANY)联系、多对一(MANYTOONE)联系和多对多联系(MANY
)。
TOMANY.
二、建立联系
实体间建立继承
实体间建立联系
、关联与实体间建立
在CDM工具选项板中除了公共的工具外,还包括如下图所示的其它对象产生工具。
在图形窗口中创建两个实体后,单击“实体间建立联系”工具,单击一个实体,在按下鼠标左键的同时把光标拖至别一个实体上并释放鼠标左键,这样就在两个实体间创建了联系,右键单击图形窗口,释放
A
0,1Ft色laior^hip10fn
0
*
Relationship工具。
如下图所示
三、四种基本的联系即一对一(ONETOONE)联系、一对多(ONETOMANY)联系、多对一(MANYTOONE)联系和
多对多联系(MANYTOMANY)。
如图所示
四种基本的联系
四、其他几类特殊联系
除了4种基本的联系之外,实体集与实体集之间还存在标定联系(IdentifyRelationship)、非标定联系(Non-ldentifyRelationship)和递归联系(RecursiveRelationship)。
标定联系:
每个实体类型都有自己的标识符,如果两个实体集之间发生联系,其中一个实体类型的标识符进入另一个实体类型并与该实体类型中的标识符共同组成其标识符时,这种联系则称为标定联系,也叫依赖联系。
反之称为非标定联系,也叫非依赖联系。
注意:
在非标定联系中,一个实体集中的部分实例依赖于另一个实例集中的实例,在这种依赖联系中,每个实体必须至少有一个标识符。
而在标定联系中,一个实体集中的全部实例完全依赖于另个
实体集中的实例,在这种依赖联系中一个实体必须至少有一个标识符,而另一个实体却可以没有自己的标识符。
没有标识符的实体用它所依赖的实体的标识符作为自己的标识符。
换句话来理解,在标定联系中,一个实体(选课)依赖一个实体(学生),那么(学生)实体必须至少有
一个标识符,而(选课)实体可以没有自己的标识符,没有标标识符的实体可以用实体(学生)的标识符
作为自己的标识符。
递归联系:
递归联系是实体集内部实例之间的一种联系,通常形象地称为自反联系。
同一实体类型中不同实体集之间的联系也称为递归联系。
谨归联丟
1J
部分即可。
如图
例如:
在“职工”实体集中存在很多的职工,这些职工之间必须存在一种领导与被领导的关系。
又如“学生”实体信中的实体包含“班长”子实体集与“普通学生”子实体集,这两个子实体集之间的联系就是一种递归联系。
创建递归联系时,只需要单击“实体间建立联系”工具从实体的一部分拖至该实体的别一个
五、定义联系的特性在两个实体间建立了联系后,双击联系线,打开联系特性窗口,如图所示
六、定义联系的角色名
在联系的两个方向上各自包含有一个分组框,其中的参数只对这个方向起作用,RoleName为角色名,
描述该方向联系的作用,一般用一个动词或动宾组表。
如:
“学生to课目”组框中应该填写“拥有”,而在“课目To学生”组框中填写“属于”。
(在此只是举例说明,可能有些用词不太合理)。
七、定义联系的强制性
Mandatory表洋这个方向联系的强制关系。
选中这个复选框,则在联系线上产生一个联系线垂直的竖线'
不选择这个复选框则表示联系这个方向上是可选的,在联系线上产生一个小圆圈。
八、有关联系的基数
联系具有方向性,每个方向上都有一个基数。
举例,
“系”与“学生”两个实体之间的联系是一对多联系,换句话说“学生”和“系”之间的联系是多对一联
系。
而且一个学生必须属于一个系,并且只能属于一个系,不能属于零个系,所以从“学生”实体至“系”
实体的基数为“1,1”,从联系的另一方向考虑,一个系可以拥有多个学生,也可以没有任何学生,即零个学生,所以该方向联系的基数就为“0,n”,如图所示
学生
.cRelationship^?
tl