第3讲-数据库设计方法—逻辑模型以及ER模型到关系模型的转化ppt课件.ppt
-
资源ID:29386186
资源大小:768.50KB
全文页数:35页
- 资源格式: PPT
下载积分:20金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
第3讲-数据库设计方法—逻辑模型以及ER模型到关系模型的转化ppt课件.ppt
1回顾回顾p 数据库的三级模式数据库的三级模式:外模式:外模式用户视图,模式用户视图,模式全全局视图,内模式局视图,内模式物理视图。物理视图。p 通过两级映射提高数据的逻辑独立性和物理独立性。通过两级映射提高数据的逻辑独立性和物理独立性。p 概念模型中的两个概念:实体、联系概念模型中的两个概念:实体、联系.p 数据模型数据模型包括:包括:概念模型概念模型(ER)、逻辑模型逻辑模型、物理模型、物理模型p 概念模型的两个基本概念概念模型的两个基本概念实体与联系,实体与联系,E-R模型模型是一种概念模型表示方法是一种概念模型表示方法.p 逻辑模型逻辑模型:层次型、网状、关系型:层次型、网状、关系型2数据库原理与应用数据库原理与应用第第3讲讲 数据库设计方法数据库设计方法ER模型到模型到关系模型的转化关系模型的转化3本讲内容、重点和难点本讲内容、重点和难点n 重点重点pER模型到关系模型的转化模型到关系模型的转化n 难点难点p关系数据库概述关系数据库概述p关系型逻辑模型关系型逻辑模型是当前最常见的是当前最常见的数据库逻辑模型数据库逻辑模型43.1 关系模型的基本概念关系模型的基本概念1关系关系p 将一个没有重复行、重复列的二维表看成一个关系。将一个没有重复行、重复列的二维表看成一个关系。2元组(记录)元组(记录)p 二维表的每一行在关系中称为关系的一个元组。二维表的每一行在关系中称为关系的一个元组。3p 二维表的每一列在关系中称为属性。二维表的每一列在关系中称为属性。4p 关系中用于区分和标示不同元组的属性组合。关系中用于区分和标示不同元组的属性组合。5外部关键字外部关键字p 如果关系中某个属性组合是另一个关系的关键字,则如果关系中某个属性组合是另一个关系的关键字,则称此属性组合为本关系的外部关键字。外部关键字体称此属性组合为本关系的外部关键字。外部关键字体现表间的联系。现表间的联系。6.元元p 属性个数属性个数(n)称为关系的)称为关系的元元。3.1 关系模型的基本概念关系模型的基本概念(7) 分量:元组中的一个属性值分量:元组中的一个属性值(8) 关系模式关系模式(relational schema):是对关系的描述,表现:是对关系的描述,表现为为关系名和属性的集合关系名和属性的集合。一般表示为:R(U, D, dom,F)l R:关系名;关系名;U:组成关系的属性名集合,组成关系的属性名集合,D:属性组:属性组U中属性所来自得域的集合,中属性所来自得域的集合,dom:属性向域的映射集:属性向域的映射集合,合,F:属性间数据的依赖关系集合属性间数据的依赖关系集合l 通常将关系模式简记为通常将关系模式简记为R(A1,A2An)或或R(U)l A1,A2An为属性名为属性名关系模式是关系的框架或结构,而关系是按关系模式来具体关系模式是关系的框架或结构,而关系是按关系模式来具体组织表格的,既包含组织表格的,既包含结构结构也包含也包含数据数据。在使用中常把关系模。在使用中常把关系模式和关系统称为关系,不刻意进行区分式和关系统称为关系,不刻意进行区分3.1 关系数据模型的基本概念教学活动:回答下面提问:教学活动:回答下面提问:1.该表中有几个元组(记录)?该表中有几个元组(记录)?2.该表中有多少个属性?第该表中有多少个属性?第4个元组的属性值分别是多少个元组的属性值分别是多少?3.什么是域?年龄的域可以是多少?什么是域?年龄的域可以是多少?4.哪些属性可以作为该表的关键字哪些属性可以作为该表的关键字?(若不存在同名的现?(若不存在同名的现象)象)5.哪个属性可以作为外关键字哪个属性可以作为外关键字(外码外码/外键外键)?学号姓名性别年龄系编号03001马力刚男210103102王萍华女200203223王平男210303103张华男220403301李萍女19057部门编号部门编号部门名称部门名称D001总经理办总经理办D002市场部市场部D003销售部销售部D004仓储部仓储部员工编员工编号号员工姓名员工姓名性性别别部门编部门编号号E001钱达理钱达理男男D001E002东方牧东方牧男男D001E003郭文斌郭文斌男男D002E004肖海燕肖海燕女女D003E005张明华张明华男男D004部门表部门表员工表员工表部门关系(部门关系(部门编号部门编号,部门名称)。,部门名称)。员工关系(员工关系(员工编号员工编号,姓名,性别,部门编号,姓名,性别,部门编号) )。部门关系中有部门关系中有4 4个元组,员工关系中有个元组,员工关系中有5 5个元组。个元组。员工关系的外部关键字是部门编号,体现了部门关系与员工关系的外部关键字是部门编号,体现了部门关系与员工关系之间的联系。员工关系之间的联系。关系示例关系示例:8讨论:实体集用表格来表示是容易理解的,联系如何用表格讨论:实体集用表格来表示是容易理解的,联系如何用表格来表示呢?以选课系统为例。来表示呢?以选课系统为例。学号学号姓名姓名s1s1学生学生A As2s2学生学生B B学生表学生表教师号教师号姓名姓名t1 t1教师教师A At2 t2教师教师B B教师表教师表课编号课编号课程名课程名c1c1课程课程A Ac1c1课程课程B B课程表课程表学号学号课编号课编号修读学期修读学期s1s1c1c120102010春春s1s1c2c220102010春春s2s2c1c120102010春春授课表(写写看)授课表(写写看)选课表选课表教师号教师号课编号课编号授课学期授课学期t1 t1c1c120102010春春t2 t2c2c220102010春春9物理模型(了解)物理模型(了解)物理模型物理模型p在逻辑模型确定后,要将逻辑模型提出的静态结构、动在逻辑模型确定后,要将逻辑模型提出的静态结构、动态结构、约束规则在计算机上进行实现,这项工作由态结构、约束规则在计算机上进行实现,这项工作由DBMS软件实现。软件实现。p目前的目前的DBMS大多支持大多支持关系型逻辑模型关系型逻辑模型,比如,比如Oracle, SQL Server,DB2等等。等等。p我们也可以开发自己的我们也可以开发自己的DBMS,但这项工作的所需的人,但这项工作的所需的人力是很大的,所以当前软件行业的做法是:使用比较成力是很大的,所以当前软件行业的做法是:使用比较成熟的熟的DBMS系统,解决具体应用问题。因此,系统,解决具体应用问题。因此,物理模式物理模式一般不作过多的讨论一般不作过多的讨论。10从从ER图导出关系模型数据结构图导出关系模型数据结构ERER图描述图描述信息的结构信息的结构,是是构造构造数据模型的数据模型的依据依据。从。从ERER图图出发导出关系模型数据结构出发导出关系模型数据结构的的两个原则两个原则:对对ERER图中的每个图中的每个“实体集实体集”,都应转换成一个关系;都应转换成一个关系; 对对ERER图中的图中的 “联系联系”,根据实体联系的方式,采根据实体联系的方式,采取不同的方法加以处理;取不同的方法加以处理;111) 两实体集间两实体集间1: N联系联系无需专门用一个关系表示无需专门用一个关系表示“联系联系”。可将。可将“1”1”方关方关系的系的主键主键纳入纳入“N”N”方关系中作为方关系中作为外键外键,同时把同时把联系联系的属性的属性也一起纳入也一起纳入“N”N”方关系中方关系中。12学校学校教师教师聘任聘任1N学校名学校名校址校址校长校长年薪年薪教工号教工号姓名姓名专长专长学校(学校(学校名学校名,校址,校长),校址,校长)教师(教师(教工号教工号,姓名,专长,姓名,专长,学校名学校名,年薪),年薪)外键练习练习n 将下面将下面ER图中图中1:N的联系转换为关系描述的联系转换为关系描述142) 两实体集间两实体集间M: N联系联系必须对必须对“联系联系”单独建立一个关系单独建立一个关系。“联系联系”关系关系的属性的属性至少至少包含包含它所关联的双方实体的它所关联的双方实体的“主键主键”,若若“联系联系”自身有属性,也要一起纳入自身有属性,也要一起纳入“联系联系”关系关系中。中。15学生学生课程课程选修选修MN学号学号姓名姓名性别性别成绩成绩课程号课程号课程名课程名学分学分学生(学生(学号学号,姓名,性别),姓名,性别)课程(课程(课程号课程号,课程名,学分),课程名,学分)选修(选修(学号学号,课程号课程号,成绩),成绩)练习练习n 将下面将下面ER图中图中M:N的联系转换为关系描述的联系转换为关系描述173) 两实体集间两实体集间1:1联系联系对两实体间对两实体间1 1:1 1联系,联系,有二种转换方案有二种转换方案:第一第一:“联系联系”不单独建立关系,将实体集不单独建立关系,将实体集A A主键放主键放到实体集到实体集B B中作为外键。中作为外键。第二第二: “联系联系”不单独建立关系,将实体集不单独建立关系,将实体集B B主键放主键放到实体集到实体集A A中作为外键。中作为外键。18校长校长学校学校管理管理11姓名姓名性别性别年龄年龄学校名学校名校址校址类别类别方案方案1:校长(校长(姓名姓名,性别,年龄),性别,年龄)学校(学校(学校名学校名,校址,类别,校址,类别,姓名姓名)方案方案2学校(学校(学校名学校名,校址,类别),校址,类别)校长(校长(姓名姓名,性别,年龄,性别,年龄,学校名学校名)ER图转换为关系模式应用举例应用举例实例实例1:将下面:将下面ER图转化为关系模式和表,并写出关键字和外关键字图转化为关系模式和表,并写出关键字和外关键字。ER图转换为关系模式应用举例应用举例解答解答解答:步骤解答:步骤1、每个实体转换为一个关系、每个实体转换为一个关系教师(教师(教师号教师号,姓名,性别,职称,专业),姓名,性别,职称,专业)主关键字:教师号主关键字:教师号p学生(学生(学号学号,姓名,性别,年龄,专业),姓名,性别,年龄,专业) 主关键字:学号主关键字:学号p课程(课程(课程号课程号,课程名,学时数,学分,教材),课程名,学时数,学分,教材) 主关键字:课程号主关键字:课程号3.4 ER图转换为关系模式3.3. 应用举例应用举例步骤步骤2、每个联系、每个联系(二元的二元的)也转换成一个关系也转换成一个关系p选课(选课(学号,课程号学号,课程号,分数),分数)主关键字:学号主关键字:学号+ +课程号课程号 外关键字:学号、课程号外关键字:学号、课程号p授课(授课(教师号,课程号教师号,课程号)主关键字:教师号主关键字:教师号+ +课程号课程号 外关键字:教师号、课程号外关键字:教师号、课程号p指导(指导(学号学号,教师号,教师号,时间,地点),时间,地点)主关键字:学号主关键字:学号 外关键字:教师号外关键字:教师号 学生关系和指导关系可合并。学生关系和指导关系可合并。学生(学号,姓名,性别,年龄,专业,教师号,时间,地点) 主关键字:学号22以下的关系模型为以下的关系模型为补充内容补充内容 4) 同一实体集各实体间同一实体集各实体间1: N联系联系可在这个实体关系中可在这个实体关系中多设一个属性多设一个属性,用来表示与当前用来表示与当前实体(表中当前行)相联系的另一个实体实体(表中当前行)相联系的另一个实体的的“主键主键”。职工职工领导领导1N工号工号姓名姓名工资工资民意评价民意评价职工(职工(工号工号,姓名,工资,姓名,工资, 领导者工号领导者工号,民意评价),民意评价)另一个实体的主键另一个实体的主键234) 同一实体集各实体间同一实体集各实体间1: N联系联系工号工号姓名姓名工资工资领导者工号领导者工号民意评价民意评价1 1陈一陈一8508503 3称职称职2 2李二李二8908903 3优秀优秀3 3张三张三9009003 3称职称职245) 同一实体集各实体间同一实体集各实体间M: N联系联系则需为则需为“联系联系”单独建一个关系单独建一个关系。该关系中至少应该关系中至少应包含被它联系的双方实体的包含被它联系的双方实体的“主键主键”,若若“联系联系”有属性,也要纳入该关系中。有属性,也要纳入该关系中。课程课程预修预修MN课程号课程号课程名课程名学分学分课程(课程(课程号课程号,课程名,学分),课程名,学分)预修(预修(课程号课程号,预修课程号预修课程号)256) 多个实体集间多个实体集间M: N联系联系必须为必须为“联系联系”单独建一个关系单独建一个关系。该关系中至少应该关系中至少应包含被它联系的双方实体的包含被它联系的双方实体的“主键主键”,若若“联系联系”有有属性,也要纳入该关系中。属性,也要纳入该关系中。26工程项目工程项目零件零件需求需求MP工程号工程号工程名工程名工程进度工程进度数量数量零件名零件名单价单价厂址厂址工程项目(工程项目(工程号工程号,工程名,工程名,工程进度)工程进度)厂家(厂家(厂名厂名,厂址),厂址)需求(需求(工程号,厂名,零件名工程号,厂名,零件名,数量)数量)厂家厂家N厂名厂名零件(零件(零件名零件名,单价),单价)课堂小练课堂小练n 1:试试述采用述采用E-R方法进行数据库概念设计的过程。方法进行数据库概念设计的过程。n 答:答:采用采用E-R方法进行数据库概念设计,可以分成方法进行数据库概念设计,可以分成3步进步进行:首先设计局部行:首先设计局部E-R模式,然后把各局部模式,然后把各局部E-R模式综合模式综合成一个全局的成一个全局的E-R模式,最后对全局模式,最后对全局E-R模式进行优化,模式进行优化,得到最终的得到最终的E-R模式,即概念模式模式,即概念模式。27课堂小练课堂小练n 2::某某大学实现学分制,学生可根据自己情况选课。每名学生可同时选修多门课程,大学实现学分制,学生可根据自己情况选课。每名学生可同时选修多门课程,每门课程可由多位教师主讲;每位教师可讲授多门课程。每门课程可由多位教师主讲;每位教师可讲授多门课程。其不完整的其不完整的E-R图如图图如图1所示所示。1. 指出学生与课程的联系类型指出学生与课程的联系类型。指出。指出课程与教师的联系类型。课程与教师的联系类型。2. 若每名学生有一位教师指导,每个教师指导多名学生,则学生与教师是如何联系?若每名学生有一位教师指导,每个教师指导多名学生,则学生与教师是如何联系?3. 在原在原E-R图上补画教师与学生的联系,并完善图上补画教师与学生的联系,并完善E-R图图。4. 最后将最后将ER图转换成关系模型。图转换成关系模型。答:答:学生与课程联系类型是多对多联系。学生与课程联系类型是多对多联系。课程与教师的联系类型是多对多联系。课程与教师的联系类型是多对多联系。学生与教师的联系类型是一对多联系。学生与教师的联系类型是一对多联系。完善本题完善本题E-R图的结果如图图的结果如图2所示。所示。图图1 图图2 28图6.12 完善后的E-R图学生课程教师指导讲授选修mnmmn1图1图229小结小结1. 逻辑模型能够表现数据结构、数据操作、数据约束。逻辑模型能够表现数据结构、数据操作、数据约束。2. 逻辑模型有层次型、网络型、关系型三种,关系模型逻辑模型有层次型、网络型、关系型三种,关系模型是当前数据库的主要数据模型。是当前数据库的主要数据模型。3. 为了表示数据在计算机上如何组织、如何操作、如何为了表示数据在计算机上如何组织、如何操作、如何约束,约束,应将应将E-R模型转换为逻辑模型模型转换为逻辑模型。4. 关系型逻辑模型是当前最常见的数据库逻辑模型。关系型逻辑模型是当前最常见的数据库逻辑模型。5. 关系数据库是表和其他数据库对象的集合,表的列应关系数据库是表和其他数据库对象的集合,表的列应满足原子特征,即列是不可分解的满足原子特征,即列是不可分解的。30练习练习311. 问题问题 20分钟分钟1. 有人说:有人说:“E-R模型只能转换为关系模型,不能转换模型只能转换为关系模型,不能转换为层次模型或网络模型为层次模型或网络模型”,这种说法对么?,这种说法对么?2. 简述简述E-R模型转换为关系模型规则(模型转换为关系模型规则(1:1, 1:N, N:M)3. 关系模型和关系模式这两个概念有什么不同?关系模关系模型和关系模式这两个概念有什么不同?关系模式和关系这两个概念有什么不同?式和关系这两个概念有什么不同?4. 一个关系可以有多个一个关系可以有多个候选关键字候选关键字么?一个关系可以有么?一个关系可以有多个关键字多个关键字么?一个关系可以有多个么?一个关系可以有多个外部关键字么外部关键字么?32题题1:某研究所科研管理系统情况如下:某研究所科研管理系统情况如下:部门:包括部门号、部门名、办公室。每个部门有多名职工。部门:包括部门号、部门名、办公室。每个部门有多名职工。职工:包括职工号、姓名、性别、年龄、职称、专业、简历。职工:包括职工号、姓名、性别、年龄、职称、专业、简历。简历:包括开始时间、终止时间、工作单位、担任职务。简历:包括开始时间、终止时间、工作单位、担任职务。项目:包括项目编号、项目名称、项目经费、项目来源、负责人。项目:包括项目编号、项目名称、项目经费、项目来源、负责人。每名职工可参加多个项目,每个项目可多名职工参加。每名职工可参加多个项目,每个项目可多名职工参加。要求:要求:p画出表达此问题的实体关系图。画出表达此问题的实体关系图。p根据设计根据设计E-R模型,将其转换成关系模型,并标出主外键。模型,将其转换成关系模型,并标出主外键。 33题题2:图中显示一张交通违章处罚通知书,根据这张通知书图中显示一张交通违章处罚通知书,根据这张通知书所提供的信息,设计一个所提供的信息,设计一个E-R模型,并将这个模型,并将这个E-R模型模型转换成关系数据模型,要求标注主码和外码。转换成关系数据模型,要求标注主码和外码。 注:一张违章通知书可能有多项处罚,例如:警告注:一张违章通知书可能有多项处罚,例如:警告+罚款罚款n 司机(司机(驾照号驾照号,姓名,地址,邮编,电话),姓名,地址,邮编,电话)n PK=驾照号驾照号n 机动车(机动车(牌照号牌照号,型号,制造厂,生产日期),型号,制造厂,生产日期)n PK=牌照号牌照号n 警察(警察(警察编号警察编号,姓名),姓名)n PK=警察编号警察编号n 处罚通知(处罚通知(编号编号,日期,时间,地点,驾照号,牌照号,日期,时间,地点,驾照号,牌照号,警告,罚款,暂扣,警察编号)警告,罚款,暂扣,警察编号)n PK=编号编号n FK=驾照号驾照号,牌照号牌照号,警察编号警察编号