数据库系统及应用(第5版)课件 第2章 概念数据模型及实体联系方法_第1页
数据库系统及应用(第5版)课件 第2章 概念数据模型及实体联系方法_第2页
数据库系统及应用(第5版)课件 第2章 概念数据模型及实体联系方法_第3页
数据库系统及应用(第5版)课件 第2章 概念数据模型及实体联系方法_第4页
数据库系统及应用(第5版)课件 第2章 概念数据模型及实体联系方法_第5页
已阅读5页,还剩114页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

概念数据模型及实体联系方法数据之间有联系吗?如何描述数据之间的联系?数据从现实世界到计算机数据库有多远?ValueWhatWhenMustWhyHow概念数据模型在进行现实世界管理时,客观事物必然在人们的头脑中产生反映,这种反映称为信息。概念数据模型描述现实世界数据及其之间联系的方法称为概念数据模型。概念信息数据从现实进入到数据库所经历的过程现实信息机器数据化后的信息称为数据。数据是信息的符号表示。数据实体属性联系实体-联系方法E-R方法使用的工具称作E-R图,它所描述的现实世界的信息结构称为企业模式(EnterpriseSchema),也把这种描述结果称为E-R模型或概念数据模型。E-R方法的三要素可以触及的客观对象仓库、器件、职工……等是实体客观存在并可以相互区分的客观事物或抽象事件称为实体。客观存在的抽象事件订货、演出、足球赛……等也是实体实体实体的表示方式仓库在E-R图中用矩形框表示实体,把实体名写在框内,比如仓库实体可以表示为:属性实体的特征(性质)称为实体的属性。属性身高年龄性别体重……属性比赛时间地点参赛队裁判……属性的表示方式在E-R图中用椭圆框表示实体的属性,框内写上属性名,并用连线连到对应实体。可以在标识属性下加下划线。雇员号雇员名号工资经理号雇员雇员雇员名实体集具有相同属性的一类实体的集合称之为实体集。教室实体集课程实体集学生实体集教师实体集标识特征用于区分实体的实体特征称为标识特征。课程实体的课程号学生实体的学号事实上也不是所有的实体都有标识特征的,也有实体仅靠自身的特征不能区分一个个实体,它需要借助其他实体的特征才能够进行区分,这样的实体称为弱实体。弱实体弱实体(1)在学籍管理系统中,学生是一个实体,而从管理的需求出发为了方便和家长联系通常也可以建立一个家长实体,在这样一个系统中家长实体是因为学生实体的存在而存在,所以家长实体是弱实体。(2)订货业务的订货单实体通常包含订货单号、供应商、经手人、订货日期等特征,而具体的订货内容则会派生出一个订货明细实体,这个订货明细实体也是弱实体。例如指数据之间的关联集合,是客观存在的应用语义链。联系指组成实体的各属性之间的联系。如职工实体中,职工号和部门经理号之间有一种关联关系,即部门经理号的取值受职工号取值的约束(部门经理也是职工,也有职工号)指不同实体之间联系。例如:在银行贷款管理信息系统中,银行实体和法人实体之间就存在“贷款”联系。联系实体内部的联系实体之间的联系实体之间的联系用菱形框表示,框内写上联系名,然后用连线与相关的实体相连。联系的表示方式联系名实体1实体2实体之间的基本联系030201一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)一对一的联系如果实体集A与实体集B之间存在联系,并且对于实体集A中的每一个实体,实体集B中有至多有一个实体与之对应;反之亦然,则称实体集A到实体集B的联系是一对一的,记为1:1。一对一联系的例子有工厂和厂长两个实体,并且有语义:一个工厂只有一名厂长;反之,一名厂长只能在一个工厂工作。那么工厂和厂长之间的联系是一对一的,我们把这种联系命名为领导。领导工厂厂长11身份证号姓名座位号位置乘坐时间乘客座位乘坐11一对一联系的例子一对多的联系如果实体集A与实体集B之间存在联系,并且对于实体集A中的一个实体,实体集B中有多个实体与之对应;而对实体集B中的任意一个实体,在实体集A中都只有一个实体与之对应,则称实体集A到实体集B的联系是一对多的,记为1:n。一对多联系的例子有仓库和职工两个实体,并且有语义:一个仓库可以有多名职工,但是一个职工只能在一个仓库工作。那么仓库和职工之间的联系是一对多的,我们把这种联系命名为工作。1n工作职工仓库部门号部门号职工号职工名部门职工工作n1一对多的联系多对多的联系如果实体集A与实体集B之间存在联系,并且对于实体集A中的一个实体,实体集B中有多个实体与之对应;而对实体集B中的一个实体,在实体集A中也有多个实体与之对应,则称实体集A到实体集B的联系是多对多的,记为m:n。多对多联系的例子有仓库和器件两个实体,并且有语义:一个仓库可以存放多种器件,一种器件可以存放在多个仓库。那么仓库和器件之间的联系就是多对多的,我们把这种联系命名为库存。mn库存仓库器件银行代码银行名称电话银行贷款法人法人代表法人名称经济性质法定代表人mn多对多联系的例子多个实体之间的联系m有仓库、器件、供应商三个实体,并且有语义:每个仓库可以向多个供应商订购多种器件:每个供应商可向多个仓库供应多种器件;每种器件可由多个供应商提供多个仓库。仓库订购器件供应商mnp例:仓库和职工之间的联系,如果规定职工任何时候都必须属于一个仓库,则这种联系是强制联系;如果规定职工在某种情况下可以不属于任何仓库则这种联系就是非强制联系。一种联系是强制联系还是非强制联系取决于现实世界中的管理方法是如何规定的。仓库工作职工仓库供应商强制联系与非强制联系职工1234依赖联系弱实体不能独立存在,需要借助于另一个实体集中的标识特征才能进行区分。123被弱实体所依赖的实体集也称作强实体集。弱实体不能独立存在,需要借助于另一个实体集中的标识特征才能进行区分。在弱实体集和强实体集之间必然存在着一种联系,因为它们之间存在着一种依赖关系,因此把这种联系称作依赖联系。依赖联系依赖联系的例子依赖联系的例子订购单号职工号供应商号订购日期订购单订购了订购单明细符号产品名称数量单价1m强实体依赖联系实体弱实体依赖联系都是一对多的联系。弱实体集也只有作为一对多联系的一部分才有意义。依赖联系的例子数据库建模工具数据库建模工具数据库建模工具12PowerDesigner简介使用PD建立概念数据模型的基本方法数据库建模工具12PowerDesigner简介使用PD建立概念数据模型的基本方法PowerDesigner简介

