2、概念模型er图及概念模型转化成关系模型

上传人:小** 文档编号:58570224 上传时间:2018-10-30 格式:PPTX 页数:87 大小:467.85KB
返回 下载 相关 举报
2、概念模型er图及概念模型转化成关系模型_第1页
第1页 / 共87页
2、概念模型er图及概念模型转化成关系模型_第2页
第2页 / 共87页
2、概念模型er图及概念模型转化成关系模型_第3页
第3页 / 共87页
2、概念模型er图及概念模型转化成关系模型_第4页
第4页 / 共87页
2、概念模型er图及概念模型转化成关系模型_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《2、概念模型er图及概念模型转化成关系模型》由会员分享,可在线阅读,更多相关《2、概念模型er图及概念模型转化成关系模型(87页珍藏版)》请在金锄头文库上搜索。

1、第二讲:概念模型ER图及概念模型转化成关系模型,概念模型和实体关系图 概念模型转化成逻辑模型 PowerDesigner建立概念模型CDM 概念数据模型CDM转化成物理数据模型PDM 建立数据库,一、概念模型和实体关系图,把用户需求抽象为概念模型即为概念结构设计。 概念模型除了要求能反映客观世界并且易于理解外,还要求其易于向数据模型(如关系模型)转化。 概念模型独立于具体的数据库系统,是整个数据库设计的基础。,1. 概念模型,概念模型的用途 概念模型用于信息世界的建模 是现实世界到机器世界的一个中间层次 是数据库设计的有力工具 数据库设计人员和用户之间进行交流的语言 对概念模型的基本要求 较强

2、的语义表达能力,能够方便、直接地表达应用中的各种语义知识 简单、清晰、易于用户理解。,2. 信息世界中的基本概念,(1) 实体(Entity) 客观存在并可相互区别的事物称为实体。 可以是具体的人、事、物或抽象的概念。 (2) 属性(Attribute) 实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。 (3) 码(Key) 唯一标识实体的属性集称为码。,信息世界中的基本概念(续),(4) 域(Domain) 属性的取值范围称为该属性的域。 (5) 实体型(Entity Type) 用实体名及其属性名集合来抽象和刻画 同类实体称为实体型 (6) 实体集(Entity Set)

3、同型实体的集合称为实体集,信息世界中的基本概念(续),(7) 联系(Relationship) 现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系 实体型间联系 两个实体型 一对一联系(1:1) 三个实体型 一对多联系(1:n) 一个实体型 多对多联系(m:n),An Introduction to Database System,两个实体型间的联系,两个实体型间的联系,一对一联系 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。 实例 班级与班长之间的联系: 一个班级只有一个正班

4、长 一个班长只在一个班中任职,两个实体型间的联系 (续),一对多联系 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系记为1:n 实例 班级与学生之间的联系: 一个班级中有若干名学生, 每个学生只在一个班级中学习,两个实体型间的联系 (续),多对多联系(m:n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n 实例 课程与学生之

5、间的联系: 一门课程同时有若干个学生选修 一个学生可以同时选修多门课程,3. 概念模型的表示方法ER图,实体型 用矩形表示,矩形框内写明实体名。,学生,教师,An Introduction to Database System,E-R图(续),属性 用椭圆形表示,并用无向边将其与相应的实体连接起来,An Introduction to Database System,E-R图(续),联系 联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n) 联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这

6、些属性也要用无向边与该联系连接起来,联系的表示方法,联系的表示方法(续),联系的表示方法示例,联系的表示方法示例(续),An Introduction to Database System,联系属性的表示方法,E-R图实例:,学生,课程,班级,学生卡,学号,姓名,选课,办卡,属于,课程号,课程名,学分,卡号,余额,班号,辅导员,m,n,1,1,n,1,成绩,二、概念模型转化成逻辑模型,将E-R图转换为关系模型实际是将实体集、属性以及联系转换为相应的关系模式。 1.实体集的转换规则:概念模型中的一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系

7、模式。,2. 实体集间联系的转换规则,以下举例基于以下的E-R图,学生,课程,班级,学生卡,学号,姓名,选课,办卡,属于,课程号,课程名,学分,卡号,余额,班号,辅导员,m,n,1,1,n,1,成绩,An Introduction to Database System,1)1:1联系的转换方法,一个1:1联系可以转换为一个独立的关系,也可以与任意一端实体集所对应的关系合并。 如学生与学生卡关系的处理可以有三种,一种把学生卡的卡号作为学生关系(表)的一个属性(字段);第二种方法是把学生编号作为学生卡关系(表)的一个属性(字段);第三种方法为是单独建立一个关系(表),属性(字段)为学生号和学生卡卡

8、号。,An Introduction to Database System,2) 1:n联系的转换方法,实体间的1:n联系可以有两种转换方法:一种方法是将联系转换成一个独立的关系;另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。 如学生与班级为1:n的关系,一种方法是单独建立一个关系(表),属性(字段)为学生号和班级代码;第二种方法为在学生的关系(表)中增加班级编号属性(字段)。,3) m:n联系的转换方法,在向关系模型转换时,一个m:n联系转换为一个关系,两个多对多实体的码组成关系的码或码的一部分,多对多关系本身可以包含属

