第2章 数据模型_第1页
第2章 数据模型_第2页
第2章 数据模型_第3页
第2章 数据模型_第4页
第2章 数据模型_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、第第2 2章章 数据模型数据模型数据的三个范畴数据的三个范畴1数据模型概述数据模型概述 2数据模型的组成要素数据模型的组成要素3概念模型概念模型4组织层数据模型组织层数据模型5小结小结62.1 2.1 数据的三个范畴数据的三个范畴v1)客观世界,指人们头脑之外的客观世界。在现实世界中有大量的客观事物存在,这些事物可以是具体的,也可以是抽象的。v2)概念世界,又称为信息世界,是现实世界在人们头脑中的抽象概念或反映。信息世界是现实世界通向计算机世界的桥梁。v3)数据世界,又称为计算机世界。为了让计算机处理信息,人们还需要将信息进一步抽象为计算机能够识别的数据。数据世界是信息世界中的信息的数据化。2

2、.1 2.1 数据的三个范畴数据的三个范畴图2-1 数据抽象过程2.2 2.2 数据模型概述数据模型概述 v模型是对现实世界中复杂对象的特征的模拟和抽象。数据模型是对现实世界的模拟。v数据模型一般应满足三个要求 要能比较真实地模拟现实世界; 要能够容易被人们理解; 要能够很方便地在计算机上实现。2.2 2.2 数据模型概述数据模型概述 v根据应用的不同层次,可以将数据模型分为两类 概念层数据模型 也称为概念模型或信息模型,它是从数据的应用语义角度来抽取模型,并按照用户的观点来对数据和信息进行建模。 组织层数据模型 也称为组织模型或数据模型。它从数据的组织方式来描述数据。 逻辑模型网状模型、层次

3、模型、关系模型等。 物理模型2.2 2.2 数据模型概述数据模型概述图2-2 现实世界抽象过程2.3 2.3 数据模型的组成要素数据模型的组成要素v数据结构 数据结构是所研究对象的数据类型的集合。 数据结构是对数据的组织方式及其类型(即静态特性)的描述,是描述一个数据模型性质的重要的方面。 v数据操作 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据结构不同,数据操作及其操作规则就有所不同。v完整性约束条件 数据的完整性约束是一组完整性规则的集合, 是给定的数据模型中的数据及其联系所满足的制约和依存规则。2.3 2.3 数据模型的组成要素数据

4、模型的组成要素v任何数据模型本身蕴含着该模型所必须满足的基本的、通用的完整性约束条件,保证数据库中的数据符合该数据模型的要求。v数据库系统必须提供完整性规则的定义机制,以满足某个应用所涉及到的数据的特定的语义和约束要求。2.4 2.4 概念模型概念模型信息世界涉及的概念主要有:v实体客观存在并可相互区别的事物称为实体。v实体型 具有相同特征的实体称为实体型。v实体集 同属于一个实体型的实体的集合称为实体集。v属性 属性是描述实体的特性或性质的数据。一个实体有若干个属性。实体属性的多少是由用户对信息的需求决定的。2.4 2.4 概念模型概念模型v 域域是一组具有相同数据类型的值的集合。v 码 能

5、够唯一标识一个实体的属性或属性集称为码。 如果码是由几个属性构成的,则其中不能有多余的属性。即必须是几个属性全部给出才能唯一标识一个实体。码是区别实体集中不同实体的关键属性,也称为关键字或键。v 联系 现实世界中,任何事物都不是孤立存在的,事物内部以及事物之间是有联系的。这些联系在信息世界中反映为实体内部(即实体的各个属性)的联系和实体之间的联系。2.4 2.4 概念模型概念模型v联系的类型 1:1联系 1:n联系 m:n联系2.4 2.4 概念模型概念模型v如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:

6、1。图2-3 实体1::1联系2.4 2.4 概念模型概念模型v如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n。图2-4 实体1:n联系2.4 2.4 概念模型概念模型v如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n。图2-5 实体m:n联系2.4 2.4 概念模型概念模型图2-6 三类联系示意图2.42.4概念模