PowerDesigner是Sybase的数据库建模工具,其灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,并支持最新的关系数据库管理系统以及数据库中的WebServices和XML等功能。

PowerDesigner提供了直观的符号表示,以便更加简单地向非技术人员展示数据库以及应用系统的设计。它是一个功能强大而使用方便的工具集,为新一代数据库应用的建模提供了全面的支持。PowerDesigner简介PowerDesigner提供了如下几种模型:需求分析模型(RequirementsModel——RQM)企业架构模型(EnterpriseArchitectureModel——EAM)企业业务流程模型(BusinessProcessModel——BPM)概念数据模型(ConceptualDataModel——CDM)逻辑数据模型(LogicalDataModel——LDM)物理数据模型(PhysicalDataModel——PDM)面向对象模型(ObjectOrientedModel——OOM)信息流动模型(InformationLiquidityModel——ILM)XML模型(XMLModel)PowerDesigner各模型之间的转换关系数据库建模工具12PowerDesigner简介使用PD建立概念数据模型的基本方法使用PD建立概念数据模型的基本方法概念数据模型设计界面中的工具板的命令按钮大致可以分为三类:设计E-R图的实体、联系、继承和属性等概念数据模型中的要素;点取、套取、抓取、放大、缩小、剪裁等编辑手段和工具;文本、直线、矩形、椭圆形、圆角矩形、任意形状、多边形等辅助信息和符号。建立概念数据模型的常规操作定义实体;定义实体的属性;定义实体之间的联系。深入讨论联系的几个问题深入讨论联系的几个问题123为什么需要讨论联系?多对多联系复杂吗?理解和转换多对多联系PowerDesigner中的多对多联系转换成一对多联系4连接陷阱深入讨论联系的几个问题123为什么需要讨论联系?多对多联系复杂吗?理解和转换多对多联系PowerDesigner中的多对多联系转换成一对多联系4连接陷阱为什么需要讨论联系?仓库号城市面积WH1北京500WH2上海450WH3广州200WH4重庆300器件号器件名称P1显示卡P2声卡P3解压卡P4散热风扇仓库实例器件实例联系如果规定一个仓库只能存放一种器件,并且一种器件只能存放在一个仓库,这时仓库和器件之间的联系类型是一对一的;如果规定一个仓库可以存放多种器件,但是一种器件只能存放在一个仓库,这时仓库和器件之间的联系类型是一对多的;如果规定一个仓库可以存放多种器件,同时一种器件可以存放在多个仓库,这时仓库和器件之间的联系类型是多对多的。管理方法不同,联系类型不同!为什么需要讨论联系?仓库和器件两个实体之间的联系类型?仓库号城市面积WH1北京500WH2上海450WH3广州200WH4重庆300器件号器件名称P1显示卡P2声卡P3解压卡P4散热风扇仓库实例器件实例为什么需要讨论联系?仓库号城市器件号器件名称仓库号仓库器件库存面积器件号数量