9、性。 如学生与课程的关系为m:n的关系,可以用一个独立的关系(表)表示,其属性(字段)为学生编号,课程编号和成绩,前两者是码且是外码。,最后上述概念模型转成的逻辑模型为:,学生(*学号,姓名,班号) 学生卡(*卡号,余额,学号) 班级(*班号,辅导员) 课程(*课程号,课程名,学分) 学生-课程(*学号,*课程号,成绩) *表示为码,下划线表示为外码,三、PowerDesigner设计数据库的过程 一)E-R图,学生,课程,班级,校园卡,学号,姓名,选课,持有,属于,编号,名称,学分,卡号,余额,班号,班名,m,n,1,1,n,1,成绩,班长,1,1,二)概念数据模型CDM,使用Powerde

10、signer描述E-R图(TeachingCDM):,三)生成的物理模型,根据CDM生成的物理模型PDM图(TeachingPDM):,生成物理模型的警告,学生和课程之间的多对多关系生成物理模型时会有一个index inclusion的警告 原因是外码和主码生成pdm时会自动建立index,生成的学生课程关系中,学号和课程同是为主码和外码,所以重复建立了以下索引:学号,课程号,学号课程号。,四)生成的DDL语句(部分),PDM包含了选择的DBMS的DDL语句: create table Students ( stdid char(6) not null, classid char(6) not

11、 null, name title null, constraint PK_STUDENTS primary key (stdid) ) alter table Studentsadd constraint FK_STUDENTS_STDBELONG_CLASSES foreign key (classid) references classes (classid),四、PowerDesigner的概念数据模型(Conceptual Data Model),PD对概念数据模型定义主要的内容: 设计数据库过程通常开始于概念级,在此级不需要考虑实际物理实现的细节。 一个概念数据模型CDM代表了一个

12、数据库的整体逻辑结构,它独立于任何软件或数据存储结构。,1、 基本概念,目标:使用PowerDesigner建立概念数据模型 新建:选菜单New,然后选Conceptual Data Model(概念模型),在Browse窗口的根WorkSpace下产生一个概念模型的结点,使用弹出菜单更名为“TeachingCDM”。在该结点下已自动加入一个Diagram。 在概念模型中加入实体等元素:右击概念模型TeachingCDM ,选择New/Entity或其他菜单。 设置元素的特性:右击元素,选择菜单Properties将出现特性设置的对话框,不同类型的元素由不同的页框组成。 元素的Name用于图中

13、显示,所以一般取中文,而Code用于生成物理模型的对象名(如表名、列名等),一般取英文字母。,A、实体(Entity),实体特性窗口中主要包含下列页框: General:设置实体(Entity)的编码(Code)、名称(Name)和发生的行数(Number) Attributes(属性):设置实体的属性 Identifiers:设置实体的标识(对应物理模型中码和唯一性约束),实体属性(Attributes)和数据项(Data Items),实体属性:在实体的特性窗口的Attributes页框中设置实体的属性 属性设置内容:包括Code、Name、Comment、Data type、Length

14、、Domain和Standard Checks(Maximum、Minimum和Default)等 数据项Data Item:在Entity中加入的所有属性将被自动加入在Data Items结点下作为数据项进行集中管理。也可以直接在Data Items下增加数据项,实体属性通过使用相同的Code引用该数据项定义。 属性和数据项关系:实体的属性可以看作是Data Items下数据项的组合;Data Items是所有实体属性的集合,数据项机制的意义,相同数据项目定义一次,节省了工作量 保证不同实体相同属性的定义一致性 保证相同性质的列名一致性 后两条通常先定义数据项,然后在实体中引用该数据项 前两

15、条通过域也能实现 相同含义不同定义的属性code名不要同名(如进价和售价等),属性的Code值: 缺省情况下为Data Items的唯一性标识,不同实体相同Code属性被认为对应的是一个数据项定义。 是以后生成建表SQL语句的列名。 属性的M、P和D: M=Mandatory(强制):选中表示属性非空,P=Primary Identifier:选中为主标识。 D=Displayed:选中在图中显示该属性,否则不显示。,Attribute Properties列约束,设置:双击某一属性,进入属性特性设置框,其中standard Checks页框中包含了下列常用设置:最大、最小、缺省值、格式以及所

16、有合法值 生成的物理模型中建表SQL语句示例:age int null default 18 constraint CKC_AGE_ENTITY_1 check (age is null or (age between 16 and 20 and age in (17,18,19,20,16) ),行约束:进货价格必须小于销售价格,在概念模型中新建一个Business Rules,在Expresion/Server中输入“进货价格=销售价格”(Client中只在文档中反应,而不会对物理模型产生影响) 在实体的Properties中的Rules页框点击Add Objects,选择上面建立的rule。 在生成的物理模型的建表的SQL语句中出现:constraint CKT_ENTITY_1 check (agelength),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号