数据模型与概念模型.ppt

上传人:牧羊曲112 文档编号:5016796 上传时间:2023-05-29 格式:PPT 页数:50 大小:831.50KB
返回 下载 相关 举报
数据模型与概念模型.ppt_第1页
第1页 / 共50页
数据模型与概念模型.ppt_第2页
第2页 / 共50页
数据模型与概念模型.ppt_第3页
第3页 / 共50页
数据模型与概念模型.ppt_第4页
第4页 / 共50页
数据模型与概念模型.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《数据模型与概念模型.ppt》由会员分享,可在线阅读,更多相关《数据模型与概念模型.ppt(50页珍藏版)》请在三一办公上搜索。

1、第2章 数据模型与概念模型,什么是数据模型概念模型常见的数据模型,数据模型,为什么要建立数据模型(Data Model)?象盖大楼的设计图一样,DM可使所有的 项目参与者都有一个共同的数据标准避免出现问题再解决(边干边改的方式)可及早发现问题加快应用开发速度,数据模型,通俗来讲,数据模型就是对现实世界的模拟、描述或表示。数据模型应满足的三个要求:,(1)比较真实地描述现实世界;,(2)易为用户所理解;,(3)易于在计算机上实现。,数据模型的构成,数据模型的三要素数据结构 数据的表示方法(数据的组织形式),是一种静态特征的描述数据操作 数据操作是指对数据库的查询、修改、删除和插入等操作,是一种动

2、态特征的描述完整性约束 数据及数据间联系应具有的制约和依赖规则如:一个系可有多个学生,一个学生只能属于一个系,数据模型的分类,根据不同的抽象层次,数据模型分为三类概念数据模型结构数据模型/逻辑数据模型物理数据模型,(1)现实管理系统的用户与计算机管理系统的设计人员之间的专业差异。,(2)用户理解与计算机实现的矛盾。,现实世界的数据化过程,数据模型的分类,概念数据模型 现实世界的事物经过人脑的抽象加工,提取出对用户有用的信息,经过组织整理加工形成结合现实世界和计算机世界之间的中间模型 数据库的设计人员在设计的初始阶段摆脱具体技术问题,集中精力分析数据、数据之间的联系 最常用的概念模型是E-R模型

3、 概念模型与具体的DBMS无关,它必须转换成结构模型,才能在DBMS中实现,数据模型的分类,结构数据模型(逻辑数据模型)面向用户建模,它是用户从数据库所看到的数据模型 是具体的DBMS所支持的数据模型(网状/层次/关系/面向对象)既要面向用户,也要面向系统 一般由概念模型转换得到,数据模型的分类,物理数据模型面向具体的DBMS,面向机器,描述数据在存储介质上的组织结构 不仅与具体的DBMS有关,还与操作系统和硬件有关 为保证其独立性和可以执行,大部分PDM的实现工作由系统自动完成,而设计者只设计索引、聚簇等特殊结构,现实世界,信息世界 概念模型,机器世界 物理模型,认识抽象,转换,逻辑模型,第

4、2章 数据模型与概念模型,什么是数据模型概念模型常见的数据模型,基本术语,实体客观存在并可相互区别的事物如:每个学生、每个职工、学生的一次注册实体集同类实体的集合如:全体教师、所有学生的注册属性实体的某一特性如:姓名、年龄、性别、职称、注册时间、宗教,概念模型,概念模型,码(Key)能唯一标识实体的属性(或属性集合)如:学号、系号、身份证号码域(Domain)属性的取值范围,即属性的域如:学号的域:8位字符串;年龄的域:1275 联系(Relationship)现实世界中事物之间的联系如:一个班级有多个学生;一个系有多个班级,概念模型,术语的对应关系,实体集 同型实体的集合称为实体集。例如,全

5、体学生就是一个实体集。,概念模型,联系的分类实体集内部的联系,即实体集内部实体之间的联系;实体集之间的联系,即一个实体集中的实体与另一实体集中实体的联系。,概念模型,实体集之间的联系分为三类(1)一对一联系(11)对于实体集A和实体集B来说,如果对于A中的每一个实体a,B中至多有一个实体b与之联系;而且,对于实体集B和实体集A来说,也是如此,则称实体集A与实体集B具有一对一联系,记为11。如:一个班级只有一个班长,一个公司只有一个总经理,一个组只有一个组长,概念模型,(2)一对多联系(1n)对于实体集A中每一个实体,在实体集B中有n个实体与之联系,而且,对于实体集B中的每一个实体,实体集A中至

6、多有一个实体与之联系,则称实体集和实体集具有1对多的联系,记为1n。如:一个班主任管理多个学生,一个项目经理管理多个组员,一个教师可以教授多门课程,概念模型,(3)多对多联系(mn)如果对于实体集A中的每一个实体,实体集B中有n个实体与之联系;同时,对于实体集B中的每一个实体,实体集A中有m个实体与之联系,则称和具有多对多联系,记为mn。如:一个学生可以选修多门课程,一门课程可以被多个学生选修;一份订单可以订购多种产品,一种产品可以被多份订单订购,概念模型,ER模型的图示形式就称为ER图。ER图提供了用图形表示实体型、属性和联系的方法。ER图的要点如下:实体型用矩形表示,矩形框内写明实体名。,

7、学生,教师,概念模型,属性用椭圆形表示,并用无向边将其与相应的实体连接起来。,概念模型,联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n),概念模型,联系联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。,概念模型,实例 课程、教师与参考书三个实体型一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用,概念模型,实例 供应商、项目、零件三个实体型;一个供应商可以供给多个项目多种零件;每个项目可以使用多

