数据模型与概念模型

上传人:沈*** 文档编号:185745820 上传时间:2023-02-06 格式:PPT 页数:50 大小:961.52KB
收藏 版权申诉 举报 下载
数据模型与概念模型_第1页
第1页 / 共50页
数据模型与概念模型_第2页
第2页 / 共50页
数据模型与概念模型_第3页
第3页 / 共50页
资源描述:

《数据模型与概念模型》由会员分享,可在线阅读,更多相关《数据模型与概念模型(50页珍藏版)》请在装配图网上搜索。

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

2、特征的描述数据操作 数据操作是指对数据库的查询、修改、删除和插入等操作,是一种动态特征的描述完整性约束 数据及数据间联系应具有的制约和依赖规则如:一个系可有多个学生,一个学生只能属于一个系5数据模型的分类数据模型的分类根据不同的抽象层次,数据模型分为三类概念数据模型结构数据模型/逻辑数据模型物理数据模型(1)现实管理系统的用户与计算机管理系统的设计人员之间的专业差异。(2)用户理解与计算机实现的矛盾。6现实世界的数据化过程现实世界的数据化过程现实世界信息世界数据世界 抽象转换学生学生学生学生学号学号姓名姓名年龄年龄性别性别班级班级概念模型概念模型数据模型数据模型事物和事物特性事物和事物特性事物

3、间联系事物间联系实体和实体属性实体和实体属性实体集间联系实体集间联系记录和数据项记录和数据项7数据模型的分类数据模型的分类概念数据模型 现实世界的事物经过人脑的抽象加工,提取出对用户有用的信息,经过组织整理加工形成结合现实世界和计算机世界之间的中间模型 数据库的设计人员在设计的初始阶段摆脱具体技术问题,集中精力分析数据、数据之间的联系 最常用的概念模型是E-R模型 概念模型与具体的DBMS无关,它必须转换成结构模型,才能在DBMS中实现8数据模型的分类数据模型的分类结构数据模型(逻辑数据模型)面向用户建模,它是用户从数据库所看到的数据模型 是具体的DBMS所支持的数据模型(网状/层次/关系/面

4、向对象)既要面向用户,也要面向系统 一般由概念模型转换得到9数据模型的分类数据模型的分类物理数据模型面向具体的DBMS,面向机器,描述数据在存储介质上的组织结构 不仅与具体的DBMS有关,还与操作系统和硬件有关 为保证其独立性和可以执行,大部分PDM的实现工作由系统自动完成,而设计者只设计索引、聚簇等特殊结构 10现实世界信息世界 概念模型机器世界 物理模型认识抽象转换逻辑模型现实世界现实世界 概念模型概念模型数据库设计人员完成数据库设计人员完成逻辑模型逻辑模型 物理模型物理模型由由DBMS完成完成概念模型概念模型 逻辑模型逻辑模型数据库设计人员完成数据库设计人员完成11第第2章章 数据模型与