仓库号器件号数量WH1P1100WH2P2120WH3P3180WH4P4200器件号器件名称P1显示卡P2声卡P3解压卡P4散热风扇仓库号城市面积WH1北京500WH2上海450WH3广州200WH4重庆300仓库实例仓库号城市面积器件号器件名称数量WH1WH2WH3WH4北京上海广州重庆500450200300P1P2P3P4显示卡声卡解压卡散热风扇100120180200可以合并为一个文件仓库和器件之间的联系是一对一为什么需要讨论联系?器件实例一对一联系时的库存实例解压卡存放在哪个城市?

仓库号器件号数量WH1P1100WH1P2120WH2P3180WH2P4200器件号器件名称P1显示卡P2声卡P3解压卡P4散热风扇仓库号城市面积WH1北京500WH2上海450WH3广州200WH4重庆300仓库实例合并为一个文件仓库和器件之间的联系是一对多为什么需要讨论联系?器件实例一对多联系时的库存实例仓库号城市面积器件号器件名称数量WH1WH1WH2WH2WH3WH4北京北京上海上海广州重庆500500450450200300P1P2P3P4显示卡声卡解压卡散热风扇100120180200

仓库号器件号数量WH1P1100WH1P2120WH2P3180WH2P4200器件号器件名称P1显示卡P2声卡P3解压卡P4散热风扇仓库号城市面积WH1北京500WH2上海450WH3广州200WH4重庆300仓库实例合并为一个文件仓库和器件之间的联系是一对多为什么需要讨论联系?器件实例一对多联系时的库存实例仓库号城市面积器件号器件名称数量WH1WH1WH2WH2WH3WH4北京北京上海上海广州重庆500500450450200300P1P2P3P4显示卡声卡解压卡散热风扇100120180200600数据不一致问题

仓库号器件号数量WH1P1100WH1P2120WH2P3180WH2P4200器件号器件名称P1显示卡P2声卡P3解压卡P4散热风扇仓库号城市面积WH1北京500WH2上海450WH3广州200WH4重庆300仓库实例需要设计两个物理文件仓库和器件之间的联系是一对多为什么需要讨论联系?器件实例一对多联系时的库存实例仓库号器件号器件名称数量WH1WH1WH2WH2P1P2P3P4显示卡声卡解压卡散热风扇100120180200仓库号城市面积WH1WH2WH3WH4北京上海广州重庆500450200300仓库和器件之间的联系是多对多为什么需要讨论联系?

仓库号器件号数量WH1P1100WH1P2120WH2P3180WH2P4200WH3P1150WH4P1180WH4P2200WH4P3100WH4P4140器件号器件名称P1显示卡P2声卡P3解压卡P4散热风扇仓库号城市面积WH1北京500WH2上海450WH3广州200WH4重庆300仓库实例器件实例多对多联系时的库存实例需要设计三个物理文件结论同样两个实体,如果赋予不同的语义则有不同的设计结果。也就是说我们在概念模型中讨论实体之间的联系类型直接影响着目标数据库的设计结果和设计质量。深入讨论联系的几个问题123为什么需要讨论联系?多对多联系复杂吗?理解和转换多对多联系PowerDesigner中的多对多联系转换成一对多联系4连接陷阱