8、个供应商供应的零件;每种零件可由不同供应商供给。,概念模型,实例 职工实体型内部具有领导与被领导的联系;某一职工(干部)“领导”若干名职工;一个职工仅被另外一个职工直接领导;,随堂练习1,设有商店和顾客两个实体,“商店”的属性有商店编号、商店名、地址、电话,“顾客”的属性有顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次区商店购物有一个消费金额和日期。试画出ER图,并注明属性和联系类型。,随堂练习2,设有一局部应用,包括3个实体“科室”、“医生”、“病人”,且有如下事实:每位医生属于且仅属于一个科室;每个科室有多位医生可以接诊病人;病人根据自己

9、的症状选择相应的科室就诊;一位病人在同一科室中多次看病时,每次可能由不同的医生为其诊断。设科室的属性包括科室代码、科室名称,医生的属性包括工号、姓名、职称,病人的属性包括姓名、年龄、工作单位。试画出ER图,并注明属性和联系类型。,第2章 数据模型与概念模型,什么是数据模型概念模型常见的数据模型,常见的数据模型,基于树的层次模型(hierarchical model)20世纪60年代末到70年代初基于图的网状模型(network model)20世纪70年代基于表的关系模型(relational model)20世纪80年代至今基于对象的面向对象模型(Object Oriented Model)

10、研究开发中,层次模型,20世纪60年代末到70年代初有且仅有一个根节点;其它节点有且仅有一个父节点,根结点,叶结点,叶结点,层次模型(续),教员学生层次数据库的一个实例,层次模型,优点 结构简单缺点 不能表示两个以上实体之间的复杂联系和实体之间的多对多联系;严格的层次顺序使数据插入和删除操作变得复杂,容易产生冗余、插入异常、删除异常、修改异常等。,网状模型,20世纪70年代允许一个以上节点无父节点一个节点可以有多于一个父节点,网状模型(续),例如:一个学生可以选修若干门课程,某一课程可以被多个学生选修,学生与课程之间是多对多联系。引进一个学生选课的联结记录,由3个数据项组成学号课程号成绩表示某

11、个学生选修某一门课程及其成绩,网状模型(续),学生/选课/课程的网状数据模型,网状模型(续),学生/选课/课程的网状数据库实例,网状模型,优点 能够更直接的描述现实世界缺点 结构比较复杂,而且随着应用环境的扩大,数据库的结构变得越来越复杂,不利于用户掌握;DDL和DML语言复杂,用户不容易使用;程序员要为访问数据设置存取路径,加重编程负担。,关系模型,20世纪80年代在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,学生登记表,属性,元组,关系模型(续),例1.学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点)例2.学生

12、、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩),关系模型,优点 使用表的概念,简单直观;直接表示实体之间的多对多联系;具有更好的数据独立性。缺点 关系模型中的数据联系是靠数据冗余实现的,由于数据冗余,使得关系的空间效率和时间效率较低;关系模型的连接等操作开销较大,需要较高性能的计算机的支持。,面向对象模型,对象模型 使用面向对象技术来表示信息世界的实体类型及实体之间联系的模型称为对象模型。,对象,封装,消息,面向对象模型,优点(1)适合处理各种各样的数据类型:例如图片、声音、视频、文本、数字等。(2)面向对象

13、程序设计与数据库技术相结合:提供了一个集成应用开发系统。(3)提高开发效率:面向对象数据模型提供强大的特性,例如继承、多态和动态绑定,这样用户不用编写特定对象的代码就可以构成对象并提供解决方案。,面向对象模型,缺点(1)没有准确的定义:很难提供一个准确的定义来说明面向对象DBMS应建成什么样(2)维护困难:随着组织信息需求的改变,对象的定义也要求改变并且需移植现有数据库,以完成新对象的定义。(3)不适合所有的应用:面向对象数据模型用于需要管理数据对象之间存在的复杂关系的应用,它们特别适合于特定的应用,例如工程、电子商务、医疗等,但并不适合所有应用。,对象关系数据模型,1.对象关系数据模型的概念

14、 对象关系数据模型使用二维表表示数据,它包括关系表和对象表两种。关系表属于关系模型,关系的属性对应于表的列,关系的元组对应于表的行,关系模型装不支持方法。对象表属于面向对象数据模型,支持面向对象的基本功能,对象的类抽象对应二维表,类的实例(对象)对应于表中的行,类的属性对应于表的列,通过对象可调用方法。,.对象表的数据类型和表结构特点,(1)对象表的属性支持复合数据类型 关系表强调属性数据只能是不可分割的简单数据项,复合数据是不允许出现的。对象表的数据可以是基本项,也可以是组合数据项。,学生信息的对象表结构,(2)对象表的属性支持可变长数组类型,关系表的属性不支持数组类型,更不支持可变长的数组

15、类型。对于一些数据个数不确定的信息,关系表只能独立新建表的方法解决。对象表增加了数组类型,用户可以使用可变长的数组类型保存记录中数据个数不一样的属性数据。,学生-选课的对象表,(3)对象表的属性支持嵌入表数据类型,对象表中的属性,不仅可以是复合数据、数组数据等带结构的数据,还可以是嵌套表,信息结构更复杂、更丰富。嵌套表有行和列,表的长短与具体元组有关。,课程号课程名成绩C20数据库72C11C语言87C32软件工程76,课程号课程名成绩C20数据库 86C32软件工程 75,课程号课程名成绩C20数据库67,随堂练习,1、()属于信息世界的模型,实际上是现实世界到机器世界的一个中间层次。A.数据模型B.概念模型C.E-R图D.关系模型,2、层次模型不能直接表示()。A.1:1关系B.1:m关系C.m:n关系D.1:1和1:m关系,3、非关系模型中数据结构的基本单位是()。A.两个记录型间的联系B.记录C.基本层次联系D.实体间多对多的联系,随堂练习,某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同,这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂数据的概念模型。,本章结束 谢谢,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号