5、概念模型数据模型与概念模型 什么是数据模型什么是数据模型概念模型概念模型常见的数据模型常见的数据模型12基本术语基本术语实体实体客观存在客观存在并并可相互区别可相互区别的事物的事物如:每个学生、每个职工、学生的一次注册如:每个学生、每个职工、学生的一次注册实体集实体集同类实体的集合同类实体的集合如:全体教师、所有学生的注册如:全体教师、所有学生的注册属性属性实体的某一特性实体的某一特性如:姓名、年龄、性别、职称、注册时间、宗教如:姓名、年龄、性别、职称、注册时间、宗教概念模型概念模型 13概念模型概念模型 码(码(Key)能能唯一标识唯一标识实体的属性(或属性集合)实体的属性(或属性集合)如:

6、学号、系号、身份证号码如:学号、系号、身份证号码域(域(Domain)属性的属性的取值范围取值范围,即属性的域,即属性的域如:学号的域:如:学号的域:8位字符串;年龄的域:位字符串;年龄的域:1275 联系(联系(Relationship)现实世界中事物之间的联系现实世界中事物之间的联系如:一个班级有多个学生;一个系有多个班级如:一个班级有多个学生;一个系有多个班级 14概念模型概念模型 信息世界信息世界机器世界机器世界实体实体记录记录属性属性字段(数据项)字段(数据项)实体集实体集文件文件实体码实体码记录码记录码术语的对应关系术语的对应关系 实体集实体集 同型实体的集合称为实体集。例如,全体

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

8、A中每一个实体,在实体集B中有n个实体与之联系,而且,对于实体集B中的每一个实体,实体集A中至多有一个实体与之联系,则称实体集和实体集具有1对多的联系,记为1 n。如:一个班主任管理多个学生,一个项目经理管理多个组员,一个教师可以教授多门课程 18概念模型概念模型(3)多对多联系()多对多联系(m n)如果对于实体集A中的每一个实体,实体集B中有n个实体与之联系;同时,对于实体集B中的每一个实体,实体集A中有m个实体与之联系,则称和具有多对多联系,记为m n。如:一个学生可以选修多门课程,一门课程可以被多个学生选修;一份订单可以订购多种产品,一种产品可以被多份订单订购 19概念模型概念模型 E

9、R模型的图示形式就称为ER图。ER图提供了用图形表示实体型、属性和联系的方法。ER图的要点如下:实体型实体型用矩形表示,矩形框内写明实体名。学生学生教师教师20概念模型概念模型 属性属性用椭圆形表示,并用无向边将其与相应的实体连接起来。学生学生学号学号年龄年龄性别性别姓名姓名21概念模型概念模型 联系联系联系本身:联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)班长实体集班长实体集A班主任实体集班主任实体集A学生实体集学生实体集A班集体实体集班集体实体集B学生实体集学生实体集B课程实体集课程实体集B负责负责管理管

10、理选修选修111nmn22概念模型概念模型 课程课程选修选修学生学生mn成绩成绩联系联系联系的属性:联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。23概念模型概念模型 实例实例 课程、教师与参考书三个实体型课程、教师与参考书三个实体型一门课程可以有若干个教师讲授,一门课程可以有若干个教师讲授,使用若干本参考书,使用若干本参考书,每一个教师只讲授一门课程,每一个教师只讲授一门课程,每一本参考书只供一门课程使用每一本参考书只供一门课程使用课程课程讲授讲授教师教师1m两个以上实体型间两个以上实体型间1:n联系联系参考书参考书n24概念

11、模型概念模型 实例 供应商、项目、零件三个实体型;一个供应商可以供给多个项目多种零件;每个项目可以使用多个供应商供应的零件;每种零件可由不同供应商供给。供应商供应商供应供应项目项目mp两个以上实体型间两个以上实体型间m:n联系联系零件零件n25概念模型概念模型 实例 职工实体型内部具有领导与被领导的联系;某一职工(干部)“领导”若干名职工;一个职工仅被另外一个职工直接领导;职工职工领导领导1n单个实体型内部单个实体型内部1:n联系联系26随堂练习随堂练习1设有商店和顾客两个实体,设有商店和顾客两个实体,“商店商店”的属性有商店编号、的属性有商店编号、商店名、地址、电话,商店名、地址、电话,“顾

12、客顾客”的属性有顾客编号、姓名的属性有顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次区商店购物有一个个顾客可以到多个商店购物,顾客每次区商店购物有一个消费金额和日期。试画出消费金额和日期。试画出ERER图,并注明属性和联系类型。图,并注明属性和联系类型。27随堂练习随堂练习2设有一局部应用,包括设有一局部应用,包括3 3个实体个实体“科室科室”、“医生医生”、“病病人人”,且有如下事实:每位医生属于且仅属于一个科室;,且有如下事实:每位医生属于且仅属于一个科室;每个科室有多位医生可以接诊病人;

13、病人根据自己的症状每个科室有多位医生可以接诊病人;病人根据自己的症状选择相应的科室就诊;一位病人在同一科室中多次看病时选择相应的科室就诊;一位病人在同一科室中多次看病时,每次可能由不同的医生为其诊断。设科室的属性包括科,每次可能由不同的医生为其诊断。设科室的属性包括科室代码、科室名称,医生的属性包括工号、姓名、职称,室代码、科室名称,医生的属性包括工号、姓名、职称,病人的属性包括姓名、年龄、工作单位。试画出病人的属性包括姓名、年龄、工作单位。试画出ERER图,并图,并注明属性和联系类型。注明属性和联系类型。28第第2章章 数据模型与概念模型数据模型与概念模型 什么是数据模型什么是数据模型概念模

14、型概念模型常见的数据模型常见的数据模型29常见的数据模型常见的数据模型基于树的层次模型(hierarchical model)20世纪60年代末到70年代初基于图的网状模型(network model)20世纪70年代基于表的关系模型(relational model)20世纪80年代至今基于对象的面向对象模型(Object Oriented Model)研究开发中30层次模型层次模型20世纪世纪60年代末到年代末到70年代初年代初有且仅有一个根节点;其它节点有且仅有一个父节点有且仅有一个根节点;其它节点有且仅有一个父节点 根结点根结点叶结点叶结点叶结点叶结点31层次模型(续)层次模型(续)教

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

16、门课程及其成绩35网状模型(续)网状模型(续)学生学生/选课选课/课程的网状数据模型课程的网状数据模型 36网状模型(续)网状模型(续)学生学生/选课选课/课程的网状数据库实例课程的网状数据库实例37网状模型网状模型优点优点 能够更直接的描述现实世界缺点缺点 结构比较复杂,而且随着应用环境的扩大,数据库的结构变得越来越复杂,不利于用户掌握;DDL和DML语言复杂,用户不容易使用;程序员要为访问数据设置存取路径,加重编程负担。38关系模型关系模型20世纪世纪80年代年代在在用户观点用户观点下,关系模型中数据的逻辑结构是一张二维下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。表,它由行和

17、列组成。学 号姓 名年 龄性 别系 名年 级2005004王小明19女社会学20052005006黄大鹏20男商品学20052005008张文斌18女法律2005学生登记表学生登记表属性属性元组元组39关系模型(续)关系模型(续)例1.学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,学生(学号,姓名,年龄,性别,系号系号,年级),年级)系系(系号系号,系名,办公地点,系名,办公地点)例2.学生、课程、学生与课程之间的多对多联系:学生(学生(学号学号,姓名,年龄,性别,系号,年级),姓名,年龄,性别,系号,年级)课程(课程(课程号课程号,课程名,学分),课程名,学分)选修(学号

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

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

20、别适合于特定的应用,例如工程、电子商务、医疗等,但并不适合所有应用。44对象关系数据模型对象关系数据模型 1.对象关系数据模型的概念对象关系数据模型的概念 对象关系数据模型使用二维表表示数据,它包括关系表关系表和对象表对象表两种。关系表属于关系模型,关系的属性对应于表的列,关系的元组对应于表的行,关系模型装不支持方法。对象表属于面向对象数据模型,支持面向对象的基本功能,对象的类抽象对应二维表,类的实例(对象)对应于表中的行,类的属性对应于表的列,通过对象可调用方法。45.对象表的数据类型和表结构特点对象表的数据类型和表结构特点(1)对象表的属性支持复合数据类型 关系表强调属性数据只能是不可分割

21、的简单数据项,复合数据是不允许出现的。对象表的数据可以是基本项,也可以是组合数据项。学生信息的对象表结构学号姓名年龄班级家庭联系人姓名与学生关系电话单位46(2 2)对象表的属性支持可变长数组类型)对象表的属性支持可变长数组类型 关系表的属性不支持数组类型,更不支持可变长的数组类型。对于一些数据个数不确定的信息,关系表只能独立新建表的方法解决。对象表增加了数组类型,用户可以使用可变长的数组类型保存记录中数据个数不一样的属性数据。学生学生-选课的对象表选课的对象表学号姓名年龄班级课程名成绩040011王刚2004(2)数据库72C语言87软件工程76040012李力2104(2)数据库67040

22、013田红2004(3)数据库86软件工程7547(3 3)对象表的属性支持嵌入表数据类型)对象表的属性支持嵌入表数据类型 对象表中的属性,不仅可以是复合数据、数组数据等带结构的数据,还可以是嵌套表,信息结构更复杂、更丰富。嵌套表有行和列,表的长短与具体元组有关。学号姓名年龄班级 选课040011王刚2004(2)040012李力2104(2)040013田红2004(3)课程号课程号课程名课程名成绩成绩C20数据库数据库72C11C语言语言87C32软件工程软件工程 76课程号课程号课程名课程名成绩成绩C20数据库数据库 86C32软件工程软件工程 75课程号课程号课程名课程名成绩成绩C20

23、数据库数据库6748随堂练习随堂练习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.实体间多对多的联系49随堂练习随堂练习 某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同,这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂数据的概念模型。50

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!