当前位置:
文档之家› 2、概念模型ER图及概念模型转化成关系模型
2、概念模型ER图及概念模型转化成关系模型
2) 1:N联系的转换方法
实体间的1:n联系可以有两种转换方法:一种 方法是将联系转换成一个独立的关系;另一种 方法是在n端实体集中增加新属性,新属性由联 系对应的1端实体集的码和联系自身的属性构成, 新增属性后原关系的码不变。
如学生与班级为1:n的关系,一种方法是单独建 立一个关系(表),属性(字段)为学生号和 班级代码;第二种方法为在学生的关系(表) 中增加班级编号属性(字段)。
A、实体(ENTITY)
实体特性窗口中主要包含下列页框:
General:设置实体(Entity)的编码(Code)、 名称(Name)和发生的行数(Number)
Attributes(属性):设置实体的属性 Identifiers:设置实体的标识(对应物理模型
中码和唯一性约束)
实体属性(ATTRIBUTES)和数据项 (DATA ITEMS)
价和售价等)
属性的Code值:
缺省情况下为Data Items的唯一性标识,不同实体相同 Code属性被认为对应的是一个数据项定义。
是以后生成建表SQL语句的列名。
属性的M、P和D:
M=Mandatory(强制):选中表示属性非空, P=Primary Identifier:选中为主标识。
not null,
classid
char(6)
not null,
name
title
null,
constraint PK_STUDENTS primary key (stdid)
)
alter table Students
add constraint FK_STUDENTS_STDBELONG_CLASSES foreign key (classid) references classes (classid)
(7) 联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息世界
中反映为实体内部的联系和实体之间的联系
实体型间联系
两个实体型
一对一联系(1:1)
三个实体型
一对多联系(1:n)
一个实体型
多对多联系(m:n)
两个实体型间的联系
实体型1 1
联系名 1 实体型2
实体型1 1
联系名 n 实体型2
解外,还要求其易于向数据模型(如关系模型) 转化。 概念模型独立于具体的数据库系统,是整个数 据库设计的基础。
1. 概念模型
概念模型的用途
概念模型用于信息世界的建模 是现实世界到机器世界的一个中间层次 是数据库设计的有力工具 数据库设计人员和用户之间进行交流的语言
对概念模型的基本要求
D=Displayed:选中在图中显示该属性,否则不 显示。
ATTRIBUTE PROPERTIES-列约束
设置:双击某一属性,进入属性特性设置框, 其中standard Checks页框中包含了下列常用设 置:最大、最小、缺省值、格式以及所有合法 值
生成的物理模型中建表SQL语句示例:
四、POWERDESIGNER的概念数据模 型(CONCEPTUAL DATA MODEL)
PD对概念数据模型定义主要的内容: 设计数据库过程通常开始于概念级,在此级
不需要考虑实际物理实现的细节。 一个概念数据模型CDM代表了一个数据库的
整体逻辑结构,它独立于任何软件或数据存 储结构。
1、 基本概念
实例
班级与学生之间的联系: 一个班级中有若干名学生, 每个学生只在一个班级中学习
两个实体型间的联系 (续)
多对多联系(m:n)
如果对于实体集A中的每一个实体,实体集B中有n个实 体(n≥0)与之联系,反之,对于实体集B中的每一个实 体,实体集A中也有m个实体(m≥0)与之联系,则称实 体集A与实体B具有多对多联系。记为m:n
实例
课程与学生之间的联系: 一门课程同时有若干个学生选修 一个学生可以同时选修多门课程
3. 概念模型的表示方法ER图
实体型
用矩形表示,矩形框内写明实体名。
学生
教师
E-R图(续)
An Introduction to Database System
属性
用椭圆形表示,并用无向边将其与相应的实体连 接起来
实例
班级与班长之间的联系:
一个班级只有一个正班长
一个班长只在一个班中任职
两个实体型间的联系 (续)
一对多联系
如果对于实体集A中的每一个实体,实体集B中有n个实 体(n≥0)与之联系,反之,对于实体集B中的每一个实 体,实体集A中至多只有一个实体与之联系,则称实体 集A与实体集B有一对多联系 记为1:n
联系名
同一实体型内部的 m:n联系
联系的表示方法示例
班级 1 班级-班长 1
班长 1:1联系
班级 1
组成 n
学生 1:n联系
课程 m
选修 n
学生 m:n联系
联系的表示方法示例(续)
课程
1
讲授
m
n
教师
参考书
多个实体型间的1:n联系
职工
1
n
领导
同一实体型内部的 1:n联系
联系属性的表示方法
课程 m
目标:使用PowerDesigner建立概念数据模型 新建:选菜单New,然后选Conceptual Data Model(概
念模型),在Browse窗口的根WorkSpace下产生一个概 念模型的结点,使用弹出菜单更名为“TeachingCDM”。 在该结点下已自动加入一个Diagram。 在概念模型中加入实体等元素:右击概念模型 TeachingCDM ,选择New/Entity或其他菜单。 设置元素的特性:右击元素,选择菜单Properties将出现 特性设置的对话框,不同类型的元素由不同的页框组成。 元素的Name用于图中显示,所以一般取中文,而Code 用于生成物理模型的对象名(如表名、列名等),一般 取英文字母。
选ction to Database System
E-R图实例:
成绩
选课 n 课程
学号
姓名
学生
m
n
1
办卡
属于
1
1
学生卡
班级
课程号 课程名
学分
卡号
余额
班号
辅导员
二、概念模型转化成逻辑模型
将E-R图转换为关系模型实际是将实体集、 属性以及联系转换为相应的关系模式。 1.实体集的转换规则:概念模型中的一个 实体集转换为关系模型中的一个关系, 实体的属性就是关系的属性,实体的码就 是关系的码,关系的结构是关系模式。
(3) 码(Key)
唯一标识实体的属性集称为码。
信息世界中的基本概念(续)
(4) 域(Domain)
属性的取值范围称为该属性的域。
(5) 实体型(Entity Type)
用实体名及其属性名集合来抽象和刻画 同类实体称为实体型
(6) 实体集(Entity Set)
同型实体的集合称为实体集
信息世界中的基本概念(续)
原因是外码和主码生成pdm时会自动建立index, 生成的学生-课程关系中,学号和课程同是为 主码和外码,所以重复建立了以下索引:学号, 课程号,学号+课程号。
四)生成的DDL语句(部分)
PDM包含了选择的DBMS的DDL语句:
create table Students (
stdid
char(6)
如学生与学生卡关系的处理可以有三种,一 种把学生卡的卡号作为学生关系(表)的一 个属性(字段);第二种方法是把学生编号 作为学生卡关系(表)的一个属性(字段); 第三种方法为是单独建立一个关系(表), 属性(字段)为学生号和学生卡卡号。
An Introduction to Database System
学生(*学号,姓名,班号) 学生卡(*卡号,余额,学号) 班级(*班号,辅导员) 课程(*课程号,课程名,学分) 学生-课程(*学号,*课程号,成绩) *表示为码,下划线表示为外码
三、POWERDESIGNER设计数据库的过程 一)E-R图
学号
姓名
成绩
m 选课 n 课程
学生 1 持有 1 校园卡
n
第二讲:概念模型ER图及概念模
型转化成关系模型
概念模型和实体关系图 概念模型转化成逻辑模型 PowerDesigner建立概念模型CDM 概念数据模型CDM转化成物理数据模型PDM 建立数据库
一、概念模型和实体关系图
把用户需求抽象为概念模型即为概念结构设计。 概念模型除了要求能反映客观世界并且易于理
属性和数据项关系:实体的属性可以看作是Data Items下 数据项的组合;Data Items是所有实体属性的集合
数据项机制的意义
相同数据项目定义一次,节省了工作量 保证不同实体相同属性的定义一致性 保证相同性质的列名一致性
后两条通常先定义数据项,然后在实体中引用该 数据项
前两条通过域也能实现 相同含义不同定义的属性code名不要同名(如进
2. 实体集间联系的转换规则
以下举例基于以下的E-R图
成绩
选课 n 课程
学号
姓名
学生
m
n
1
办卡
属于
1 学生卡
1 班级
课程号 课程名
学分
卡号
余额
班号
辅导员
An Introduction to Database System
1)1:1联系的转换方法
一个1:1联系可以转换为一个独立的关系, 也可以与任意一端实体集所对应的关系合并。
1:1联系
1:n联系
实体型1 m
联系名 n 实体型2 m:n联系