7、型概念模型vE-R模型是P.P.Chen 在1976年提出来的,在E-R图中三个要素为:v实体 :用矩形表示,矩形框内写明实体的名称。v属性:用椭圆形表示,椭圆形内写明属性的名称,并用无向边将属性与相应的实体连接起来。 v联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(即1:1、1:n或m:n)。2.4 2.4 概念模型概念模型图2-7 学生实体2.4 2.4 概念模型概念模型图2-8 课程和学生联系示意图2.4 2.4 概念模型概念模型v概念模型建立步骤 根据需求,确定涉及的实体有哪些; 确定实体的属性; 确定实体之间的联系及联系的属性;

8、 根据分析,画出E-R图。2.4 2.4 概念模型概念模型v 统一建模语言 (Unified Modeling Language,UML) 是一种通用的设计语言,通过这种语言可以对任何具有静态结构和动态行为的系统进行建模。作为建模语言,它的定义包括UML语义和UML表示法两部分。UML语义指UML元素符号代表的含义,UML的所有元素在语法和语义上提供了简单、一致、通用的定义和说明,使开发者能在语义上取得一致。UML表示法对UML每个元素符号的表示方法进行了规范。v 在软件开发活动中,UML主要用于两个方面的建模:第一是,用UML语言对业务系统建模,便于分析师展现和理解业务;第二是,用UML对软

9、件系统建模,便于设计师修改和构造软件系统。v 目前主要的UML工具有Rational公司的Rose、Together Soft公司的Together和Microsoft 公司的Visio等。2.52.5组织层数据模型组织层数据模型 组织层数据模型从数据的组织方式的角度来描述信息,它是数据库系统设计中用于提供信息表示和操作手段的形式架构,是数据库系统实现的基础。 目前,在数据库技术的发展过程中用到的组织层数据模型主要有:层次模型、网状模型、关系模型和面向对象模型。其中层次模型和网状模型统称为格式化模型。2.52.5组织层数据模型组织层数据模型层次模型层次模型v层次模型 层次模型是数据库系统中最早

10、出现的数据模型。层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统。2.52.5组织层数据模型组织层数据模型层次模型层次模型v数据结构 层次模型用树形结构来表示各类实体以及实体间的联系。 图2-9 教学行政层次模型2.52.5组织层数据模型组织层数据模型层次模型层次模型v操纵及完整性约束 层次模型进行插入、删除和更新操作时要满足层次模型的完整性约束条件。例如,无相应的双亲结点值就不能插入子女结点值。 如果删除双亲结点值,则相应的子女结点值也被同时删除。更新操作时,应更新所有相应记录,以保证数据的一致性。2.52.5组织层数据

11、模型组织层数据模型层次模型层次模型v 层次模型的优点 层次数据模型简单清晰。 易于表示诸如“家族关系”、“行政结构”等现实世界层次结构的事物及联系。 对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型,其查询效率优于关系模型,不低于网状模型。v 层次模型的缺点 只能表达1:n联系,若要表达多对多的关系,需要引入冗余数据,从而易产生数据的不一致性,或者通过引入虚拟结点来创建非自然的数据组织来解决。 对数据的插入、删除和更新操作的限制较多。 查询子女结点必须通过双亲结点,缺乏快速定位机制。2.52.5组织层数据模型组织层数据模型网状模型网状模型 在现实世界中事物之间的联系更多的是非层次关

12、系,对于这种多对多的联系,采用网状模型更适合。采用网状模型的数据称为网状数据库系统,其典型代表DBTG系统,亦称CODASYL系统。 DBTG系统虽然不是实际的数据库系统软件,但是它提出的基本概念、方法和技术具有普遍意义,对网状数据库系统的研究和发展起了重大影响。2.52.5组织层数据模型组织层数据模型网状模型网状模型v数据结构 网状模型利用图形结构来表示各类实体及实体间的关系。 图2-10 网状模型示意图2.52.5组织层数据模型组织层数据模型网状模型网状模型v操纵及完整性约束 网状数据模型的操纵主要包括查询、插入、删除和更新数据。插入操作允许插入尚未确定双亲值的子女结点值;删除操作允许删除

13、双亲结点值,更新操作只需要更新指定记录。2.52.5组织层数据模型组织层数据模型网状模型网状模型v网状模型的优点 网状数据模型能够更为直接地描述现实世界,具有良好的性能,存取效率高。v网状模型的缺点 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。2.52.5组织层数据模型组织层数据模型关系模型关系模型v数据结构 关系模型由一组关系组成。每个关系的数据结构是一张规范化的二维表。 2.52.5组织层数据模型组织层数据模型关系模型关系模型v关系:一个关系对

