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