第3讲 数据库设计方法—逻辑模型以及ER模型到关系模型的转化
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
职工
1
领导
N
民意评价
22
4) 同一实体集各实体间1: N联系
工号 1 2 3 …
姓名 陈一 李二 张三 …
工资 850 890 900 …
领导者工号 民意评价 3 称职 3 优秀 3 … 称职 …
23
5) 同一实体集各实体间M: N联系
则需为“联系”单独建一个关系。该关系中至少应 包含被它联系的双方实体的“主键”,若“联系” 有属性,也要纳入该关系中。
学生关系和指导关系可合并。
学生(学号,姓名,性别,年龄,专业,教师号,时间,地点) 主关键字:学号
以下的关系模型为补充内容
4) 同一实体集各实体间1: N联系 可在这个实体关系中多设一个属性,用来表示与当前 实体(表中当前行)相联系的另一个实体的“主键”。
工号
姓名
工资
另一个实体的主键 职工(工号,姓名,工资, 领导者工号,民意评价)
14
学号
姓名
性别 学生(学号,姓名,性别) 成绩 选修(学号,课程号,成绩)
学生
M
选修
N
课程 课程号 课程名 学分
课程(课程号,课程名,学分)
15
练习
将下面ER图中M:N的联系转换为关系描述
3) 两实体集间1:1联系
对两实体间1:1联系,有二种转换方案:
第一:“联系”不单独建立关系,将实体集A主键放
29
练习
30
1. 问题 20分钟
1. 有人说:“E-R模型只能转换为关系模型,不能转换 为层次模型或网络模型”,这种说法对么? 2. 简述E-R模型转换为关系模型规则(1:1, 1:N, N:M) 3. 关系模型和关系模式这两个概念有什么不同?关系模 式和关系这两个概念有什么不同? 4. 一个关系可以有多个候选关键字么?一个关系可以有 多个关键字么?一个关系可以有多个外部关键字么?
31
题1:某研究所科研管理系统情况如下: 部门:包括部门号、部门名、办公室。每个部门有多名职工。 职工:包括职工号、姓名、性别、年龄、职称、专业、简历。 简历:包括开始时间、终止时间、工作单位、担任职务。 项目:包括项目编号、项目名称、项目经费、项目来源、负责人。 每名职工可参加多个项目,每个项目可多名职工参加。 要求: 画出表达此问题的实体关系图。 根据设计E-R模型,将其转换成关系模型,并标出主外键。
3.1 关系模型的基本概念
(7) 分量:元组中的一个属性值 (8) 关系模式(relational schema):是对关系的描述,表现 为关系名和属性的集合。一般表示为:R(U, D, dom,F) R:关系名;U:组成关系的属性名集合,D:属性组U 中属性所来自得域的集合,dom:属性向域的映射集 合,F:属性间数据的依赖关系集合 通常将关系模式简记为R(A1,A2……An)或R(U) A1,A2……An为属性名
到实体集B中作为外键。
第二: “联系”不单独建立关系,将实体集B主键放
到实体集A中作为外键。
17
姓名
性别
年龄 方案1:
校长
校长(姓名,性别,年龄)
学校(学校名,校址,类别, 姓名) 方案2 学校(学校名,校址,类别) 校长(姓名,性别,年龄, 学校名)
1
管理
1
学校
学校名
校址
类别
18
ER图转换为关系模式
9
从ER图导出关系模型数据结构
ER图描述信息的结构,是构造数据模型的依据。从ER图 出发导出关系模型数据结构的两个原则:
① 对ER图中的每个“实体集”,都应转换成一个关系;
② 对ER图中的 “联系”,根据实体联系的方式,采 取不同的方法加以处理;
10
1) 两实体集间1: N联系
无需专门用一个关系表示“联系”。可将“1”方关
学生 选修 课程
图2
m m 讲授
n
指导Leabharlann Baidu图 6.12 图2
1
教师
完 善 后 的 E-R图 28
小结
1. 逻辑模型能够表现数据结构、数据操作、数据约束。 2. 逻辑模型有层次型、网络型、关系型三种,关系模型 是当前数据库的主要数据模型。 3. 为了表示数据在计算机上如何组织、如何操作、如何 约束,应将E-R模型转换为逻辑模型。 4. 关系型逻辑模型是当前最常见的数据库逻辑模型。 5. 关系数据库是表和其他数据库对象的集合,表的列应 满足原子特征,即列是不可分解的。
系的主键纳入“N”方关系中作为外键,同时把联系
的属性也一起纳入“N”方关系中。
11
学校名
校址
校长 学校(学校名,校址,校长)
学校 年薪
1
聘任
N
教师 教师(教工号,姓名,专长, 学校名,年薪)
教工号
姓名
专长
外键
12
练习
将下面ER图中1:N的联系转换为关系描述
2) 两实体集间M: N联系
必须对“联系”单独建立一个关系。“联系”关系 的属性至少包含它所关联的双方实体的“主键”, 若“联系”自身有属性,也要一起纳入“联系”关系 中。
物理模型 在逻辑模型确定后,要将逻辑模型提出的静态结构、动 态结构、约束规则在计算机上进行实现,这项工作由 DBMS软件实现。 目前的DBMS大多支持关系型逻辑模型,比如Oracle, SQL Server,DB2等等。 我们也可以开发自己的DBMS,但这项工作的所需的人 力是很大的,所以当前软件行业的做法是:使用比较成 熟的DBMS系统,解决具体应用问题。因此,物理模式 一般不作过多的讨论。
课程号 课程名 学分
课程
课程(课程号,课程名,学分)
M
预修
N
预修(课程号,预修课程号)
24
6) 多个实体集间M: N联系
必须为“联系”单独建一个关系。该关系中至少应
包含被它联系的双方实体的“主键”,若“联系”有 属性,也要纳入该关系中。
25
工程号
工程名
工程进度
工程项目
M
需求
工程项目(工程号,工程名, 工程进度)
主关键字:课程号
3.4 ER图转换为关系模式
3. 应用举例
步骤2、每个联系(二元的)也转换成一个关系
选课(学号,课程号,分数) 主关键字:学号+课程号 外关键字:学号、课程号
授课(教师号,课程号) 主关键字:教师号+课程号
外关键字:教师号、课程号
指导(学号,教师号,时间,地点) 主关键字:学号 外关键字:教师号
27
课堂小练
2::某大学实现学分制,学生可根据自己情况选课。每名学生可同时选修多门课程, 每门课程可由多位教师主讲;每位教师可讲授多门课程。其不完整的E-R图如图1所示。 1. 指出学生与课程的联系类型。指出课程与教师的联系类型。 2. 若每名学生有一位教师指导,每个教师指导多名学生,则学生与教师是如何联系? 3. 在原E-R图上补画教师与学生的联系,并完善E-R图。 4. 最后将ER图转换成关系模型。 答: 学生与课程联系类型是多对多联系。 课程与教师的联系类型是多对多联系。 学生与教师的联系类型是一对多联系。 图1 完善本题E-R图的结果如图2所示。 m 图1 n
1
数据库原理与应用
第3讲 数据库设计方法—ER模型到 关系模型的转化
2
本讲内容、重点和难点
重点 ER模型到关系模型的转化 难点 关系数据库概述 关系型逻辑模型是当前最常见的数据库逻辑模型
3
3.1 关系模型的基本概念
1.关系 将一个没有重复行、重复列的二维表看成一个关系。 2.元组(记录) 二维表的每一行在关系中称为关系的一个元组。 3.属性(字段) 二维表的每一列在关系中称为属性。 4.关键字 关系中用于区分和标示不同元组的属性组合。 5.外部关键字 如果关系中某个属性组合是另一个关系的关键字,则 称此属性组合为本关系的外部关键字。外部关键字体 现表间的联系。 6. 元 属性个数(n)称为关系的元。 4
应用举例
实例1:将下面ER图转化为关系模式和表,并写出关键字和外关键字 。
ER图转换为关系模式
应用举例—解答 解答:步骤1、每个实体转换为一个关系 教师(教师号,姓名,性别,职称,专业) 主关键字:教师号
学生(学号,姓名,性别,年龄,专业) 主关键字:学号
课程(课程号,课程名,学时数,学分,教材)
回顾
数据库的三级模式:外模式—用户视图,模式——全 局视图,内模式——物理视图。 通过两级映射提高数据的逻辑独立性和物理独立性。 概念模型中的两个概念:实体、联系. 数据模型包括:概念模型(ER)、逻辑模型、物理模型 概念模型的两个基本概念——实体与联系,E-R模型 是一种概念模型表示方法. 逻辑模型:层次型、网状、关系型
性别 男 女 男 男 女
年龄 21 20 21 22 19
系编号 01 02 03 04 05
1. 2.
3. 4. 5.
该表中有几个元组(记录)? 该表中有多少个属性?第4个元组的属性值分别是多少 ? 什么是域?年龄的域可以是多少? 哪些属性可以作为该表的关键字?(若不存在同名的现 象) 哪个属性可以作为外关键字(外码/外键)?
32
题2:图中显示一张交通违章处罚通知书,根据这张通知书
所提供的信息,设计一个E-R模型,并将这个E-R模型 转换成关系数据模型,要求标注主码和外码。 注:一张违章通知书可能有多项处罚,例如:警告+罚款
33
司机(驾照号,姓名,地址,邮编,电话) PK=驾照号 机动车(牌照号,型号,制造厂,生产日期) PK=牌照号 警察(警察编号,姓名) PK=警察编号 处罚通知(编号,日期,时间,地点,驾照号,牌照号, 警告,罚款,暂扣,警察编号) PK=编号 FK=驾照号,牌照号,警察编号
•部门关系(部门编号,部门名称)。 •员工关系(员工编号,姓名,性别,部门编号)。 •部门关系中有4个元组,员工关系中有5个元组。 •员工关系的外部关键字是部门编号,体现了部门关系与 员工关系之间的联系。
7
讨论:实体集用表格来表示是容易理解的,联系如何用表 格来表示呢?以选课系统为例。
学生表 课程表 教师表
学号 s1
姓名 学生A
课编号 课程名 c1 c1 课程A 课程B
教师号 姓名 t1 教师A
s2
学生B
t2
教师B
选课表
学号 s1
课编号 c1
修读学期 2010春 教师号 t1 t2
授课表(写写看)
课编号 c1 c2
授课学期 2010春 2010春
8
s1
s2
c2
c1
2010春
2010春
物理模型(了解)
关系模式是关系的框架或结构,而关系是按关系模式来具体 组织表格的,既包含结构也包含数据。在使用中常把关系模 式和关系统称为关系,不刻意进行区分
3.1 关系数据模型的基本概念
学号 03001 03102 03223 03103 03301
教学活动:回答下面提问:
姓名 马力刚 王萍华 王平 张华 李萍
数量
需求(工程号,厂名,零件名, 数量) 厂家(厂名,厂址) 零件(零件名,单价)
N
零件
P
厂家 厂名
零件名
单价
厂址
26
课堂小练
1:试述采用E-R方法进行数据库概念设计的过程。 答:采用E-R方法进行数据库概念设计,可以分成3步进 行:首先设计局部E-R模式,然后把各局部E-R模式综合 成一个全局的E-R模式,最后对全局E-R模式进行优化, 得到最终的E-R模式,即概念模式。
关系示例:
部门表
部门编号 D001 D002 D003 D004 部门名称 总经理办 市场部 销售部 仓储部 员工编 号 E001 E002 E003 E004 E005
员工表
员工姓名 钱达理 东方牧 郭文斌 肖海燕 张明华 性 别 男 男 男 女 男 部门编 号 D001 D001 D002 D003 D004