14、应通常说的一张表。v元组:表中的一行即为一个元组。v属性: 表中的一列即为一个属性,给每一个属性起一个名称即属性名。即姓名、年龄等都是属性名。v主码:也称码键。表中的某个属性组,它可以唯一确定一个元组。v域:属性的取值范围。v分量:元组中的一个属性值。v关系模式:指对一个关系的结构描述,即关系模式中要指出元组集合的结构。 一般表示为:关系名(属性1,属性2,属性n)。2.52.5组织层数据模型组织层数据模型关系模型关系模型v关系数据模型的操纵与完整性约束 关系操作主要包括数据查询和数据的插入、删除和修改。关系模型中的数据操作是集合操作,操作对象和操作结果都是关系。另外,关系模型把存储路径向用户

15、隐蔽起来,用户只要指出“干什么”或“找什么” 。 关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义完整性。2.52.5组织层数据模型组织层数据模型关系模型关系模型v关系数据模型的优点 关系模型的基本理论分别为“关系运算理论”和“关系模式设计理论”,它们均建立在严格数学理论的基础之上,从而使得基于关系模型数据库技术的发展与深化具有广阔的天地与坚实的支撑。 关系模型的概念清晰单一,实体,实体间的联系以及数据查询的最终结果都用关系表示,数据结构简洁明晰,用户易懂易学。 关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性。 2.52.5组织层数据模型组织层数据模型

16、关系模型关系模型v关系数据模型的缺点 由于存取路径对用户透明,查询效率往往很低。为了提高性能,DBMS必须对用户的查询请求进行优化,因此增加了开发的难度。 2.52.5组织层数据模型组织层数据模型关系模型关系模型2.52.5组织层数据模型组织层数据模型面向对象模型面向对象模型v关系数据库呈现的局限性: 支持的数据类型有限,可扩充性差,对一些复杂的数据类型和嵌套数据无法进行存储、描述、操纵和检索。 应用不够灵活,只能提供几种固定的数据类型,很难增加新的数据库类型以满足高级数据库技术的需要。 约束、触发、事件、并发机制等相对简单,难以保证复杂应用建模和数据的一致性。 对象之间的关系简单,不能实现实

17、体间的聚合、继承等复杂的联系。2.52.5组织层数据模型组织层数据模型面向对象模型面向对象模型v基本概念对象 所有现实世界中的实体都称为对象。 方法 方法又称为操作,用以描述对象的行为特性。它可以改变对象的状态,对对象进行各种数据库操作。消息 消息是用来请求对象执行某一处理或回答某些信息的要求,消息传递是对象之间联系的唯一方式。类 将类似的对象归并为类。在一个类中的每个对象称为实例。同一个类的对象具有共同的属性和方法。2.52.5组织层数据模型组织层数据模型面向对象模型面向对象模型v面向对象方法的特性 抽象性,将对象抽象成对象类,实现抽象的数据类型,允许用户定义数据类型。 封装性,将方法和数据

18、放于某一对象中,以使数据的操作只可通过对象本身来进行,使对象的实现和使用分开。 多态性,指同一消息可以被不同的对象接收,可以解释为不同的含义,相同的操作可以作用于多种类型的对象,并能获得不同的结果。 2.52.5组织层数据模型组织层数据模型面向对象模型面向对象模型v面向对象数据模型的核心技术 分类:把一组具有相同属性结构和操作方法的对象归纳成一个公共类的过程,一个对象是每一类的实例。 概括:把几个类中具有部分公共特征的属性和操作方法抽象出来,形成一个更高层次、更具一般性的超类的过程。 聚集:将几个不同的类对象组合成一个更高级的复合对象的过程。 联合:将同一个对象中的几个具有相同部分属性值的对象组合起来,形成一个更高水平对象的过程。有联合关系的对象称为“成员”,由联合而构成的更高水平的对象称为“集合对象” 。2.52.5组织层数据模型组织层数据模型面向对象模型面

温馨提示

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

评论

0/150

提交评论