资源预览内容
第1页 / 共106页
第2页 / 共106页
第3页 / 共106页
第4页 / 共106页
第5页 / 共106页
第6页 / 共106页
第7页 / 共106页
第8页 / 共106页
第9页 / 共106页
第10页 / 共106页
亲,该文档总共106页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第2章 数据模型和三层模式数据库 数据的三种范畴 数据模型数据模型的分类概念模型(概念型数据模型)数据模型(组织型数据模型)概念模型向数据模型的转换 数据独立性与三层结构 数据库管理系统的结构一、数据的三种范畴思路:目的:描述数据和数据之间的联系方法:使用数据模型概念模型(概念层 数据模型)与数据模型(组织层数据模型)客观存在并可以相互区分 的客观事物或抽象事件称为实 体。客观存在的抽象事件订货、演 出、足球赛等也是实体可以触及的客观对象仓库、 器件、职工等是实体实体身高年龄性别体重比赛时间、地点 、参赛队特征具有相同特征的一类实体的 集合称之为实体集。学生实体集课程实体集教师实体集教室实体集实体集用于区分实体的实体特征称为 标识特征。标识特征现实世界的术语我们更熟悉的术语三种范畴使用的术语弱实体 在现实世界中还存在一类“客体”,它自身不具有标识特征,它需要借助于所依赖的实体来区分一 个个“客体”,我们把这类“客体”称为弱实体。( 见第10章) 例1:对订购单要管理订购单明细,订购单明细就是弱实体 例2:对球赛要管理上、下半场信息,半场就是弱实体二、数据模型 数据模型:用来抽象、表示和处理现实世界中的数据 和信息的。 数据模型应满足三个条件: 能比较真实地模拟现实世界; 容易被人们理解; 便于在计算机上实现。1.数据模型的分类概念数据模型(概念模 型,概念层数据模型)数据模型(组织层数据 模型) 从数据的语义视角来抽取模型。从数据的组织层次来描述数据。按用户的观点来对数据和信息进行 建模。按计算机系统的观点对数据进行建 模。主要用在数据库的设计阶段。主要用于DBMS的实现。与DBMS无关与DBMS有关数据库系统的核心和基础现实世界客观事物的抽象过程 现 实机 器概念 模型组织 模型模型转换抽象2.概念数据模型 概念模型实际上是现实世界到机器世界的一个中 间层次。 概念模型用于信息世界的建模,是现实世界到信 息世界的第一层抽象。 是数据库设计人员和用户之间进行交流的工具 。 是面向用户、面向现实世界的数据模型,是与 DBMS无关 。 概念模型的表示方法:实体-联系方法(E-R图) ,扩展Bachman图实体-联系方法 实体 联系 属性实体的表示方式 在E-R图中用矩形框表 示实体,把实体名写在 框内,比如仓库实体可 以表示为:仓库实体之间的 联系用菱形框表 示,框内写上联 系名,并用连线 与有关的实体相 连。联系名实体1实体2联系的表示方式一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)联系的类型如果实体集A与实体集B之间存在联系,并且对于实体集A中的任意一个实体,实体集B中至多只有一个实体与之对应;反之亦然,则称实体集A到实体集B的联系是一对一的,记为1 : 1 。一对一的联系实体:车间,车间主任语义: 一个车间只能有一名车间主任 一个职工也只能在一个车间当主任联系:命名为任职任职车间车间主任11一对一联系的例子一对多的联系如果实体集A与实体集B之间存在联系,并且对于实体集A中的一个实体,实体集B中可以有多个实体与之对应;而对实体集B中的任意一个实体,在实体集A中至多只有一个实体与之对应,则称实体集A到实体集B的联系是一对多的,记为1 : n 。工作仓库职工1n实体:仓库,职工语义: 一个仓库可以有多名职工 一个职工只能在一个仓库工作联系:命名为工作一对多联系的例子多对多的联系如果实体集A与实体集B之间存在联系,并且对于实体集A中的一个实体,实体集B中可以有多个实体与之对应;反之亦然,则称实体集A到实体集B的联系是多对多的,记为m : n 。仓库器件库存mn实体:仓库,器件语义: 一个仓库可以存放多种器件 一种器件可以存放在多个仓库联系:命名为库存多对多联系的例子仓库器件供应商订购mnp多个实体之间的联系 实体:仓库、器件、 供应商 语义: 每个仓库可以向多个 供应商发出订购,可购买 多种器件; 每个供应商可向多个 仓库供货,可供应多种器 件; 每种器件可由多个供 应商供应,可由多个仓库 购买。 联系:命名为订购仓库器件供应商库存业务供应多个实体之间的另外一种联系两 种 联 系 方 式 的 区 别仓库器件供应商库存业务供应 仓库器件供应商订购实体的属性用椭圆框表示,框内写上属性名,并用连线连到相应实体。也可以直接将属性名写在实体旁边。仓库仓库号城市面积仓库仓库号城 市面 积属性的表示方式联系本身也有属性,联系是通过相关联的实体的有关属性体现出来的。课堂练习:P41第2题联系的属性仓库职工工作仓库号 城 市 面 积职工号 工 资仓库号 职工号1n特殊的:依赖联系 弱实体集的属性不足以构成主关键字,为了 区分弱实体集中的一个个实体,需要借助于 另一个实体集中的主关键字。这种被依赖的 实体集也称作强实体集,在弱实体集和强实 体集之间必然存在着一种联系,并把这种联 系称作依赖联系。(见第10章) 依赖联系的例子依赖联系都是一对多的联系,弱实体集也只有作为一 对多联系的一部分才有意义。 强制联系与非强制联系 实体之间的联系可以分为强制联系和非强 制联系 。(见第10章) 例:部门和职工之间的联系,如果规定职 工任何时候都必须属于一个部门,则这种联 系是强制联系;如果规定职工可以不属于任 何部门则这种联系就是非强制联系。 依赖联系都是强制联系。实体之间的联系类型并不取决于实体本身,而是取决于现实世界的管理方法,或者说取决于语义,即同样两个实体,如果有不同的语义则可以得到不同的联系类型。注意:以仓库和器件两个实体之间的关联为例: 如果规定一个仓库只能存放一种器件,并且一种器件 只能存放在一个仓库,这时仓库和器件之间的联系是一 对一的; 如果规定一个仓库可以存放多种器件,但是一种器件 只能存放在一个仓库,这时仓库和器件之间的联系是一 对多的; 如果规定一个仓库可以存放多种器件,同时一种器件 可以存放在多个仓库,这时仓库和器件之间的联系是多 对多的。概念数据模型实例研究 (书2.2.4)库存业务?与库存业务有关的实体库存业务的管理模式语义: 在一个仓库可以存放多种器件,一种器 件也可以存放在多个仓库中; 一个仓库有多个职工,而一个职工只能 在一个仓库工作; 一个职工可以保管一个仓库中的多种器 件,由于一种器件可以存放在多个仓库中 ,当然可以由多名职工保管。 在仓库和器件之间存在一个多对多的联系库存; 在仓库和职工之间存在一个一对多的联系工作; 在职工和器件之间存在一个多对多的联系保管。以上语义说明了:为此有库存业务的局部E-R图订购业务?与订购业务有关的实体订购业务管理模式语义: 一名职工可以经手多张订购单,但一张订购单 只能由一名职工经手; 一个供应商可以接受多张订购单,但一张订购 单只能发给一个供应商; 一个供应商可以供应多种器件,每种器件也可 以由多个供应商供应; 一张订购单可以订购多种器件,对每种器件的 订购也可以出现在多张订购单上。 在职工和订购单之间存在一个一对多的 联系发出订购单; 在供应商和订购单之间存在一个一对多 的联系接收订购单; 在供应商和器件之间存在一个多对多的 联系供应; 在订购单和器件之间存在一个多对多的 联系订购。以上语义说明了:为此有订购业务的局部E-R图库存订购业务整体E-R图扩展Bachman图是与E-R图类似的信息结构和概念 模型描述工具,它的要点是: 用矩形框表示实体或文件,实体名写在矩形框的右下 方; 字段名写在矩形框内,关键字标以下划线,辅助关键 字标以虚下划线; 用箭头线表示联系并连接相关实体,箭头线始于父文 件的连接字段(关键字),终于子文件的连接字段(外 部关键字),联系类型标在箭头线旁。扩展Bachman图库存和订货业务的完整扩展Bachman图3.数据模型(传统的三大数据模型,面向对象模型) (书2.3节)课本P25 用树形结构来表示实体之间联系的模型称为层次模型。 只能表示一对多的联系。 层次模型的典型代表是IMSInformation Management System(1)层次数据模型层次模型有以下两点限制: 有且仅有一个结点无父结点,这个结点即为树的 根; 其他结点有且仅有一个父结点层次结构实例层次模型中用的术语层次型片段(Segment)字段层次值实例片段值字段值层次值层次型不能表示多对多的联系把有 两个父结 点的非层 次结构转 换成两个 层次型用网络结构来表示实体之间联系的数据模 型称为网络数据模型。网络模型的典型代表是CODASYL Conference On DAta SYstem Language(2)网络数据模型CODASYL用系描述联系 系:命名了的联系。 SET:相互关联的数 据的集合。 系由一个父记录型和 一个或多个子记录型构 成。 系是一个二级树。网络结构理解系的概念用关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型。(3)关系数据模型关系实例仓库(仓库号,城市,面积)关系模式关系数据库管理系统 Sybase Oracle DB2 MS SQL Server FoxPro Access 4.概念模型向数据模型的转换图2.8如果仓库和器件之间的联系是一 对一的:图2.5和图2.11如果仓库和器件之间的联系是一 对多的:不好!冗余,操作异常图2.5和图2.6和图2.12如果仓库和器件之间的联系是多 对多的:同样两个实体,如果赋予不同的语义则有不同的设计结果。也就是说我们在概念模型中讨论实体之间的联系类型直接影响着目标数据库的设计结果和设计质量。(实际设计中还需考虑具体情况参考“实际设计中,E-R模型向关系模型的转换规则”)返回结论E-R模型转换成关系模式仓库(仓库号,城市,面积) 职工(职工号,工资,仓库号) FK:仓库号 器件(器件号,器件名称) 库存(仓库号,器件号,数量) FK :仓库号和器件号 保管(职工号,器件号) FK :职工号和器件号 供应商(供应商号,供应商名,地点) 供应(供应商号,器件号) FK :供应商号和器件号 订购单(订购单号,订购日期,供应商号,职工号) FK :供应商号和职工号 订购(订购单号,器件号,行号,数量) FK :订购单号和器件号其中有5个实体和7个联系,如下表:完成“ WH1仓库P1器件的订货数量是多 少 ”的查询步骤: 确定在WH1仓库工作的职工的职工号(职工文件), 设为Eno; 根据Eno查询该职工所经手的订购单号(订购单文件 ),设为Ono; 根据Ono查询所订购的器件号及数量(订购项目文件 ); 查询完一张订购单后再接着查询同一职工经手的另一 张订购单; 一名职工经手的订购单查询完后,再查询同一仓库另 一职工所经手的订购单。完成相应查询的语句SELECT SUM(数量) FROM 订购 WHERE 器件号=”P1” AND 订购单号 IN (SELECT 订购单号 FROM 订购单 WHERE 职工号 IN (SELECT 职工号 FROM 职工WHERE 仓库号=”WH1”)多对多联系是一类比较复杂的联系,一般数据库管理系统并不直接支持这类联系,或者由于技术上的原因我们也不直接使用这类联系,我们总是把多对多联系转换为一对多联系。 几个相关问题:1.理解和转换多 对多联系面积 500 450 200 300城市 北京 上海 广州 重庆仓库号 WH1 WH2 WH3 WH412020018
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号