您好,欢迎访问三七文档
信息结构与E-R方法概念数据模型传统的三大数据模型数据独立性与三层结构数据库管理系统的结构2-1信息结构与E-R方法数据的三种范畴客观存在并可以相互区分的客观事物或抽象事件称为实体。客观存在的抽象事件订货、演出、足球赛……等也是实体可以触及的客观对象仓库、器件、职工……等是实体身高年龄性别体重……比赛时间、地点、参赛队……具有相同特征的一类实体的集合称之为实体集。用于区分实体的实体特征称为标识特征。现实世界范畴信息世界范畴机器世界范畴所有客观对象条理化的信息数据库实体集实体记录集文 件实 体实体记录记 录特 征属 性字段或数据项标识特征标识属性关键字2-1信息结构与E-R方法实体联系方法实体的表示方式在E-R图中用矩形框表示实体,把实体名写在框内,比如仓库实体可以表示为:仓库联系的表示方式实体之间的联系用菱形框表示,框内写上联系名,并用连线与有关的实体相连。联系名实体1实体2联系的类型一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)一对一的联系如果实体集A与实体集B之间存在联系,并且对于实体集A中的任意一个实体,实体集B中至多只有一个实体与之对应;而对实体集B中的任意一个实体,在实体集A中也至多只有一个实体与之对应,则称实体集A到实体集B的联系是一对一的,记为1:1。有车间和车间主任两个实体,并且有语义:一个车间只能有一名车间主任,一个职工也只能在一个车间当主任。那么车间和车间主任之间的联系是一对一的,我们把这种联系命名为任职。一对一联系的例子任职车间车间主任11一对多的联系如果实体集A与实体集B之间存在联系,并且对于实体集A中的一个实体,实体集B中可以有多个实体与之对应;而对实体集B中的任意一个实体,在实体集A中至多只有一个实体与之对应,则称实体集A到实体集B的联系是一对多的,记为1:n。有仓库和职工两个实体,并且有语义:一个仓库可以有多名职工,但是一个职工只能在一个仓库工作。那么仓库和职工之间的联系是一对多的,我们把这种联系命名为工作。一对多联系的例子工作仓库职工1n多对多的联系如果实体集A与实体集B之间存在联系,并且对于实体集A中的一个实体,实体集B中可以有多个实体与之对应;而对实体集B中的一个实体,在实体集A中也可以有多个实体与之对应,则称实体集A到实体集B的联系是多对多的,记为m:n。多对多联系的例子有仓库和器件两个实体,并且有语义:一个仓库可以存放多种器件,一种器件可以存放在多个仓库。那么仓库和器件之间的联系就是多对多的,我们把这种联系命名为库存。仓库器件库存mn多个实体之间的联系有仓库、器件、供应商三个实体,并且有语义:每个仓库可以向多个供应商发出订购,可购买多种器件;每个供应商可向多个仓库供货,可供应多种器件;每种器件可由多个供应商供应,可由多个仓库购买。仓库器件供应商订购mnp多个实体之间的另外一种联系仓库器件供应商库存业务供应两种联系方式的区别仓库器件供应商库存业务供应仓库器件供应商订购属性的表示方式实体的属性用椭圆框表示,框内写上属性名,并用连线连到相应实体。也可以直接将属性名写在实体旁边。仓库仓库号城市面积仓库仓库号城市面积联系本身也有属性,联系是通过相关联的实体的有关属性体现出来的。联系的属性仓库职工工作仓库号城市面积职工号工资仓库号职工号1n概念数据模型中的基本联系理解和转换多对多联系连接陷阱概念数据模型——实例研究扩展Bachman图实体之间的联系类型并不取决于实体本身,而是取决于现实世界的管理方法,或者说取决于语义,即同样两个实体,如果有不同的语义则可以得到不同的联系类型。以仓库和器件两个实体之间的关联为例:如果规定一个仓库只能存放一种器件,并且一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对一的;如果规定一个仓库可以存放多种器件,但是一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对多的;如果规定一个仓库可以存放多种器件,同时一种器件可以存放在多个仓库,这时仓库和器件之间的联系是多对多的。为什么要讨论实体之间的联系?仓库号城市面积WH1北京500WH2上海450WH3广州200WH4重庆300器件号器件名称P1显示卡P2声卡P3解压卡P4散热风扇如果仓库和器件之间的联系是一对一的:如果仓库和器件之间的联系是一对多的:如果仓库和器件之间的联系是多对多的:同样两个实体,如果赋予不同的语义则有不同的设计结果。也就是说我们在概念模型中讨论实体之间的联系类型直接影响着目标数据库的设计结果和设计质量。返回多对多联系是一类比较复杂的联系,一般数据库管理系统并不直接支持这类联系,或者由于技术上的原因我们也不直接使用这类联系,我们总是把多对多联系转换为一对多联系。面积500450200300城市北京上海广州重庆仓库号WH1WH2WH3WH4120200180100140150180200100———————器件号器件名称显示卡声卡解压卡散热风扇P4P3P2P1多对多联系一个多对多的联系实际蕴涵了两个一对多的联系,仓库和器件之间的联系是多对多的,但是它们和“联系”库存之间的联系都是一对多的。多对多联系蕴涵一对多联系仓库号城市面积仓库器件库存W-IP-I器件号器件名称仓库号器件号数量11mn仓库号城市面积仓库号器件号数量器件仓库库存mn器件号器件名称返回所谓连接陷阱就是误认为不存在联系的两个实体间存在联系,从而通过这种“联系”获取错误的信息。器件号订单号数量供应商号器件号器件名称供应商号地点供应商名供应商器件订货1:n1:m查询P4器件都是有哪些供应商供应的。器件号器件名称仓库号器件号数量器件号数量订单号供应商号订货器件库存1:m1:n查询WH1仓库P4器件的订货数量是多少?返回与库存业务有关的实体库存业务?库存业务的管理模式语义:在一个仓库可以存放多种器件,一种器件也可以存放在多个仓库中;一个仓库有多个职工,而一个职工只能在一个仓库工作;一个职工可以保管一个仓库中的多种器件,由于一种器件可以存放在多个仓库中,当然可以由多名职工保管。以上语义说明了:在仓库和器件之间存在一个多对多的联系——库存;在仓库和职工之间存在一个一对多的联系——工作;在职工和器件之间存在一个多对多的联系——保管。为此有库存业务的局部E-R图与订购业务有关的实体订购业务?订购业务管理模式语义:一名职工可以经手多张订购单,但一张订购单只能由一名职工经手;一个供应商可以接受多张订购单,但一张订购单只能发给一个供应商;一个供应商可以供应多种器件,每种器件也可以由多个供应商供应;一张订购单可以订购多种器件,对每种器件的订购也可以出现在多张订购单上。以上语义说明了:在职工和订购单之间存在一个一对多的联系——发出订购单;在供应商和订购单之间存在一个一对多的联系——接收订购单;在供应商和器件之间存在一个多对多的联系——供应;在订购单和器件之间存在一个多对多的联系——订购。为此有订购业务的局部E-R图库存—订购业务整体E-R图其中有5个实体和7个联系,如下表:实体或联系特征(属性)仓 库仓库号、城市、面积职 工职工号、工资工 作仓库号、职工号库 存仓库号、器件号、数量器 件器件号、器件名称保 管职工号、器件号供 应供应商号、器件号供应商供应商号、供应商名、地点订 购订购单号、行号、器件号、数量订购单订购单号、订购日期接受订单供应商号、订购单号发出订单职工号、订购单号完成“WH1仓库P1器件的订货数量是多少”的查询步骤:确定在WH1仓库工作的职工的职工号(职工文件),设为Eno;根据Eno查询该职工所经手的订购单号(订购单文件),设为Ono;根据Ono查询所订购的器件号及数量(订购项目文件);查询完一张订购单后再接着查询同一职工经手的另一张订购单;一名职工经手的订购单查询完后,再查询同一仓库另一职工所经手的订购单。完成相应查询的语句SELECTSUM(数量)FROM订购WHERE器件号=”P1”AND订购单号IN(SELECT订购单号FROM订购单WHERE职工号IN(SELECT职工号FROM职工WHERE仓库号=”WH1”))扩展Bachman图是与E-R图类似的信息结构和概念模型描述工具,它的要点是:•用矩形框表示实体或文件,实体名写在矩形框的右下方;•字段名写在矩形框内,关键字标以下划线,辅助关键字标以虚下划线;•用箭头线表示联系并连接相关实体,箭头线始于父文件的连接字段(关键字),终于子文件的连接字段(外部关键字),联系类型标在箭头线旁。库存和订货业务的完整扩展Bachman图姓名职称姓名职称姓名职称姓名职称姓名职称姓名职称姓名职称姓名职称123456789abcdef323sdsd2335232222222222223333333sddas333333333333333666555444444333123456789abcdef323sdsd2335232222222222223333333sddas333333333333333666555444444333层次数据模型用树形结构来表示实体之间联系的模型称为层次模型。层次模型的典型代表是IMS——InformationManagementSystem层次模型有以下两点限制:•有且仅有一个结点无父结点,这个结点即为树的根;•其他结点有且仅有一个父结点。层次结构实例层次模型中用的术语层次型片段(Segment)字段层次值实例片段值字段值层次型不能表示多对多的联系把有两个父结点的非层次结构转换成两个层次型网络数据模型用网络结构来表示实体之间联系的数据模型称为网络数据模型。网络模型的典型代表是CODASYL——ConferenceOnDAtaSYstemLanguageCODASYL用系描述联系系:命名了的联系。SET:相互关联的数据的集合。系由一个父记录型和一个或多个子记录型构成。系是一个二级树。网络结构理解系的概念关系数据模型用关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型。关系实例关系数据库管理系统SybaseOracleDB2MSSQLServerFoxProAccess…数据独立性是指应用程序与存储数据相互独立的特性。具体说,就是当修改数据的组织方法和存储结构时,应用程序不用修改的特性。存储数据独立性修改存储文件的组织方法和结构时应用程序不用修改的特性。实现存储数据独立性概念数据独立性修改概念文件的结构时应用程序不用修改的特性。实现概念数据独立性数据库的三层模式结构存储、概念和外部模式定义存储模型的模式叫做存储模式;定义概念模型的模式叫概念模式,或简称模式;定义外部模型的模式叫外部模式,又称做子模式。各级模式之间的关系存储数据库示例STORAGESCHEMAFORSTORAGE-ACCOUNTINGDATABASE.STORAGEFILESECTION.STORAGEFILEACC-RECEIVABLE,HASHFILEUSINGHASHINGROUTINEHASHXDATAFIELDS.ACC-NUMBPICX(4),PRIMARYKEYFIELDCRED-LIMPIC5(9)BALANCEPIC5(9)v99POINTERFIELDS.NR-POINTERPICX(4),FORSINGLELINKEDLISTUSINGNEXTACC-NUMBVALUEINASCENDINGORDERSTORAGEFILEORDER,INDEXED-SEQUENTIALFILEDATAFIELDS.ACC-NUMBPICX(4),SECONDARYKEY,POINTERTOPARENTACC-RECEIVABLERECORD.ORDER-NUMBPICX(3),PRIMARYKEYFIELD.PART-TYPE-NUMBPIC(2).QUANTITYPIC3(9)POINTERFIELDS.NC-POINTERPICX(3),POINTERTONEXTCHILD,FORSECONDARYKEYACC-NUMBUSINGORDER-NUMBVA
本文标题:E-R图详细讲解
链接地址:https://www.777doc.com/doc-4788977 .html