《数据库原理与应用教程 第3版 教学课件 ppt 作者 何玉洁 第17章数据库技术的发展》由会员分享,可在线阅读,更多相关《数据库原理与应用教程 第3版 教学课件 ppt 作者 何玉洁 第17章数据库技术的发展(37页珍藏版)》请在金锄头文库上搜索。
1、数据库原理与应用教程(第3版),国家“十一五”规划教材,第17章 数据库技术的发展,17.1 数据库技术的发展历程 17.2 面向对象技术与数据库技术的结合 17.3 数据库技术面临的挑战 17.4 数据库技术的研究方向,17.1 数据库技术的发展历程,17.1.1 传统数据库技术的发展历程 层次数据库 网状数据库 关系数据库 17.1.2 新一代数据库管理系统,层次数据库,层次数据模型是数据库系统中最早出现的数据模型。 现实世界中的很多事物是按照层次关系组织起来的,比如一般单位的人事系统,学校组织结构.,层次数据库(续),一个数据库系统中有且仅有一个记录无双亲,称为根节点,其他记录有且仅有一
2、个双亲。 在层次模型中,从一个节点到其双亲的映射是唯一的,所以对于每个记录(根节点除外)来说,只需指出它的双亲,就可以表示出层次模型的树状整体结构。 比较著名的层次数据库系统当属IBM公司的IMS(Information Management System。,网状数据库,在现实世界中事物之间的关系更多的是非层次的,比如高速公路交通网。 如果去掉层次模型中的限制,即允许每个结点可以有多个父结点,便构成了网状模型。 网状模型用图形结构表示实体和实体之间的联系。 网状数据模型的典型代表是CODASYL系统,网状模型示意图,关系数据库,关系数据模型是以集合论中的关系概念为基础发展起来的。 在关系模型中
3、,无论是实体还是实体间的联系均由单一的结构类型关系来表示。 在实际的关系数据库中,关系也称为表,一个关系数据库由若干张表组成。,17.1.2 新一代数据库管理系统,随着数据库技术的发展,出现新的数据库应用领域,包括计算机辅助设计(CAD)、计算机辅助软件工程(CASE)、多媒体数据库、办公信息系统(OIS)、超文本数据库等。 关系模型已经不足以对这些新应用领域进行数据建模。 20世纪80年代以来发展起来的面向对象的建模方法能够满足这些新的应用领域的需求。 将面向对象技术与数据库技术结合起来是数据库技术发展的一个重要方向,这样的数据库管理系统称为第三代数据库系统,或新一代数据库。,17.2 面向
4、对象技术与数据库技术的结合,17.2.1 新的数据库应用和新的数据类型 17.2.2 面向对象数据模型 17.2.3 面向对象数据库的优点 17.2.4 对象关系数据库与对象数据库,尽管关系数据库具有完备的理论基础、简洁的数据模型、透明的查询语言和方便的操作方法等优点,但随着数据库系统的日益普及和人们要求的不断提高,关系数据库也暴露出了一些局限性。 关系模型过于简单,不利于表达复杂的数据结构; 关系模型支持的数据类型有限,无法包容更多的数据类型。 关系数据库已无法适应现代信息系统应用开发的要求。过去是数据库技术的发展带动了应用发展,今天则是应用反过来推动了数据库技术的进一步变革。,新的数据库应
5、用和新的数据类型,面向对象数据库除了支持关系数据库提供的数据类型外,还支持如下复杂的数据类型。 用户定义的抽象数据类型:可以存储声音、图像、视频等数据,甚至还包括这些数据的处理函数。 构造类型:利用构造器从原子数据类型构造出集合、数组、元组等新的数据类型。 继承:随着数据类型数量的增长,可以概括出不同数据类型之间的共同点。,新的数据库应用和新的数据类型(续),新的数据库应用和数据类型有的特征: 大数据项。新的数据库应用中的数据项可能会以兆计算,比如视频数据。 结构复杂。很多新的数据库应用的结构相当复杂,可能包括程序模块、图形、图像、文档、数字媒体流等。 操作特殊。针对特殊数据类型,可能存在许多
6、特殊的操作方式,如旋转、播放、排版等。,新的数据库应用和新的数据类型(续),关系数据库的局限性: 表达能力有限。关系数据库无法表达嵌套的信息结构。而在CAD等系统中,嵌套大量存在,如机器由很多部件构成,每个部件又由多个零件构成。 类型有限。关系数据库的类型是系统内置的,用户只能使用固定的几种。新的应用需要灵活的类型机制,数据库管理系统应该能够支持用户定义适合自己应用的数据类型。 结构与行为分离。关系数据库中存储的只是实体的数据,而实体的行为则由应用程序编码实现。,面向对象数据模型,面向对象数据库是数据库技术与面向对象程序设计技术相结合的产物, 面向对象的方法是面向对象数据库模型和对象数据库的基
7、础。 面向对象思想的核心概念包括如下内容: 对象与类 对象之间的交互 类的确定和划分 对象标识符,对象与类,一个对象类似于E-R模型中的一个实体,对象应当具有以下特征: 每一个对象必须能够通过某种方式区别于其他对象。 用特征或属性来描述对象。 有一组操作,每一个操作决定对象的一种行为。 具有相同数据特征和行为特征的所有对象称为一个对象类,简称为类。,示例,学生李勇是一个对象: 对象名:李勇 对象的属性: 学号:0611101 年龄:21 性别:男 专业:计算机 对象的操作: 选修课程 参加考试 学籍处理 参加活动,对象之间的交互,对象的属性和操作对外部是透明的,对象之间的通信是通过消息传递实现
8、的。 对象可以通过接收来自其他对象的消息而执行某些操作(方法),同时这个对象可以向多个对象发送消息。 消息的传递类似于传统程序设计语言的过程调用和参数传递。 发送消息的对象称为发送者或请求者,而把接收消息的对象称为接收者或响应者。,对象之间的交互(续),面向对象中的消息具有如下性质。 一个对象可以接收来自不同对象的相同形式的消息,从而做出相同的响应。 一个对象可以接收来自其他对象不同形式的多个消息,从而做出不同的响应。 相同形式的消息可以传递给不同的对象,从而得到不同的响应。 如果消息的发送不考虑具体的对象,则对象可以响应消息,也可以不响应消息。,类的确定和划分,具有相同特征的对象构成类,设计
9、类的一个基本原则就是把握事物的共性,将有相同属性、相同操作的对象确定为一个类。 例如,设计学籍管理系统,面临的对象或实体是学生、老师、课程等,这时很容易把它们都确定为各自的类。 但当学生包括本科生、硕士、博士时,应如何划分学生类?是设计一个学生类,还是设计一个本科生类和一个研究生类,或者设计一个本科生类、一个硕士类和一个博士类,这取决于设计人员对需求的理解以及实际的经验。,类的三个重要的特性,封装性 类包括了数据和操作,它们是被“封装”在类定义中的。 用户通过类的接口(即可以在该对象类上执行的操作的说明)进行操作。 对用户来讲“功能”是可见的,而实现部分封装在类定义中,用户是看不见的。 消息传
10、递是对象之间联系的唯一方式,这保证了对象之间的高度独立性,这种特性有利于保证软件的质量。,类的三个重要的特性(续),继承性 在面向对象系统中,允许使用一个已有的类来定义一个新类,或者用几个已有类来定义一个新类,又或者用一个已有类来定义多个新类。 新的类包含原来类的所有属性和方法,我们把这种特性称为继承性。,类的继承性,类的继承性基本含义,如果类B继承类A,则类B的对象具备类A的对象的全部功能。 如果类B继承类A,则类B对象的内部结构包含类A对象的内部结构。 如果类B继承类A,则类A中实现其对象功能的代码可以被类B引用。,父类和子类之间的特性,类之间有共享特征,子类可以共享父类中的数据和程序代码
11、。 类之间有数据差别或功能差别,在子类中可以定义新的属性和新的方法,也可以屏蔽父类中的部分属性和方法。,继承性两个主要优点,是一个强有力的建模工具,可以以自然的、符合人们思维规律的方式给现实世界一个简明准确的描述。 有助于软件可重用性的实现。,类的三个重要的特性(续),多态性 比如在个人电脑中播放影音文件,同样是播放命令,如果播放的文件是音频格式,则只播放音乐;如果是视频格式,则会播放出声音和影像。对同一个对象发送同一条指令,由于参数(播放文件的格式)的不同所以会产生两种不同的结果。 多态性的含义: 同一个函数根据不同的引用对象可以完成不同的功能。 同一个函数即便引用同一个对象,但由于传递的参
12、数不同也可以完成不同的功能。,对象标识符,在面向对象数据库中,对象由对象标识符唯一标识。 对象标识符是内置的,它不像在文件系统中用文件名标识一个文件,也不像在关系数据库中用关键字标识一个元组。 对象标识符在创建对象时由数据库管理系统自动生成,并在整个生命周期中唯一标识一个对象。,17.2.3 面向对象数据库的优点,面向对象数据库能够支持其他模型不能处理的复杂应用,增加了程序的可设计性和性能,提高了导航访问能力,简化了并发控制。 面向对象数据库还能存储大的数据结构。 由于对象含有对对象的直接引用,因此,使用这些直接引用可有效地装配复杂的数据集,从而在很大程度上改进了导航访问。,17.2.4 对象
13、关系数据库与对象数据库,对象数据库沿着两个方向发展:对象关系数据库系统和对象数据库系统。 对象关系数据库系统是对关系数据库的扩充,它以关系数据库为基础,扩展了对面向对象概念的支持,可以在关系型和面向对象方法之间架起一座桥梁。 对象数据库系统的目标是针对以复杂对象扮演核心角色的应用领域。也可以把它理解为是把数据库管理系统的功能加入到编程语言环境中。,17.3 数据库技术面临的挑战,信息爆炸可能产生大量垃圾 数据类型的多样化和一体化要求 当前的数据库技术还不能处理不确定或不精确的模糊信息 数据库安全 对数据库理解和知识获取的要求,17.4 数据库技术的研究方向,17.4.1 分布式数据库系统 17
14、.4.2 面向对象的数据库管理系统 17.4.3 多媒体数据库 17.4.4 数据库中的知识发现 17.4.5 专用数据库系统,17.4.1 分布式数据库系统,分布式数据库系统有两种: 一种是物理上分布的,但逻辑上却是集中的,这种分布式数据库只适宜于用途比较单一的、规模不大的单位或部门; 另一种是在物理上和逻辑上都是分布的,也就是所谓联邦式分布数据库系统。,17.4.2面向对象的数据库管理系统,现已出现了一些借鉴了面向对象程序设计思想和成果的数据库管理系统,这些可以看成是在数据库管理系统中革新数据模型的重要尝试和实践。 在数据模型方面,对象、封装、对象有识别符、类层次、子类、继承概念和功能已初
15、步形成; 在数据库管理方面,提出了持久性对象、长的事务处理、版本管理、方案进化、一致性维护和分散环境的适应性问题; 在数据库访问界面上,提出了消息扫描、持久性程序设计语言、计算完备性等概念。,17.4.3 多媒体数据库,多媒体数据库要解决三个难题。 第一是信息媒体的多样化,不仅仅是数值数据和字符数据,还包括图形、图像、语音、视频、动画、音乐数据等,形成超文本。 第二是要解决多媒体数据集成或表现集成,实现多媒体数据之间的交叉调用和融合。 第三是多媒体数据与人之间的实时交互性。,17.4.4 数据库中的知识发现,人工智能和数据库技术相结合是很重要的发展趋势,各种各样的智能数据库、演绎数据库和专家系
16、统,促进了数据库中的知识发现(KDD)研究。 从1989年开始,用数据库作为知识源,把逻辑学、统计学、机器学习、模糊学、数据分析、可视化计算等学科成果综合到一起,进行从数据库中发现知识的研究,使得数据库不仅仅能任意查询存放在数据库中的数据,而且上升到对数据库中数据的整体特征的认识,获得一些与数据库数据相吻合的中观或宏观的知识。,17.4.5 专用数据库系统,在地理、气象、科学、统计、工程等应用领域,需要适用于不同的环境,解决不同的问题,在这些领域应用的数据管理完全不同于商业事务管理,并且日益显示其重要性和迫切性。 工程数据库、科学与统计数据库等近年来得到了很大的发展,这是由于常规的商用数据库系统不能有效地支持这些应用,而常规数据库的研究出发点又不是专业数据库必须支持的。,