1.概念数据模型:它是将现实世界抽象为信息世界,把现实中客观存在的对象抽象为实体与练习,然后用图形化的方式直观的描述出来,CDM以数据库概念E-R理论为基础,它独立于DBMS,CDM它由一组严格定义的模型元素组成,它包括:试题,属性联系,数据项,域等
特点:对于联系的特点,要先定义两个属性之间的总联系关系,再定义A to B 和 B to A的关系,有一个规律总的关系假如是1-n,那么A to B 和 B to A的关系一定是x-1和
y-n,也就是这两个关系的后面俩个,是总关系。
2.实体和属性
3.联系:1:1,1:n,n:m
4.标定与非标定联系:①.标定联系就是指:就相当于弱实体集一样,如果一个实体的标识符(主键)需要另一个实体的标识符共同组成其标识符的时候,那么这种联系就称为标定联系。
②.非标定联系:一个实体的标识符进入另一个实体中只能当非标识符时,那么这种联系就称为非标识符联系
5.递归联系:一个属性自己和自己存在联系,比如职工表,里面由所有员工,员工中有领导,那么自己与自己的领导这个联系就是递归联系
6.多元联系:一个联系连接多个实体(大于2个),这种联系就是多元联系
7.继承联系:一个实体有多个联系,这些联系中的属性是由那个父实体提供,而子实体中也包含自己特有的一些属性,那么那个实体就称为父实体集,那些个联系就称为子实体集,比如一个人员实体,职工实体,客户实体,这里面,人员实体就是父实体,因为人员实体中有姓名,性别,年龄,电话, 而职工和客户实体都必须有这些属性,所以,这两个实体就继承了人员实体的所有属性。也就是说父实体里面的属性是公共属性,而子实体含有自己特有的属性
8.数据项:信息存储的最小单位,他可以附加在实体上作为实体的属性,其实就是个自定义属性,你可以定义很多属性,都放在数据项中,然后打开实体,点击属性,然后添加,就会出现数据项,点击数据项,就可以从数据项中添加属性了
9.域:一组具有相同数据类型的组合
10.创建CDM
11.当你看到继承联系是灰色的时候说明是禁用的,我们要tools→model option→model setting→notation将它的值修改为“E/R+Merise”
12.创建实体,在右边的工具栏中选择实体,然后,在工作区合适地方创建,创建完毕后,双击修改属性,,attributes(属性)里面的M:表示非空,P:表示主键,D:表示是否在实体图形符号中显示该属性
13.对于0:1联系假如是:职工→仓库,就表示职工可以管理一个仓库,也可以管理仓库里面的商品而非管理整个仓库。
14.在tools→display preference中可以设置个性化显示设置,这里面有各个模型的各个对象的显示设置
15.对于联系之间关系的定义,首先要选择两个实体之间的是一对一?一对多?多对一?多对多?的关系,然后,在选择,一个实体到另一个实体的关系,也就是细分这个大关系,分为两个小关系,实体之间的互相关系。
16.关系relationship,关联association(带有属性的联系)
18.对于model check的检查项目与notation的设置有关,如果设置notation=E/R+merise则,实体标识符检查4项,若设置notation=Barker,则实体标识符检查5项
19.check model包括:警告和错误,警告有事可以忽略,而错误则一定需要改正,改正错误的方法有两种,一种是自动方式,一种是手动方式,有些可以自动修改,有些可以手动修改,这都是要看情况的
20.CDM的对象检查:
①.包检查:(1)、循环依赖,也就是说实体之间不能循环依赖,比如,实体一依赖于实体二,实体二依赖于实体三实体三又依赖于实体一,这样就构成了循环依赖, 如果出现这种情况,那么就需要删除一个依赖或联系,从而断开循环
(2)、包中不应该出现强制循环
(3)、同一个包中不应该出现相同代码的快捷方式
②.业务规则检查:(1)、业务规则的名称和代码必须唯一
(2)、业务规则没有被用到的应该删除它
③.域检查:(1)、域的名称和代码必须唯一
(3)、参数设置不一致,如;默认值不在最大值和最小值之间
(4)、数据类型中的长度应该大于数据中小数点的长度
(5)、每个域都一定有自己的数据类型
(6)、无效的数据类型需要修改为有效的类型
④.数据项检查:(1)、数据项名称和代码必须唯一
(2)、数据项存在未使用的数据项,应该删除这个数据项
(3)、多个实体使用同一个数据项
(4)、数据项与关联的域不一致
(5)、数据项中的检查参数不一致,如:不一致的数据类型,数据大小不在最小值与最大值之间等
(6)、数据总长应该大于数据中小数点的长度
⑤.实体检查:(1)、实体的名称和代码必须唯一
(2)、实体名称和代码有一定的长度限制
(3)、实体最少包含一个属性,实体最多包含一个序列属性
(4)、实体最少包含一个标识符,实体必须要有一个联系或者关联
(5)、子实体的标识符必须与父实体的标识符相同
⑥.实体属性、标识符的检查:(1)、实体属性的名称和代码必须唯一,标识符的名称和代码必须唯一,标识符至少包含一个属性,一个标识符不能标识另一个标识符
⑦.联系检查:(1)、联系的代码和名称必须唯一
(2)、联系中不允许自反依赖,需要删除或者修改,两个实体之间不应该出现双向联系
⑧.关联检查:(1)、association的名称和代码必须唯一
(2)、包含依赖连接的关联不能有任何属性,需要将关联属性移动到依赖实体中
(3)、不允许在两个实体之间存在双向连接,这与两个实体的合并是等价的,需合并实体
(4)、一个关联与多个实体连接,那么这个连接就应该大于1
(5)、多对多关联和实体不能有相同的名称和代码
21.CDM的模式、转换:①.由已有的CDM生成新的CDM模型:说白了就是修改一下就成了新的CDM模型,可以将当前这个CDM模型进行修改然后生成新的CDM模型,还可以再选择一个已经存在的CDM模型,把当前模型和已经存在的CDM模型进行比较后合并生成新的CDM模型
22.由CDM模型生成LDM模型:逻辑数据模型是概念模型的延伸,比概念模型更容易理解,同时又不依赖于具体的数据库,其中details选项卡表示:convent name into codes意思是在LDM中生成的对象的名字全部转换为代码;perserve n-n relationship表示如果LDM支持多对多联系那么由CDM生成LDM时还保留n-n,如果LDM不支持,那么就将N-N联系转换为一个实体
23.CDM转为LDM时实体,标识符,属性,联系分别转换为LDM中的实体,标识符,属性,联系。
多元联系:也就是一个实体与多个实体进行相连
24.CDM转换PDM时:实体→表,实体属性→列,主标识符→主键,次标识符→候选键,联系(relationship)→参照/引用,关联→表,关联连接→参照/引用
①、1-1联系:当没有设置dominant role(这个选项在CDM中,只针对1-1联系,确定那个实体是优势实体)时,在cdm转换成pdm时,
一一对应关系两端的实体中的标识符会进入对面实体中充当外键(FK),如果设置了优势实体,那么在转换的时候在PDM中,只产生一个FK,即优势实体中的主键进去
劣势实体中充当外键
②、1-n联系:那么就是1端实体中的主键到N端实体中充当外键,如果有依赖关系的话那么在n端既充当外键也充当主键
③、n-m联系:那么在PDM中这个联系会生出一张表,表里面包括两端实体的主键,在这张表里面两端实体的主键即是这张表的主键也是外键
④、继承联系:父实体集的所有属性进入子实体集中
⑤、关联:在PDM中是一张表,如何转换呢?,要看关联连接两端的基数是否相同,也就是是不是1-1?1-n?-n-n?如果两端都是的话那么就表示基数相同,就可以在PDM中单独生成一张表,表里面添加两端实体的主属性充当主键和外键,如果两端基数不相同,那么就将关联里面的属性合并到另一端实体生成表中同时另外一个实体的主属性进入该端实体生成的表中充当外键
25.数据类型的转化:tools→resource→DBMS,然后双击选择的数据库,进入设置,选择script节点,再选择data type→physdata type,其中physical model列的是PDM中的数据类型,而intmal列中列的是CDM中的类型
26.由CDM生成OOM(面向对象模型):OOM采用UML描述系统功能,结构特性
转换关系:Domain(域)→ Domain(域
Entity(实体)→class(类)
实体属性→属性
主标识符→主标识符
联系→关联