数据模型和三层模式数据库

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第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节)姓名职称姓名职称姓名职称姓名职称姓名职称姓名职称姓名职称姓名职称123456789abcdef323sdsd2335232222222222223333333sddas333333333333333666555444444333123456789abcdef323sdsd2335232222222222223333333sddas333333333333333666555444444333课本P25•用树形结构来表示实体之间联系的模型称为层次模型。•只能表示一对多的联系。•层次模型的典型代表是IMS——InformationManagementSystem(1)层次数据模型层次模型有以下两点限制:•有且仅有一个结点无父结点,这个结点即为树的根;•其他结点有且仅有一个父结点层次结构实例层次模型中用的术语层次型片段(Segment)字段层次值实例片段值字段值层次值层次型不能表示多对多的联系把有两个父结点的非层次结构转换成两个层次型用网络结构来表示实体之间联系的数据模型称为网络数据模型。网络模型的典型代表是CODASYL——ConferenceOnDAtaSYstemLanguage(2)网络数据模型CODASYL用系描述联系•系:命名了的联系。•SET:相互关联的数据的集合。•系由一个父记录型和一个或多个子记录型构成。•系是一个二级树。网络结构理解系的概念用关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型。(3)关系数据模型关系实例仓库(仓库号,城市,面积)关系模式关系数据库管理系统•Sybase•Oracle•DB2•MSSQLServer•FoxPro•Access•…仓库号城市面积WH1北京500WH2上海450WH3广州200WH4重庆300器件号器件名称P1显示卡P2声卡P3解压卡P4散热风扇4.概念模型向数据模型的转换图2.8如果仓库和器件之间的联系是一对一的:仓库号器件号数量WH1P1100WH2P2120WH3P3180WH4P4200仓库号城市面积器件号器件名称数量WH1北京500P1显示卡100WH2上海450P2声卡120WH3广州200P3解压卡180WH4重庆300P4散热风扇200图2.5和图2.11如果仓库和器件之间的联系是一对多的:仓库号器件号数量WH1P1100WH1P2120WH2P3180WH2P4200仓库号器件号器件名称数量WH1P1显示卡100WH1P2声卡120WH2P3解压卡180WH2P4散热风扇200仓库号城市面积WH1北京500WH2上海450WH3广州200WH4重庆300仓库号城市面积器件号器件名称数量WH1北京500P1显示卡100WH1北京500P2声卡120WH2上海450P3解压卡180WH2上海450P4散热风扇200WH2广州200WH2重庆300不好!冗余,操作异常图2.5和图2.6和图2.12如果仓库和器件之间的联系是多对多的:仓库号器件号数量WH1P1100WH1P2120WH2P3180WH2P4200WH3P1150WH4P1180WH4P2200WH4P3100WH4P4140同样两个实体,如果赋予不同的语义则有不同的设计结果。也就是说我们在概念模型中讨论实体之间的联系类型直接影响着目标数据库的设计结果和设计质量。(实际设计中还需考虑具体情况——参考“实际设计中,E-R模型向关系模型的转换规则”)返回结论E-R模型转换成关系模式仓库(仓库号,城市,面积)职工(职工号,工资,仓库号)FK:仓库号器件(器件号,器件名称)库存(仓库号,器件号,数量)FK:仓库号和器件号保管(职工号,器件号)FK:职工号和器件号供应商(供应商号,供应商名,地点)供应(供应商号,器件号)FK:供应商号和器件号订购单(订购单号,订购日期,供应商号,职工号)FK:供应商号和职工号订购(订购单号,器件号,行号,数量)FK:订购单号和器件号其中有5个实体和7个联系,如下表:实体或联系特征(属性)仓  库仓库号、城市、面积职  工职工号、工资工  作仓库号、职工号库  存仓库号、器件号、数量器  件器件号、器件名称保  管职工号、器件号供  应供应商号、器件号供应商供应商号、供应商名、地点订  购订购单号、行号、器件号、数量订购单订购单

1 / 106
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功