多对多联系多对多联系是一类比较复杂的联系,一般数据库管理系统并不直接支持这类联系,或者由于技术上的原因我们也不直接使用这类联系,我们总是把多对多联系转换为一对多联系。面积500450200300城市北京上海广州重庆仓库号WH1WH2WH3WH4120200180100140150180200100———————器件号器件名称显示卡声卡解压卡散热风扇P4P3P2P1用矩阵表示多对多联系面积500450200300城市北京上海广州重庆仓库号WH1WH2WH3WH4120200180100140150180200100———————器件号器件名称显示卡声卡解压卡散热风扇P4P3P2P1用矩阵表示多对多联系面积500450200300城市北京上海广州重庆仓库号WH1WH2WH3WH4120200180100140150180200100———————器件号器件名称显示卡声卡解压卡散热风扇P4P3P2P1用矩阵表示多对多联系面积500450200300城市北京上海广州重庆仓库号WH1WH2WH3WH4120200180100140150180200100———————器件号器件名称显示卡声卡解压卡散热风扇P4P3P2P1用矩阵表示多对多联系面积500450200300城市北京上海广州重庆仓库号WH1WH2WH3WH4120200180100140150180200100———————器件号器件名称显示卡声卡解压卡散热风扇P4P3P2P1用矩阵表示多对多联系面积500450200300城市北京上海广州重庆仓库号WH1WH2WH3WH4120200180100140150180200100———————器件号器件名称显示卡声卡解压卡散热风扇P4P3P2P1用矩阵表示多对多联系面积500450200300城市北京上海广州重庆仓库号WH1WH2WH3WH4120200180100140150180200100———————器件号器件名称显示卡声卡解压卡散热风扇P4P3P2P1用矩阵表示多对多联系面积500450200300城市北京上海广州重庆仓库号WH1WH2WH3WH4120200180100140150180200100———————器件号器件名称显示卡声卡解压卡散热风扇P4P3P2P1用矩阵表示多对多联系面积500450200300城市北京上海广州重庆仓库号WH1WH2WH3WH4120200180100140150180200100———————器件号器件名称显示卡声卡解压卡散热风扇P4P3P2P1用矩阵表示多对多联系面积500450200300城市北京上海广州重庆仓库号WH1WH2WH3WH4120200180100140150180200100———————器件号器件名称显示卡声卡解压卡散热风扇P4P3P2P1用矩阵表示多对多联系一个多对多的联系实际蕴涵了两个一对多的联系,仓库和器件之间的联系是多对多的,但是它们和“联系”库存之间的联系都是一对多的。多对多联系总是要转换为一对多联系一方面,现在的数据库管理系统都不直接支持多对多的联系另一方面,在文件中如果强行按照多对多的方式存储数据,势必造成数据的大量重复存储,从而造成各种操作异常现象。仓库号城市面积仓库器件库存W-IP-I

器件号器件名称仓库号器件号数量11mn仓库号城市面积仓库号器件号数量器件仓库库存mn器件号器件名称多对多联系转换为一对多联系深入讨论联系的几个问题123为什么需要讨论联系?多对多联系复杂吗?理解和转换多对多联系PowerDesigner中的多对多联系转换成一对多联系4连接陷阱PowerDesinger的早期版本只提供了概念数据模型(CDM)和物理数据模型(PDM,实际也担当着逻辑模型的作用),因此需要手工将多对多联系转换一对多联系,方法是将多对多联系转换为实体,结果变成原来的两个实体和表示联系的实体之间的两个一对多联系。PowerDesinger15.0增加了逻辑模型(LDM),在根据CDM生成LDM会自动将多对多联系转换成一对多联系。PowerDesigner中的多对多联系转换成一对多联系深入讨论联系的几个问题123为什么需要讨论联系?多对多联系复杂吗?理解和转换多对多联系PowerDesigner中的多对多联系转换成一对多联系4连接陷阱连接陷阱所谓连接陷阱就是误认为不存在联系的两个实体间存在联系,从而通过这种“联系”获取错误的信息。连接陷阱连接陷阱连接陷阱查询WH1仓库P1器件的订货数量是多少?试图通过不存在的联系获取信息结果将是错误的!库存和订货之间存在联系吗?连接陷阱查询WH1仓库P1器件的订货数量是多少?试图通过不存在的联系获取信息结果将是错误的!库存和订货之间存在联系吗?概念数据模型设计实例概念数据模型设计实例123问题描述?库存业务局部概念模型订购业务局部概念模型4将局部E-R模型合并为全局E-R模型概念数据模型设计实例123问题描述?库存业务局部概念模型订购业务局部概念模型4将局部E-R模型合并为全局E-R模型实例

