第3讲 数据库设计方法—逻辑模型以及ER模型到关系模型的转化

  • 格式:ppt
  • 大小:671.50 KB
  • 文档页数:26

下载文档原格式

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