1回顾数据库的三级模式:外模式—用户视图,模式——全局视图,内模式——物理视图。通过两级映射提高数据的逻辑独立性和物理独立性。概念模型中的两个概念:实体、联系.数据模型包括:概念模型(ER)、逻辑模型、物理模型概念模型的两个基本概念——实体与联系,E-R模型是一种概念模型表示方法.逻辑模型:层次型、网状、关系型Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.2数据库原理与应用第3讲数据库设计方法—ER模型到关系模型的转化Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.3本讲内容、重点和难点重点ER模型到关系模型的转化难点关系数据库概述关系型逻辑模型是当前最常见的数据库逻辑模型Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.41.逻辑模型(层次,网状,关系)、物理模型•关系模型的基本概念•物理模型简介•ER图到关系模型转换Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.5关系模型的基本概念1.关系将一个没有重复行、重复列的二维表看成一个关系。2.元组(记录)二维表的每一行在关系中称为关系的一个元组。3.属性(字段)二维表的每一列在关系中称为属性。4.关键字关系中用于区分和标示不同元组的属性组合。5.外部关键字如果关系中某个属性组合是另一个关系的关键字,则称此属性组合为本关系的外部关键字。外部关键字体现表间的联系。6.元属性个数(n)称为关系的元。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.6部门编号部门名称D001总经理办D002市场部D003销售部D004仓储部员工编号员工姓名性别部门编号E001钱达理男D001E002东方牧男D001E003郭文斌男D002E004肖海燕女D003E005张明华男D004部门表员工表•部门关系(部门编号,部门名称)。•员工关系(员工编号,姓名,性别,部门编号)。•部门关系中有4个元组,员工关系中有5个元组。•员工关系的外部关键字是部门编号,体现了部门关系与员工关系之间的联系。关系示例:Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.7讨论:实体集用表格来表示是容易理解的,联系如何用表格来表示呢?以选课系统为例。学号姓名s1学生As2学生B学生表教师号姓名t1教师At2教师B教师表课编号课程名c1课程Ac1课程B课程表学号课编号修读学期s1c12010春s1c22010春s2c12010春授课表(写写看)选课表教师号课编号授课学期t1c12010春t2c22010春Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.8物理模型(了解)物理模型在逻辑模型确定后,要将逻辑模型提出的静态结构、动态结构、约束规则在计算机上进行实现,这项工作由DBMS软件实现。目前的DBMS大多支持关系型逻辑模型,比如Oracle,SQLServer,DB2等等。我们也可以开发自己的DBMS,但这项工作的所需的人力是很大的,所以当前软件行业的做法是:使用比较成熟的DBMS系统,解决具体应用问题。因此,物理模式一般不作过多的讨论。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.9从ER图导出关系模型数据结构ER图描述信息的结构,是构造数据模型的依据。从ER图出发导出关系模型数据结构的两点原则:对ER图中的每个“实体集”,都应转换成一个关系;对ER图中的“联系”,根据实体联系的方式,采取不同的方法加以处理;Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.101)两实体集间1:N联系无需专门用一个关系表示“联系”。可将“1”方关系的主键纳入“N”方关系中作为外键,同时把联系的属性也一起纳入“N”方关系中。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.11学校教师聘任1N学校名校址校长年薪教工号姓名专长学校(学校名,校址,校长)教师(教工号,姓名,专长,学校名,年薪)外键Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.122)两实体集间M:N联系必须对“联系”单独建立一个关系。“联系”关系的属性至少包含它所关联的双方实体的“主键”,若“联系”自身有属性,也要一起纳入“联系”关系中。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.13学生课程选修MN学号姓名性别成绩课程号课程名学分学生(学号,姓名,性别)课程(课程号,课程名,学分)选修(学号,课程号,成绩)Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.143)两实体集间1:1联系对两实体间1:1联系,有二种转换方案:第一:“联系”不单独建立关系,将实体集A主键放到实体集B中作为外键。第二:“联系”不单独建立关系,将实体集B主键放到实体集A中作为外键。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.15校长学校管理11姓名性别年龄学校名校址类别方案1:校长(姓名,性别,年龄)学校(学校名,校址,类别,姓名)方案2学校(学校名,校址,类别)校长(姓名,性别,年龄,学校名)Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.16以下的关系模型为补充内容4)同一实体集各实体间1:N联系可在这个实体关系中多设一个属性,用来表示与当前实体(表中当前行)相联系的另一个实体的“主键”。职工领导1N工号姓名工资民意评价职工(工号,姓名,工资,领导者工号,民意评价)另一个实体的主键Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.174)同一实体集各实体间1:N联系工号姓名工资领导者工号民意评价1陈一8503称职2李二8903优秀3张三9003称职……………Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.185)同一实体集各实体间M:N联系则需为“联系”单独建一个关系。该关系中至少应包含被它联系的双方实体的“主键”,若“联系”有属性,也要纳入该关系中。课程预修MN课程号课程名学分课程(课程号,课程名,学分)预修(课程号,预修课程号)Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.196)多个实体集间M:N联系必须为“联系”单独建一个关系。该关系中至少应包含被它联系的双方实体的“主键”,若“联系”有属性,也要纳入该关系中。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.20工程项目零件需求MP工程号工程名工程进度数量零件名单价厂址工程项目(工程号,工程名,工程进度)厂家(厂名,厂址)需求(工程号,厂名,零件名,数量)厂家N厂名零件(零件名,单价)Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.课堂小练1:试述采用E-R方法进行数据库概念设计的过程。答:采用E-R方法进行数据库概念设计,可以分成3步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局的E-R模式,最后对全局E-R模式进行优化,得到最终的E-R模式,即概念模式。21Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.课堂小练2::某大学实现学分制,学生可根据自己情况选课。每名学生可同时选修多门课程,每门课程可由多位教师主讲;每位教师可讲授多门课程。其不完整的E-R图如图1所示。1.指出学生与课程的联系类型。指出课程与教师的联系类型。2.若每名学生有一位教师指导,每个教师指导多名学生,则学生与教师是如何联系?3.在原E-R图上补画教师与学生的联系,并完善E-R图。4.最后将ER图转换成关系模型。答:学生与课程联系类型是多对多联系。课程与教师的联系类型是多对多联系。学生与教师的联系类型是一对多联系。完善本题E-R图的结果如图2所示。图1图222图6.12完善后的E-R图学生课程教师指导讲授选修mnmmn1图1图2Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.23小结1.逻辑模型能够表现数据结构、数据操作、数据约束。2.逻辑模型有层次型、网络型、关系型三种,关系模型是当前数据库的主要数据模型。3.为了表示数据在计算机上如何组织、如何操作、如何约束,应将E-R模型转换为逻辑模型。4.关系型逻辑模型是当前最常见的数据库逻辑模型。5.关系数据库是表和其他数据库对象的集合,表的列应满足原子特征,即列是不可分解的。Evaluationonly.Creat