版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 数据模型与概念模型一、 信息的三种世界及描述 信息的世界分为现实世界、信息世界、计算机世界。 现实世界:存在于人脑之外的客观世界。包括各种事物、事物之间的联系等。是人们认识世界的源头。 信息世界:现实世界的事物在人脑中的反映与解释,是客观事物及其联系的一种抽象描述。 计算机世界:信息经过数字化处理,转换成计算机能够处理的数据集。 信息处理的三个领域:现实世界信息世界机器世界具体事物信息数据(Data)数据库(DataBase) 数据库即是模拟现实世界中某应用环境(一个企业、单位)所涉及的数据的集合。在数据库中用数据模型来抽象、表示和处理现实世界中的数据。转化认识、抽象认识和处理的过程:
2、客观事物及事物间的联系信息数据反映(抽象)作用、指导数据化信息化构成信息模型数据模型现实世界信息世界机器世界客观存在规范信息分类组织编码存储检索指导、决策依据反映 为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,实际的数据处理过程: 首先将现实世界的事物及联系抽象成信息世界的概念模型, 然后再抽象成计算机世界的数据模型。 信息模型并不依赖于具体的计算机系统,不是某一个DBMS所支持的数据模型,它是计算机内部数据的抽象表示,是概念模型; 概念模型经过抽象,转换成计算机上DBMS支持的数据模型。所以说,数据模型是现实世界的两级抽象的结果。 在数据处理中,数据加工经历了现实世界、信
3、息世界和计算机世界三个不同的世界,经历了两级抽象和转换。 为什么要建立数据模型(Data Model): 象盖大楼的设计图一样,DM可使所有的项目参与者都有一个共同的数据标准。 避免出现问题再解决(边干便改的方式)。 可及早发现问题。 加快应用开发速度。 数据模型主要表示实体类型之间联系的模型,具有描述数据本身和数据间联系的功能,是数据库系统的核心和基础,各种机器上实现的DBMS都是以某种数据模型为基础的。概念模型与数据模型 根据数据模型应用目的的不同,数据模型有以下几种: 1) 概念(数据)模型(Conceptual Data Model) 面向现实世界建模,按用户的观点对数据信息建模。 主
4、要用来描述现实世界的概念化结构,与具体的DBMS无关;主要特点体现如下: - 现实世界的事物经过人脑的抽象加工,经过组织整理加工形成现实世界和计算机世界之间的中间模型; - CDM只关心现实世界中的事物、事务特征、联系;- CDM是程序设计员、维护人员、用户之间相互理解的共同语言; - CDM能使数据库的设计人员在设计的初始阶段摆脱 计算机系统及DBMS的具体技术问题,集中精力分析 数据、数据之间的联系;- 概念模型必须转换成逻辑模型,才能在DBMS中实 现;- 最常用的概念模型是E-R模型 2) 逻辑(数据)模型(Logical Data Model) 主要面向计算机系统观点对数据建模; 用
5、户从数据库所看到的数据模型; - 是具体的DBMS所支持的数据模型(网状/层次 /关系/面向对象); - 既要面向用户,也要面向系统;3) 物理(数据)模型(Physical Data Model) 面向具体的DBMS,面向机器 描述数据在存储介质上的组织结构 - PDM不仅与具体的DBMS有关,还与操作系统 和硬件有关; - 每一种逻辑模型在实现时都有其对应的物理模型; - PDM加入了概念模型中为考虑的因素:触发器、 存储过程、主键、外键、索引等; - DBMS为保证其独立性和可以执行,大部分PDM 的实现工作由系统自动完成,而设计者只设计索 引、聚簇等特殊结构 。数据模型应满足的要求:
6、能够比较真实的模拟现实世界; 容易为人理解; 便于在计算机上实现;数据模型在数据库中的地位 在数据库中用数据模型来抽象、表示、处理现实世界中的数据和信息。通俗讲,数据模型即是现实世界的模拟。 首先介绍概念模型中常用的几个重要概念,利用它们可构造出现实世界的数据的抽象描述。 一、实体、实体型、实体集一、实体、实体型、实体集 实体(实体(Entity) 客观存在并能相互区分的事物或概念。 如:人;正是用的计算机;一部汽车; 数据库课程;借书; 关键之处:一个实体能和别的实体区分开。 实体型(实体型(Entity Type) 用实体名及属性名集合来抽象刻画同类实体。概念模型 实体集(Entity S
7、et) 同型的实体组成的集合。具有相同特征或能用同样特征描述的实体的集合。如学生,职工。 对象与实例 是实体集遵循其实体型抽象的结果,是实体集信息化的结果;实体通过属性表示称为实例。二、属性(二、属性(Attribute) 指实体所具有的某一方面的特性,一个实体可由若干个属性来刻划。 - 属性取值的一定范围,称为该属性的值域/域 - 唯一标识实体的最小属性集称为码(Key)。如(学号,课程号,成绩)三、联系(三、联系(Relationship) 实体集之间存在的相互关系 为了建立现实世界的完整模型,常常需要对联系 分 类,根据一个实体集合的实体可以和多少个另一类 实体集合的实体相联系,可将联系
8、分为如下几种:1)两个实体集之间的联系 (1) 一对一联系(1:1) 系系主任 (2) 一对多联系(1:n) 班级学生 (3) 多对多联系(m:n) 课程学生注:一对一联系是一对多的特例,而一对多是多对多联系的特例。2)多实体集之间的联系 如: 供应商、项目、零件实体集之间的联系。3)实体集内部的联系四、概念模型的表示方法-E-R图 E-R图(Entity-Relation Approach) 用于描述现实世界的概念模型,提供了表示实体集、属性、联系的方法。 一、基本概念 在计算机世界中,常用的主要概念如下:字段(Field):对应于属性的数据称为字段,也称为数据项。字段的命名往往和属性名相同
9、。记录(Record):对应于每个实体的数据称为记录,即实例的数据表示。文件(File):对应于实体集的数据称为文件,即同类记录的集合。如所有学生的记录组成了一个学生文件。逻辑数据模型逻辑数据模型二、 数据模型的组成 数据模型是模型的一种,是现实世界数据特征的抽象。数据模型通常由数据结构、数据操作和数据的约束条件三个要素组成。1). 数据结构 数据结构用于描述系统的静态特性。 数据结构是所研究的对象类型的集合,它是刻画一个数据模型性质最重要的方面。在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。 数据结构有层次结构、网状结构和关系结构三种类型,按照这三种结构命名的数据模型分别称为层
10、次模型、网状模型和关系模型。2). 数据操作 数据操作用于描述系统的动态特性。数据操作是对数据库中各种数据操作的集合,包括操作及相应的操作规则。 如数据的检索、插入、删除和修改等。 数据模型必须定义这些操作的确切含义、操作规则以及实现操作的语言。3). 数据的约束条件 数据的约束条件是一组完整性规则的集合。 完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。 例如,在学生数据库中,学生的年龄不得超过40
11、岁,出生月份不能超过1-12等。三种主要的逻辑数据模型 上节讨论的概念数据模型是“概念上”的,是抽象的,它与具体的数据库管理系统无关。这节要讨论的数据模型将与具体的DBMS有关,与DBMS支持的数据和联系的表示或存储有关。逻辑(数据)模型主要表示数据与数据之间联系的方法。数据模型分为层次模型、网状模型和关系模型。三种主要的逻辑数据模型 一、一、 层次模型(层次模型(Hierarchical Model) 用树型结构来表示实体之间联系的模型。支持层次模型的典型系统诞生于1970年前后,是IBM公司的IMS(Information Management System)系统。1) 层次模型的数据结构
12、 层次模型的基本特点: (1)有且仅有一个结点无父结点,称其为根结点。 (2)其他结点有且只一个父结点。n 层次模型示例如图层次模型有向树的示意图 ABCDEF层次模型的一个基本特点是: 任何一个给定的记录值只有按照路径查看时,才能显出它的全部意义,没有一个子女记录值能够摆脱双亲记录值而独立存在;而且层次数据模型只能直接表示一对多(包括一对一)联系。(举例)2) 层次模型中多对多联系的表示 冗余结点法(如:学生与课程之间的联系) 虚拟结点法 了解上述方法的优缺点。3)层次模型的数据操纵与完整性约束 数据操作主要有查询、插入、删除、修改。 完整性约束条件有三点:进行插入操作时,如果没有相应的双亲
13、结点值就不能插入子女结点值; 如:插班生,若未指明到哪个系就不能进行此操作。进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除;修改操作时,应修改所有相应的记录,以保证数据的一致性;层次模型的存储结构 层次模型数据的存储常常是和数据之间联系的存储结合在一起的。常用方法有两种: 1)邻接法 按照层次树前序穿越的顺序把所有记录值依次邻接存放,通过物理空间的位置相邻来体现层次顺序。2)链接法 用指引元反映数据之间的层次联系,每个记录设两个指引元,分别指向最左边子女和最近兄弟,也称为子女-兄弟链接法。3. 层次模型的优缺点优点主要有: 结构清晰,结点间联系简单,只要知道每个结点的双亲结
14、点,就可知道整个模型结构。现实世界中许多实体间的联系本来就呈现出一种很自然的层次关系, 如表示行政层次,家族关系很方便。 比较简单,只需很少几条命令就能操纵数据库,比较容易使用。 它提供了良好的数据完整性支持。层次模型的缺点有: 不能直接表示两个以上的实体型间复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。 对数据的插入和删除的操作限制太多。 查询子女结点必须通过双亲结点。网状模型 现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示这种关系很不直观,网状模型克服了这一弊病,可以清晰的表示这种非层次关系。 20世纪70年代,数据系统语言
15、研究会CODASYL(Conference On Data System Language)下属的数据库任务组DBTG(Data Base Task Group)提出了一个系统方案,DBTG系统,成为了网状模型的代表。 网状模型的特征有一个以上的结点没有双亲;至少有一个结点可以有多于一个双亲。 即允许两个或两个以上的结点没有双亲结点,允许某个结点有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。 网状模型中每个结点表示一个记录型(实体),每个记录型可包含若干个数据项(实体的属性),结点间的连线表示记录类型(实体)间的父子关系。网状模型的特征网状模型 如:学生和课程间的关系。一个
16、学生可以选修多门课程,一门课程可以由多个学生选修。 学生与课程的网状模型 特殊如父母与子女的关系,学生宿舍、系、学生和职工的关系。学号姓名班级课程号课程名 学分学号课程名成绩网状模型的数据操纵与完整性约束 网状模型的数据操纵主要包括查询、插入、删除和修改数据。网状模型没有像层次数据库那样有严格的完整性约束条件,只提供一定的完整性约束。 支持记录码的概念 保证一个联系中双亲记录和子女记录之间是一对多的联系。 可以支持双亲记录和子女之记录之间某些约束条件。 插入数据时,允许插入尚未确定双亲结点值的子女结点值,如可增加一些刚来报到,还未分配宿舍的学生。 删除数据时,允许只删除双亲结点值,保留子女信息
17、。如可删除一个教研室,而该教研室所有教师的信息仍保留在数据库中。网状模型的优点主要有:能更为直接地描述客观世界,可表示实体间的多种复杂联系。具有良好的性能和存储效率网状模型的缺点主要有:结构复杂,其DDL语言极其复杂。数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。 关系模型是发展较晚的一种模型,1970年美国IBM公司的研究员E.F.Codd首次提出了数据库系统的关系模型。 他发表了题为“大型共享数据银行数据的关系模型”在文中解释了关系模型,定义了某些关系代数运算,研究了数据的函数相关性,定义了关系的第三范式,从而开创了数据库的关系方法和数据
18、规范化理论的研究,为此获得了1981年的图灵奖。 1977年IBM公司研制的关系数据库的代表System R开始运行,其后又进行了不断的改进和扩充,出现了基于System R的数据库系统SQL/DB。 关系模型关系模型 20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都支持关系模型,非关系系统的产品也都加上了关系接口。 数据库领域当前的研究工作也都是以关系方法为基础。 关系数据库已成为目前应用最广泛的数据库系统,如现在广泛使用的小型数据库系统Foxpro,Access,大型数据库系统Oracle、Informix、Sybase、SQL Server等都是关系数据库系统。关系模型一.
19、关系模型的基本概念 关系模型的数据结构是一个“二维表框架”组成的集合,每个二维表又可称为关系,所以关系模型是“关系框架”的集合。 关系模型与层次模型、网状模型不同,它是建立在严格的数学概念之上的。 例如:教学数据库的关系模型及其实例,包含关系:教师关系T、学生关系S、课程关系C、选课关系SC和授课关系TC,分别对应五张表。关系模型S(学生表)SNO学号SN姓名SEX性别AGE年龄DEPT系别S1赵亦女17计算机S2钱尔男18信息S3孙珊女20信息S4李思男21自动化S5周武男19计算机S6吴丽女20自动化C(课程表)CNO课程号CN课程名CT课时C1程序设计60C2微机原理80C3数字逻辑60
20、C4数据结构80C5数据库60C6编译原理60C7操作系统60SC(选课表) TC SNO学号CNO课程号SCORE成绩S1C190S1C285S2C557S2C680S2C7 S2C570S3C10S3C270S3C485S4C193S4C285S4C383S5C289 TNO教师号CNO课程号T1C1T1C4T2C5T3C1T3C5T4C2T4C3T5C5T5C7 关系(Relation):一个关系对应一张二维表,如上图的表对应的关系。元组(Tuple):表格中的一行,如S表中的一个学生记录即为一个元组。属性(Attribute):表格中的一列,相当于记录中的一个字段,如S表中有五个属性(
21、学号,姓名,性别,年龄,系别)。关键字(Key):可唯一标识元组的最小属性集,也称为关系键或主码,如S表中学号可以唯一确定一个学生,为学生关系的主码。域(Domain):属性的取值范围,如年龄的域是(1440),性别的域是(男,女)。分量:每一行对应的列的属性值,即元组中的一个属性值,如学号、姓名、年龄等均是一个分量。关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,属性n),如:学生(学号,姓名,性别,年龄,系别)。在关系模型中,实体是用关系来表示的,如:学生(学号,姓名,性别,年龄,系别)课程(课程号,课程名,课时)实体间的关系也是用关系来表示的,如:学生和课程之间的关系选课关系
22、(学号,课程号,成绩)二. 关系模型的数据操纵与完整性约束 数据操纵主要包括查询、插入、删除和修改数据,这些操作必须满足关系的完整性约束条件,即实体完整性、参照完整性和用户定义的完整性。 在非关系模型中,操作对象是单个记录,而关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合; 用户只要指出“干什么”,而不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户的生产率。三、关系模型的优缺点关系模型的优点主要有:与非关系模型不同,它有较强的数学理论根据。数据结构简单、清晰,用户易懂易用,不仅用关系描述 实体,而且用关系描述实体间的联系。关系模型的存取路径对用户隐
23、藏,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。关系模型的缺点主要有: 由于存取路径对用户隐藏,查询效率往往不如非关系模型,因此,为了提高性能,必须对用户的查询表示进行优化,增加了开发数据库管理系统的负担。面向对象数据模型 面向对象的数据模型吸收了面向对象程序设计方法的核心概念和基本思想,用面向对象的观点来描述现实世界的实体。一、基本概念 面向对象的核心概念构成了面向对象数据模型的基础,其中主要包括对象和对象标识、属性和方法、封装和消息、类和继承。下面简要介绍这些概念:1)对象(Object)和对象标识(Object Identifier,简称OI
24、D)对象是面向对象编程中最重要的概念,用对象来表示现实世界中的实体。一个学生,一门课程,一次考试记录等等都可以看作对象。每个对象都包含一组属性和一组方法。属性用来描述对象的状态、组成和特性,是对象的静态特征。 一个简单对象如整数,其值本身就是其状态的完全描述,不再需要其它属性,这样的对象称为原子对象。 属性的值也可以是复杂对象。一个复杂对象包含若干个属性,而这些属性作为一种对象,又可能包含多个属性,这样就形成了对象的递归引用,从而组成各种复杂对象。 方法用以描述对象的行为特性。 一个方法实际是一段可对对象操作的程序。 方法可以改变对象的状态,所以称为对象的动态特征。如一台计算机,它不仅具有描述
25、其静态特征的属性:CPU型号、硬盘大小、内存大小等,还具有开机、关机、睡眠等动态特征。 由此可见,每个对象都是属性和方法的统一体。 与关系模型的实体概念相比,对象模型中的对象概念更为全面,因为关系模型主要描述对象的属性,而忽视了对象的方法,因此会产生“结构与行为相分离”的缺陷。 每一对象都由唯一的对象标识来识别,用于确定和检索这个对象。 对象标识独立于对象的内容和存储位置,是一种逻辑标识符,通常由系统产生,在整个系统范围内是唯一的。注:两个对象即使内部状态值和方法都相同,如标识符不同,仍认为是两个相等而不同的对象。(如同一型号的两个零件,在设计图上被用在不同的地方,这两个零件是“相等”的,但被视为不同的对象具有不同的标识符。) 在这一点上,面向对象的模型与关系模型不同,在关系模型中,如果两个元组的属性值完全相同,则被认为是同一元组。2)封装(Encapsulation)和消息(Message)每一个对象都是其属性和方法的封装。 用户只能见到对象封装界面上的信息,对象内部对用户是隐蔽的。 封装的目的是为了使对象的使用和实现分开,使用者不必知道行为实现的细节,只需用消息来访问对象,这种数据与操作统一的建模方法有利于程序的模块化,增强
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026团章考试题目模板及答案
- 宁夏2025年初级会计职称《初级会计实务》考试真题及答案
- 医学26年老年心血管疾病专利申请指导查房课件
- 数字素养教育对学生未来职业发展中的信息素养培养机制与优化研究教学研究课题报告
- 2026年便携式光学系统报告
- 2026年5G网络在智慧城市创新报告
- 广东省广州市花都区2020-2021学年七年级上学期期末历史试题(含答案)
- 2026年零售智能定价报告
- 人教版数学四年级下册期末测试试卷(各地真题)
- 2026年小学生德育教学目标设计
- 机器损坏险培训课件
- 诊所收费室管理制度
- 趣味数学比赛题
- CJ/T 192-2017内衬不锈钢复合钢管
- 2025年电工三级(高级工)理论100题及答案
- T/CSWSL 002-2018发酵饲料技术通则
- 基本公共卫生孕产妇健康管理培训课件
- 集成电路封装与测试 课件 封装 11.1切筋成型
- 2025年《家校共育共话成长》一年级下册家长会课件
- 第二单元第1课《观照自然》教学设计 2025人美版美术七年级下册
- 《高速铁路动车乘务实务(第3版)》 课件 项目二任务3复兴号智能动车组列车车内设备设施
评论
0/150
提交评论