某企业要建立一个管理库存业务和订购业务的数据库。问题实例在一个仓库中可以存放多种器件,一种器件也可以存放在多个仓库中;一个仓库有多个职工,而一个职工只能在一个仓库工作;职工中设置班组长,每个班组长可以管理多名职工,每名职工只归一个班组长管理;一个职工可以保管一个仓库中的多种器件,由于一种器件可以存放在多个仓库中,当然也可以由多名职工保管。库存业务的语义描述实例一名职工可以经手多张订购单,但一张订购单只能由一名职工经手;一个供应商可以接受多张订购单,但一张订购单只能发给一个供应商;一个供应商可以供应多种器件,每种器件也可以由多个供应商供应;一张订购单可以订购多种器件,对每种器件的订购也可以出现在多张订购单上。订购业务的语义描述概念模型设计根据库存业务设计局部概念数据模型根据订购业务设计局部概念数据模型将局部概念模型合并成全局概念模型概念数据模型设计实例123问题描述?库存业务局部概念模型订购业务局部概念模型4将局部E-R模型合并为全局E-R模型库存业务局部概念模型在一个仓库中可以存放多种器件,一种器件也可以存放在多个仓库中;一个仓库有多个职工,而一个职工只能在一个仓库工作;职工中设置班组长,每个班组长可以管理多名职工,每名职工只归一个班组长管理;一个职工可以保管一个仓库中的多种器件,由于一种器件可以存放在多个仓库中,当然也可以由多名职工保管。库存业务的语义描述仓库

器件职工

库存业务涉及的实体库存业务局部概念模型在一个仓库中可以存放多种器件,一种器件也可以存放在多个仓库中;一个仓库有多个职工,而一个职工只能在一个仓库工作;职工中设置班组长,每个班组长可以管理多名职工,每名职工只归一个班组长管理;一个职工可以保管一个仓库中的多种器件,由于一种器件可以存放在多个仓库中,当然也可以由多名职工保管。库存业务的语义描述仓库属性:仓库号、面积、城市。器件属性:器件号、器件名称。职工属性:职工号、姓名、工资、班组长。库存业务涉及的实体库存业务局部概念模型在一个仓库中可以存放多种器件,一种器件也可以存放在多个仓库中;一个仓库有多个职工,而一个职工只能在一个仓库工作;职工中设置班组长,每个班组长可以管理多名职工,每名职工只归一个班组长管理;一个职工可以保管一个仓库中的多种器件,由于一种器件可以存放在多个仓库中,当然也可以由多名职工保管。库存业务的语义描述仓库属性:仓库号、面积、城市。器件属性:器件号、器件名称。职工属性:职工号、姓名、工资、班组长。库存业务涉及的实体仓库和器件之间是多对多的库存联系;仓库和职工之间是一对多的工作联系;职工和器件之间是多对多的保管联系;职工实体内部通过班组长和职工号有一个一对多的领导联系。实体之间的联系不仅不同的实体之间可以有联系,实体内部也可以有联系。库存业务的局部概念模型概念数据模型设计实例123问题描述?库存业务局部概念模型订购业务局部概念模型4将局部E-R模型合并为全局E-R模型订购业务局部概念模型一名职工可以经手多张订购单,但一张订购单只能由一名职工经手;一个供应商可以接受多张订购单,但一张订购单只能发给一个供应商;一个供应商可以供应多种器件,每种器件也可以由多个供应商供应;一张订购单可以订购多种器件,对每种器件的订购也可以出现在多张订购单上。订购业务的语义描述器件职工供应商订购单订购业务涉及的实体订购业务局部概念模型一名职工可以经手多张订购单,但一张订购单只能由一名职工经手;一个供应商可以接受多张订购单,但一张订购单只能发给一个供应商;一个供应商可以供应多种器件,每种器件也可以由多个供应商供应;一张订购单可以订购多种器件,对每种器件的订购也可以出现在多张订购单上。订购业务的语义描述器件属性有:器件号、器件名称。职工属性有:职工号、姓名。供应商属性有:供应商号、供应商名、地点。订购单属性有:订购单号、订购日期。订购业务涉及的实体订购业务局部概念模型一名职工可以经手多张订购单,但一张订购单只能由一名职工经手;一个供应商可以接受多张订购单,但一张订购单只能发给一个供应商;一个供应商可以供应多种器件,每种器件也可以由多个供应商供应;一张订购单可以订购多种器件,对每种器件的订购也可以出现在多张订购单上。订购业务的语义描述器件属性有:器件号、器件名称。职工属性有:职工号、姓名。供应商属性有:供应商号、供应商名、地点。订购单属性有:订购单号、订购日期。订购业务涉及的实体职工和订购单之间是多对多的经手联系;供应商和订购单之间是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论