第1章数据库系统概述_第1页
第1章数据库系统概述_第2页
第1章数据库系统概述_第3页
第1章数据库系统概述_第4页
第1章数据库系统概述_第5页
免费预览已结束,剩余84页可下载查看

下载本文档

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

文档简介

2023/2/141第1章数据库系统概述本章内容数据库系统的基本概念1.2

数据库系统的特点1.3数据库系统的体系结构1.51.11.1

数据库技术的产生与发展1.1

数据库管理系统1.61.4数据模型

常用数据库管理系统简介1.71.8本章小结

本章主要介绍与数据库技术有关的基本概念与术语。通过本章的学习,主要掌握数据库、数据库管理系统、数据库系统、数据模型及其三要素等知识,了解数据库管理技术的产生与发展、常用的数据库管理系统以及数据库技术的新发展,重点掌握概念模型、数据库系统的三级模式和二级映像功能,为后面的学习打下基础。2023/2/14

数据库系统的目标是高效地管理和共享大量的信息,而信息和数据是分不开的。1.数据

数据是数据库中存储的基本对象。早期的计算机系统主要用于科学计算,数据在人们头脑中的第一个反应是数字,其实数字只是数据最简单的一种形式,在现代计算机系统中数据的种类非常丰富,比如文本、图像、声音、视频等。

数据的定义是用来记录信息的可识别的符号组合,是信息的具体表现形式,例如:一个学生的信息可以用一组数据:“20160509244,张三,男,18,软件工程”来表示。数据必须和语义相结合。上面这组数据根据其赋予的语义,表示的信息是一个姓名为张三的学生,学号为20160509244,性别为男,年龄18岁,专业为软件工程。

数据库技术的产生与发展1.11.1.1数据和数据管理技术

数据的表现形式是多样的,可以用多种不同的数据形式表示同一个信息。例如:“2016年股市将上涨60%”、“二零一六年股市将上涨60%”、“2016年股市将上涨百分之六十”,这三种不同的数据表现形式所表达的信息是同一个,并无不同。

信息是客观世界中各种事物的特征或运动状态在人脑中的反映,它体现出了人们对事物的认识和理解程度。信息与数据是分不开的,它们既有联系,又有区别。数据是信息的符号表示(或称为载体),信息则是数据的内涵,是对数据语义的解释。数据库领域中,通常处理的是有结构的数据,称之为结构化数据。正因为如此,通常对数据、信息不作严格区分。

数据库技术的产生与发展1.1

数据管理是指数据的收集、整理、组织、存储、检索和维护等操作处理过程,它是数据处理的核心任务。

数据处理(也称信息处理)是指从某些已知的数据出发,推导整理出一些新的数据,使其表示出一些新的信息的过程。它涉及数据的收集、管理、加工直至产生新信息的全过程。例如图1-1(a),通过数据处理,产生如图1-1(b)的汇总信息量,从中可以看到,男生人数为四人,女生人数为二人。2.数据管理技术

数据库技术的产生与发展1.1

图1-1数据处理过程

计算机数据处理的速度和规模是人工方式或机械方式无可比拟的,随着数据处理量的增长,数据管理技术应运而生。随着计算机硬件、软件及计算机应用的发展,数据管理经历了人工管理、文件系统和数据库系统3个发展阶段。

数据库技术的产生与发展1.11.1.2数据管理技术的发展人工管理阶段文件系统管理阶段数据库系统管理阶段

数据不保存,应用程序管理数据,数据不共享,冗余度大,数据与程序不具有独立性数据以文件形式长期保存,由文件系统管理数据,程序与数据间有一定独立性数据结构化,共享性高、冗余度低,独立性高,有统一的数据控制功能DBMS数据的安全性控制数据的完整性控制并发控制数据恢复2023/2/141.人工管理阶段简介:不保存数据应用程序管理数据数据不共享,冗余度大程序与数据不具有独立性

20世纪50年代中期以前,计算机主要用于科学计算,数据管理处于人工管理阶段,数据处理的方式是批处理。当时计算机硬件存储设备主要有磁带、卡片、纸带等,还没有磁盘等直接存取的存储设备;软件也处于初级阶段,没有操作系统和管理数据的专门软件。数据的组织和管理完全靠程序员手工完成,因此也称为手工管理阶段,该阶段数据的管理效率很低,主要特点如下:(1)不保存数据。计算机主要用于科学计算,不要求将数据长期保存,只是在每次计算时,将数据和程序输入计算机内存中,然后进行计算,最后将计算结果输出。(2)应用程序管理数据。数据需要由应用程序管理,每个应用程序不仅要考虑数据的逻辑结构,还要考虑设计其物理结构,包括数据的存储结构、存取方法和输入方式等,使得程序员的工作量很大。(3)数据不共享,冗余度大。每个程序都有自己的一组数据,程序与数据融为一体,相互依赖。当多个应用程序涉及某些相同的数据时,就势必造成数据重复存储的现象,这种现象称为数据冗余。因此,程序之间有大量的冗余数据。(4)程序与数据不具有独立性。程序依赖于数据,如果数据的类型、格式或输入/输出方式等逻辑结构或物理结构发生变化,必须对应用程序做相应的修改,因而,数据与程序不具有独立性,这也进一步增加了程序员的工作量。2023/2/142023/2/1411人工管理阶段,应用程序与数据对应关系示意图

图1-2人工管理阶段应用程序与数据间的关系2.文件系统阶段简介:特点:数据可以长期保存由文件系统管理数据程序与数据之间有了一定的独立性数据共享性差、冗余度大数据独立性差

20世纪50年代后期到20世纪60年代中期,数据管理进入文件系统阶段,数据处理方式上不仅有批处理,而且能够联机实时处理。计算机得到了广泛应用,这时的计算机不仅用于科学计算,还用于信息管理。在硬件方面,已经有了磁盘、磁鼓等直接存取的存储设备;在软件方面,有了操作系统和专门用于管理数据的应用软件(即文件系统)。

(1)数据可以长期保存。数据需要长期保留在外存上,以供查询、修改、插入和删除等操作。(2)文件系统管理数据。文件系统把数据组织成内部有一定结构的记录,并以文件的形式存储在存储设备上,这样,程序只与存储设备上的文件交互,不必关心数据的物理存储(存储位置、结构等),而由文件系统提供的存取方法实现数据的存取,从而实现按文件名访问,按记录进行存取的管理技术。(3)程序与数据之间有了一定的独立性。由于程序通过文件系统对数据文件中的数据进行读取和处理,使得程序和数据之间具有设备独立性,即当改变存储设备时,不必改变应用程序。程序员不需要考虑数据的物理存储,而将精力集中于算法程序设计上,大大减少了维护程序的工作量。2023/2/14(4)数据共享性差,冗余度大。在文件系统中,一个文件基本上对应一个应用程序,即文件仍然是面向应用的。当不同的应用程序具有部分相同的数据时,就会造成同一个数据重复存储,而必须建立各自的文件,不能共享相同的数据,因此数据冗余度大,浪费存储空间。同时,相同数据的重复存储、各自管理,可能造成数据的不一致性,给数据维护带来困难。(5)数据独立性差。文件系统中的文件是为某个特定应用服务的,文件的逻辑结构对该应用程序是最优的,因此,想为现有的数据增加一些新的应用是很困难的,系统扩充性较差。一旦数据的逻辑结构发生变化,就必须修改应用程序和文件结构的定义;而如果应用程序发生变化,如改用另一种程序设计语言来编写程序,也将引起文件数据结构的改变。2023/2/142023/2/1415文件系统管理阶段,应用程序与数据对应关系示意图:

图1-3文件系统管理阶段应用程序和数据间的关系3.数据库系统管理阶段简介:

20世纪60年代后期以来,计算机用于管理数据的规模更为庞大,应用越来越广泛,数据量也急剧增长,同时多种应用、多种语言互相覆盖地共享数据集合的要求越来越强烈。在计算机硬件方面,出现了大容量、存取快速的磁盘。同时软件价格上升,硬件价格下降,编制和维护系统软件及应用程序所需的成本相对增加;其中维护的成本更高,在处理方式上,联机实时和分布式处理的应用更多。在这种背景下,以文件系统作为数据管理手段已经不能满足应用的需求,为满足多用户、多个应用程序共享数据的需求,使数据为尽可能多的应用服务,数据库技术应运而生,出现了统一管理数据的专门软件系统,即数据库管理系统(DataBaseManagementSystem,DBMS)。2023/2/1417图1-4数据库系统管理阶段程序和数据间的关系

数据库管理系统是数据管理技术发展的一个重大变革,它将过去在文件系统中的以程序设计为核心、数据服从程序设计的数据管理模式改变为以数据库设计为核心、应用程序设计退居次位的数据管理模式,如图1-4。2023/2/1418数据管理技术3个阶段的比较(表1-1)数据库发展过程中标志着数据库技术已发展到成熟阶段3个重要事件(1)1968年,美国IBM公司研制、开发出世界上第一个商品化的数据库管理系统IMS(InformationManagementSystem),它是一个典型的层次数据库系统。(2)1969年,美国数据系统语言协会CODASYL(ConferenceonDataSystemLanguage)下属的数据库任务组DBTG(DataBaseTaskGroup)发表了一系列研究数据库方法的DBTG报告,提出了网状数据模型。(3)1970年,美国IBM公司SanJose研究实验室的研究员E.F.Codd发表了题为《大型共享数据库的数据关系模型》的论文,文中提出了数据库的关系模型,定义了关系数据库的基本概念,引进了规范化理论,奠定了关系数据库的坚实理论基础,并一直沿用至今。2023/2/14第一代数据库系统第二代数据库系统20世纪70年代,以层次型数据库和网状型数据库为代表的第一代数据库系统得到广泛应用。它们基本实现了数据管理中的“集中控制与数据共享”这一目标。该阶段的代表系统和特征可参见本章相关内容。

20世纪80年代出现了以关系型数据库为代表的第二代数据库系统。由于关系数据库具有坚实的理论基础、结构简单、操作方便,且在查询效率和数据库性能等方面取得了突破性的进展,因此在这一时期关系数据库得到了迅猛发展。关系数据库已逐渐成为数据库发展的主流,一批性能不断改善、版本不断更新的商品化关系数据库软件相继投入使用,如Oracle、Sybase、Informix、Ingres等关系数据库系统已广泛用于大型信息管理系统。关系数据库系统得到了以下方面的发展:1.1.3数据库系统的三个发展阶段2023/2/14

(1)关系数据库系统的发展促进了数据库系统的小型化。20世纪80年代推出了一批适于微机环境下运行的关系数据库系统,美国Ashton-Tate先后在1981年推出微机版关系数据库软件dBASEII,1984年升级到dBASEⅢ,1986年又推出dBASEⅢPlus。1987年美国FOXSOFTWARE公司推出了FoxBase+(V2.0),之后又推出Foxpro等软件。Oracle公司在1986年也研制出ProfessionalOracle微机版数据库软件。(2)随着数据库技术的发展和计算机网络的广泛应用,分布式数据库系统在20世纪80年代得到了很大的发展。如1986年Oracle公司和Ingres公司先后推出SQL*Star和Ingres/Star的开放型分布式关系数据库系统。(3)随着计算机的广泛应用,特别是一些新的应用领域不断提出新的应用要求(如图形图像处理、GIS空间数据管理、XML数据管理),关系型数据库、层次型数据库、网状型数据库等传统数据库都表现出不同程度的局限性。因此,人们在20世纪80年代后期又提出了研制新一代数据库的设想。2023/2/14第三代数据库系统

20世纪80年代末90年代初,新一代数据库技术的研究和开发已成为数据库领域学术界和工业界的研究热点。例如,人们要求对图形、图像、声音等多媒体数据、时态数据、空间数据、知识信息以及各种复杂对象等非常规数据进行有效处理,为了适应应用需求,人们提出了许多新概念、新思想和新方法以及一些新的数据模型和新数据库管理系统的体系结构,如多媒体数据库、时态数据库、空间数据库、面向对象数据库、分布式数据库、并行数据库系统、数据仓库、移动数据库、XML数据管理技术等。2023/2/142023/2/14231.2.1数据库

严格地讲,数据库是指在计算机的存储设备上合理存放的,相关联、有结构的数据集合。该定义具有如下含义:结构化集中存储数据共享…...(1)数据库首先是在计算机的存储设备上存放的,是属于计算机领域的一个术语。(2)数据库是一个数据集合。(3)数据集合是有结构的,这一点也是和文件系统相比最大的特点之一。(4)数据集合是相关联的。(5)数据集合是合理存放的。

数据库系统的基本概念1.2数据库(DataBase,DB)直接从字面意思理解,就是存储数据的仓库,只不过这个仓库存在于计算机的存储设备上。2023/2/1424

因此,数据库中的数据按一定的数据模型组织和存储,可共享并具有较小的冗余度,数据之间相互联系而又有较高的独立性。例如,图书馆可能同时有描述图书的数据(图书编号、书名、单价、作者、出版社、出版日期)和图书借阅数据(读者编号、图书编号、单价、借阅时间、借阅天数)。在这两个数据中,图书编号是重复的,称为冗余数据。在构造数据库时,由于数据可以共享,因此,可以消除数据的冗余,只存储一套数据即可。2023/2/1425

数据库管理系统(DatabaseManagementSystem,DBMS)是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据定义、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型数据模型、网状型数据模型、关系型数据模型和面向对象数据模型等。1.2.2数据库管理系统DBSDBMS数据定义查询更新各种控制核心2023/2/1426

数据库系统包括与数据库有关的整个系统,一般由数据库、数据库管理系统、应用程序、数据库的软硬件支撑环境、数据库管理员(DBA)和用户等构成。数据库系统是为用户服务的。通常,一个数据库系统有两类用户:程序员和终端用户。程序员用高级语言和数据库语言编写数据库应用程序,应用程序根据需要向DBMS发出数据请求,由DBMS对数据库执行相应的操作。终端用户从终端或客户机上,以交互的方式向系统提出各种操作请求,由DBMS相应执行,访问数据库中的数据。一般在不引起混淆的情况下,人们常常把数据库系统简称为数据库。

1.2.3数据库系统数据库系统在整个计算机系统中的地位如图1-5。2023/2/14

图1-5数据库系统的地位数据结构化数据冗余度小、共享性高,避免了数据的不一致性数据结构化是文件系统与数据库系统的根本区别之一。数据库系统中的数据采用一定的数据模型来组织、描述和存储,数据模型不仅描述数据本身的特征,还能够描述现实世界中各种数据组织和数据间的联系。

数据库中的数据是面向所有用户的数据需求组织的,可以共享。因此,不同用户、不同应用可同时存取数据库中的数据,每个用户或应用只使用数据库中的一部分数据,同一数据可供多个用户共享,从而减少了不必要的数据冗余,节省了存储空间,而且也避免了数据之间的不一致性,即避免了同一数据在数据库中的重复储存。在此需说明一点,从理论上讲,数据库中的数据应该是冗余度越小越好。然而,在实际运行的数据库系统中,为了提高查询效率,在某种程度上仍然保留一些重复数据,称为可控冗余度,由系统负责对冗余数据的检查、维护工作。

2023/2/14

数据库系统的特点1.3数据独立性高

数据独立性是指数据库中的数据与应用程序之间相互独立、互不依赖,这在很大程度上减少了应用程序设计与维护的工作量。在数据库系统中,数据独立性一般分为数据的逻辑独立性和物理独立性。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,数据库的逻辑结构发生变化时,用户的程序不需要改变。如在学生数据库表中,原有学号、姓名、课程号、成绩字段,在学生选课后,需要增加“课程名”字段,虽然数据库表的逻辑结构由(学号,姓名,课程号,成绩)变为(学号,姓名,课程号,课程名,成绩),但在学生选课基本情况的查询中,不需要改变应用程序,整个系统仍然可以正常运行。物理独立性是指用户的应用程序与数据库的存储结构是相互独立的。改变数据库的存储结构时,不影响逻辑结构,只要不改变逻辑结构,就不影响应用程序。如若某个数据库管理系统升级或进行了数据库迁移,管理系统一般会将以前的存储结构用新的存储方式进行存储,但逻辑结构是不变的,所以也不需要改变应用程序。2023/2/14统一数据管理和控制功能

在数据库的数据管理方式下,应用程序不能直接存取数据,必须通过数据库管理系统这个中间接口才能访问数据,因此,数据库中的数据是由数据库管理系统统一管理和控制的。数据库管理系统必须提供以下4个方面的数据控制功能:(1)数据的安全性(Security)保护。(2)数据的完整性(Integrity)控制。(3)并发控制(ConcurrencyControl)。(4)数据库恢复(Recovery)。2023/2/14数据的安全性(Security)保护数据的完整性(Integrity)控制

数据的完整性是指数据的正确性、有效性和相容性。◆正确性:指数据的合法性。如学生表中的年龄属性是数值型,只能含0、1、2、…、9,不能含字母或特殊符号。◆有效性:指数据是否在定义的有效范围。如月份只能用1~12的正整数表示。◆相容性:指表示同一事实的两个数据应相同,不一致就是不相容。如一个人不能有两个性别。数据的安全性保护是指保护数据以防止不合法的使用造成的数据泄密和破坏,每个用户只能按规定对某些数据以某些方式进行访问和处理。例如,数据库系统通常采取用户标识与鉴别实现安全保护,即每次用户要求进入系统时,由系统进行核对,合法者才具有使用权。2023/2/14并发控制(ConcurrencyControl)

数据库恢复(Recovery)

并发控制是指多个用户同时存取或修改数据库时,避免因发生相互干扰而提供给用户不正确的数据,防止数据库受到破坏的各种技术。如多个用户可以同时读数据,但同一时间只能允许一个用户写数据。

数据库恢复是指将数据库从错误状态恢复到某一正确状态的功能。如计算机系统的硬件故障、软件故障、操作员的失误等均会影响数据库中数据的正确性,甚至造成数据库中部分或全部数据丢失。2023/2/142023/2/1433

模型是对现实世界中某个对象特征的模拟和抽象。如飞机模型抽象了飞机的基本特征——机头、机身、机翼和机尾,可以模拟飞机的飞行过程,而数据模型(DataModel)是模型的一种,它是对现实世界中数据特征的抽象,是数据库系统的核心和基础,应满足3方面的要求:一是能比较真实地模拟现实世界;二是容易理解;三是便于在计算机上实现。目前,一种数据模型要很好地满足这3方面的要求尚很困难。数据模型1.42023/2/14341.4.1数据模型的类型

数据模型是数据库系统的基础,各种计算机上实现的DBMS软件都是基于某种数据模型的。为了把现实世界的具体事物抽象、组织为某一DBMS支持的数据模型,通常先把现实世界中的客观对象抽象为概念模型,然后把概念模型转换为某一DBMS支持的数据模型,如图1-6。

图16现实世界到计算机世界的数据建模过程

从图1-6可以看出,数据处理中,数据加工经历了现实世界、信息世界和计算机世界3个不同世界的两级抽象和转换。数据模型1.42023/2/14在数据库系统中,针对不同的使用对象和应用目的,可将数据模型分为两类:概念数据模型和逻辑数据模型。1.概念数据模型概念数据模型(也称概念模型),按照用户的观点对数据建模,强调其语义表达能力。概念模型简单、清晰、易于用户理解,是用户和数据库设计人员之间进行交流的语言和工具,它是一种独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,只是用来描述某个特定组织所关心的信息结构,是对现实世界的第一层抽象,是存在于人们的头脑中的信息模型。例如E-R模型、扩充E-R模型均属于这类模型。2.逻辑数据模型逻辑数据模型也称(逻辑模型),按计算机系统的观点对数据建模,有严格的形式化定义,主要用于DBMS实现,是对现实世界的第二级抽象。从概念模型到逻辑模型的转换可以由数据库设计人员完成,也可以用设计工具协助设计人员完成。逻辑模型主要包括层次模型(HierarchicalModel)、网状模型(NetworkModel)、关系模型(RelationalModel)和面向对象模型(Object-orientedModel)等。

2023/2/141.4.2数据模型的基本组成数据模型通常由数据结构、数据操作和数据完整性约束3部分组成。(1)数据结构数据结构描述数据库的组成对象及对象之间的联系,是系统静态特性的描述。它是数据模型最基本的组成部分,在数据库系统中,通常按照数据结构的类型来命名数据模型。例如采用层次型数据结构、网状型数据结构和关系型数据结构的数据模型分别称为层次模型、网状模型和关系模型。(2)数据操作数据操作是对数据库中数据对象执行的操作的集合,描述了数据的动态特征。这些操作主要包括两大类:查询和更新。数据模型要给出这些操作的确切含义、操作规则和实现操作的语言定义。例如在关系模型中,数据操作提供了一组完备的关系运算(分为关系代数和关系演算两大类),以支持对数据库的各种操作。(3)数据完整性约束数据的完整性约束条件是一组完整性规则的集合,它定义了给定数据模型中数据及其联系所具有的制约和依存规则,用来限定符合数据模型的数据库状态及状态的变化,以保证数据库中数据的完整性。在关系模型中,完整性约束分为实体完整性约束、参照完整性约束和用户自定义完整性约束。数据结构数据操作数据的完整性约束层次结构网状结构关系结构查询插入删除修改更新正确有效相容2023/2/142023/2/14381.4.3概念数据模型

概念数据模型是从现实世界到计算机世界的一个中间层次,是数据库设计人员进行数据库设计的重要工具。长期以后,在数据库设计中广泛使用的概念模型当属E-R数据模型。

1.基本概念E-R数据模型(Entity—RelationshipDataModel),即实体-联系数据模型,是PeterPin-shanchen于1976年提出的一种语义数据模型。E-R数据模型不同于传统数据模型,它不是面向实现,而是面向现实世界。设计E-R数据模型的目标是有效、自然地模拟现实世界,而不是它在机器中如何实现,因此E-R数据模型只包含那些对描述现实世界有普遍意义的抽象概念。下面介绍E-R数据模型的三个抽象概念。(1)实体(Entity)实体是现实世界中客观存在并可相互区别的“事件”或“物体”的抽象。实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如,学校中的每个人是个实体,一个部门、一门课、学生的一次选课等都是实体。2023/2/1439在数据库设计中,人们常常关心的是具有相同性质的实体的集合。这种具有相同性质的一类实体的集合称为实体集(EntitySet)。例如,全体学生、全部课程、所有选课等都表示一个实体集。实体集可以相交。例如,假设某些教师在本校在职学习,那么他们既有教师身份,也具有学生身份,他们代表学生实体集和教师实体集相交的交集。(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如,学生实体由学号、姓名、性别、年龄、所在院系等属性;课程实体由课程号、课程名、学时等属性。属性有“型”和“值”之分,属性名是属性的型,例如,学号、姓名、性别、年龄、所在院系等;而属性的具体内容是属性的值,例如,2010099001、王帅、男、21、信电学院等分别是学号、姓名、性别、年龄、所在院系的值,这些属性组合起来代表了一个学生。1.4.3概念数据模型2023/2/14401)一个实体可以有若干个属性,但在数据库设计中通常只选择部分数据管理需要的属性。2)属性往往是不可再细分的原子属性,如姓名、性别等。3)属性有型和值的区别。例如,学生实体中的学号、姓名等属性名是属性型,而“091231142”、“李定”等具体数据称为属性值。4)实体属性的取值一般受某个条件的约束,如果取值不满足约束条件,则认为是一种非法的值,这个约束条件确定的取值范围称为该属性的域(Domain)。例如,学生性别属性域是{“男”、“女”},学生成绩属性域是{0,1,2,...,100}。5)能唯一标识一个实体的属性或属性集称为实体的码。例如,学生学号是学生实体的码,学号和课程号是选课关系的码。(3)联系(Relationship)在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体型内部的联系和实体型之间的联系。实体型内部的联系通常是指组成实体的各属性之间的联系,如课程号、课程名之间的联系;实体型之间的联系通常是指不同实体集之间的联系,如学生和课程之间的联系。1.4.3概念数据模型2023/2/1441实体型之间的联系通常可分为如下3种。①一对一联系(1∶1)如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1∶1,如图1-7。例如,学校里面,一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联系。②一对多联系(1∶n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,而对于实体集B中的每一个实体,实体集A中至多有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1∶n,如图1-8。例如,一个班级中有若干名学生,而每个学生只属于一个班级,则班级与学生之间具有一对多联系。③多对多联系(m∶n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系;反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m∶n,如图1-9。1.4.3概念数据模型2023/2/1442实体型之间的联系

实体型之间的联系通常可分为如下3种:①一对一联系(1∶1)②一对多联系(1∶n)③多对多联系(m∶n)图9两个实体集之间的m:n联系

图1-7两个实体集之间的1∶1联系图1-8两个实体集之间的1:n联系2023/2/14432.E-R图

E-R数据模型提供了表示实体、属性和联系的方法。这三个概念简单明了,直观易懂,用来模拟现实世界比较自然。用E-R数据模型对一个系统的模拟,称为E-R数据模型。E-R数据模型可以很方便地转换成相应的关系、层次和网状数据模式。E-R数据模型可以用非常直观的E-R图(E-Rdiagram)表示,E-R图中包括如下几个主要符号,如图1-10。

实体型:用矩形表示,矩形框内写明实体名。

属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。

联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边上标明联系的类型(1∶1、1∶n、m∶n)。

图1-10E-R图中使用的各种符号2023/2/1444例如,学生实体具有学号、姓名、性别、出生年份、入学时间、所在院系等属性,用E-R图表示如图1-11。需要注意的是,如果一个联系具有属性,则其属性也要用无向边与该联系连接起来。例如,学生与课程之间存在选课的m∶n联系,成绩是选课的属性,用E-R图表示如图1-12。图1-12学生与课程之间的m∶n联系图1-11学生实体及其属性2023/2/14数据库领域最常用的数据模型主要有3种图1-13高校中专业的组织机构层次关系1.4.4逻辑数据模型1.层次模型数据结构无双亲,根节点根以外的其他结点有且仅有一个双亲结点;父子结点之间的联系是一对多(1:n)的联系。2023/2/14

层次数据模型的数据结构是树状结构,它需满足如下条件:①有且只有一个结点没有双亲结点(称为根结点)。②根以外的其他结点有且只有一个双亲结点。

层次模型的特点是记录之间的联系通过指针来实现,常用的实现方法有邻接法和链接法。邻接法是用连续的物理顺序表示记录之间联系的方法,在该方法中,由根记录开始存放,按照自顶向下、自左至右的顺序存储记录;链接法是一种采用指针实现记录间联系的方法,它用指针按层次顺序把各记录链接起来,而各记录存储时不一定按层次顺序。在层次模型中,树形结构的每个结点是一个记录类型,每个记录类型可包含若干个字段。记录之间的联系用结点之间的连线(有向边)表示。上层结点称为父结点或双亲结点,下层结点称为子结点或子女结点,同一双亲的子女结点称为兄弟结点,没有子女的结点称为叶结点,父子之间的联系是1∶n联系。例如,图1-15所示的专业教学层次模型示例共有5个记录型,其中,专业为根结点,教研室和班级是兄弟结点(是专业的子女结点),教师和学生为叶结点,而每个记录型又由不同的字段构成。专业到教研室、专业到班级、教研室到教师、班级到学生都是1∶n的联系。数据操作及完整性约束2023/2/14

层次模型支持的数据操作主要有查询、插入、删除和更新,其中执行插入、删除、更新操作时要满足层次模型的完整性约束条件,包括以下几个方面。①执行插入操作时,不能插入无双亲的子结点。如新来的教师未分配教研室则无法插入到数据库中。②执行删除操作时,如果删除双亲结点,则其子女结点也会被一起删除。如删除某个教研室,则它的所有教师也会被删除。③执行更新操作时,应更新所有相应的记录,以保证数据的一致性。

层次模型的优缺点结构简单,层次分明查询效率高提供良好的数据完整性支持不能直接表示多对多联系插入和删除数据限制太多查询子女结点必须通过双亲结点优点缺点2023/2/14由于采用指针实现记录间的联系,层次数据模型具有查询效率高的优点。同时,层次数据模型还具有结构简单、层次分明、便于在计算机内实现的优点。若要存取某一记录型的记录,可以从根结点起,按照有向树的层次逐层向下查找,查找路径就是存取路径。现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个关系结点等,层次模型不能直接表示两个以上实体型间的复杂的联系和多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性;对数据的插入和删除操作限制较多;查询子女结点必须通过双亲结点,所以使得应用程序的编写比较复杂。2023/2/1449图1-14网状模型示例2.网状模型

网状模型的数据结构网状模型的特点:有一个以上的结点没有双亲结点。允许结点有多个双亲结点。允许两个结点之间有多种联系(复合联系)。

网状模型是一种比层次模型更具普遍性的数据结构,它解除了层次模型的两个限制,允许多个结点无双亲;允许一个子结点有两个或多个父结点,则此时有向树变成了有向图,该有向图即描述了网状模型。网状模型中每个结点表示一个记录型(实体),每个记录型可包含若干个字段(实体的属性),结点间的连线表示记录类型(实体)间的父子关系,如图1-16所示是网状模型的例子。网状模型的数据操作及完整性约束

插入数据时,允许插入尚未确定双亲结点值的子女结点值。删除数据时,允许只删除双亲结点值。修改数据时,只需更新指定记录即可。网状模型的优缺点

可表示实体间的多种复杂联系具有良好的性能和存储效率数据结构复杂数据定义语言、数据操纵语言复杂用户需要了解系统结构的细节优点缺点2023/2/142023/2/14513.关系模型

关系模型是目前最为常用的一种数据模型。关系数据库系统就是采用关系模型作为数据的组织方式。1970年美国IBM公司的研究员E.F.Codd首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。20世纪80年代以来,计算机软件厂商新推出的数据库管理系统几乎都支持关系模型,非关系系统的产品也大都加上了关系接口。数据结构关系模型用关系(即规范的二维表)来表示各类实体以及实体间的联系。设有一个教学管理数据库,共有6个关系:学生关系(Student)、课程关系(Course)、选课关系(SelectCourse)、教师关系(Teacher)、授课关系(Teaching)和部门关系(Dept),这6个关系对应6个表,分别简写为S(学生)、C(课程)、SC(选课)、TC(授课)、T(教师)、D(部门),如表1-2~表1-7。2023/2/1452表1-2S(学生)Sno学号Sn姓名Sex性别Age年龄Bp籍贯Dno部门号100101姜珊女18湖南01100102李思女17江苏02100103孙浩男21江苏03100104周强男20新疆04100105李斌男19河南01100106黄琪男21湖北02Cno课程号Cn课程名Ct课时Sem开课学期Cp课程性质Dno部门号150101数据结构642必修01150102操作系统484必修01150103数据库原理644必修03Sno学号Cno课程号Score成绩100101150101601001011501027510010115010383100102150102801001031501027010010515010365表1-3C(课程)表1-4SC(选课)2023/2/1453表1-5TC(授课)Cno课程号Tno教师编号1501010115010102150102021501020315010301表1-6T(教师)Tno教师号Tn姓名Sex性别Age年龄Prof职称Dno部门号01张林女45教授0102王红女26讲师0103李雪女21讲师0204周伟男32副教授0405张斌男25讲师0106王平男30副教授02Dno部门号Dept部门01信电02管理03数理04机电表1-7D(部门)数据操作及完整性约束关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。关系模型把对数据的存取路径隐蔽起来,用户只要指出“干什么”,而不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户操作效率。关系模型的完整性约束条件包括实体完整性、参照完整性和用户自定义完整性。关系模型的优缺点

有严格的数学理论根据用关系描述实体间的联系具有更高的数据独立性、更好的安全保密性优点查询效率不如非关系模型缺点2023/2/14

4.面向对象模型2023/2/14面向对象模型(Object-OrientedDataModel,OO数据模型)是指无论怎样复杂的事例,都可以准确地由一个对象表示,每个对象都是包含了数据集和操作集的实体,即面向对象模型具有封装性的特点。(1)对象与封装性(Encapsulation)面向对象的模型中,每个概念实体都可以模型化为对象。如多边形地图上的一个结点、一条弧段、一条河流、一个区域或一个省都可看成对象。一个对象由描述该对象状态的一组数据和表达其行为的一组操作(方法)组成。例如,河流的坐标数据描述了其位置和形状,而河流的变迁则表达了它的行为。由此可见,对象是数据和行为的统一体。一个对象Object可定义成一个三元组:Object=(ID,S,M)其中,ID为对象标识;S为对象的内部状态,可以直接是一个属性值,也可以是另外一组对象的集合;M为方法集。对象的行为是对象状态上操作的方法集,面向对象模型把对象的状态、行为封装为一体。对象是现实世界中实体的模型化。对象标识独立于对象的内容和存储位置,是一种逻辑标识符,通常由系统产生,它在整个系统范围内是惟一的。两个对象即使内部状态值和方法都相同,如标识符不同,仍认为是两个相等而不同的对象。每个对象都包含一组属性和一组方法。对象属性方法对象属性方法……2023/2/14(2)类和继承

类是关于同类对象的集合,是具有相同属性和操作的对象的抽象。属于同一类的所有对象共享相同的属性项和操作方法,每个对象都是这个类的一个实例,对象继承了类的基本属性和操作方法,同时每个对象也可以有与类不同的属性和操作。可以用一个三元组来建立一个类:Class=(CID,CS,CM)其中,CID为类标识或类名;CS为状态描述部分;CM为应用于该类的操作。显然,有S∈CS,M∈CM(当Object∈Class)。因此,在实际的系统中,仅需对每个类定义一组操作,供该类中的每个对象应用。由于每个对象的内部状态不完全相同,所以要分别存储每个对象的属性值。2023/2/14具有同样属性和方法集的所有对象构成了一个对象类,一个对象是某一类的实例。类的属性域可以是基本数据类型(如整型、实型、字符型等),也可以是类。类的表示具有层次性和继承性。对象类型值2023/2/14面向对象模型的优缺点能完整地描述现实世界的数据结构具有丰富的表达能力优点模型相对比较复杂缺点涉及的知识比较多因此,面向对象数据库尚未达到关系数据库的普及程度!2023/2/142023/2/14601.5.1三级模式结构1.5数据库系统的体系结构图1-15数据库系统的三级模式结构

虽然实际的数据库种类繁多,基于不同的数据模型,使用不同的数据库语言,运行在不同的操作系统之上,数据的存储结构也各不相同,但从数据库管理角度来看,数据库系统通常采用三级模式结构:外模式、模式和内模式,并提供两级映象功能,如图1-15。在数据库系统中,用户看到的数据和计算机中存放的数据是两回事,它们之间是通过两次映象变换联系起来的。2023/2/1461外模式(ExternalSchema)

外模式也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据逻辑表示。它由若干个外部记录类型组成。外模式是模式的子集,一个数据库可以有多个外模式。外模式完全是按用户自己对数据的需要,站在局部的角度进行设计的。DBMS提供外模式定义语言(DDL)进行定义,该定义主要涉及对外模式的数据结构、数据域、数据构造规则及数据的安全性和完整性等属性的描述。外模式可以在数据组成、数据间的联系、数据项的型、数据名称上与模式不同,也可以在数据的安全性和完整性方面与模式不同。使用外模式有如下优点:(1)使用外模式,用户不必考虑与自己无关的数据,也无须了解数据的存储结构,使得用户使用数据和设计程序的工作都得到了简化。(2)使用外模式,用户只能对自己需要的数据进行操作,数据库的其他数据与用户是隔离的,从而有利于数据的安全和保密。(3)由于同一模式可以派生出多个外模式,有利于数据的独立性和共享性。用户使用数据操纵语言DML的语句对数据库进行操作,实际上就是对外模式的外部记录进行操作。用户对数据库的操作,只能与外模式发生联系,按照外模式的结构存储和操纵数据,不必关心模式。1.5.1三级模式结构2023/2/1462模式(Schema)

模式也称逻辑模式或概念模式,是对数据库中全部数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式是数据库系统模式结构的中间层,不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的开发工具及高级程序设计语言无关。模式是数据库数据在逻辑级别上的视图,一个数据库只能有一个模式。数据库模式以某一种数据模型为基础,综合考虑了所有用户的需求,并将这些需求有机结合成一个逻辑整体。DBMS提供模式定义语言(DDL)进行定义,其定义的内容不仅包括对数据库的记录型、数据项的型、记录间的联系等的描述,同时也包括数据的安全性定义、数据应满足的完整性条件等。1.5.1三级模式结构2023/2/1463内模式内模式(InternalSchema)也称存储模式(StorageSchema),是对数据库数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。内模式是DBMS管理的最低层,是物理存储设备上存储数据时的物理抽象。它由DBMS提供的内模式定义语言(DDL)来定义和描述。一个数据库只能有一个内模式。内模式的设计目标是将系统的模式组织成最优的物理模式,以提高数据的存取效率,改善系统的性能目标。1.5.1三级模式结构内模式是整个数据库实际存储的表示模式是整个数据库实际存储的抽象表示外模式是概念模式的某一部分的抽象表示外模式模式内模式数据库中全体数据的逻辑结构和特征的描述数据库用户能看到并允许使用的那部分局部数据的逻辑结构和特征的描述它是对数据库存储结构的描述,是数据在数据库内部的表示方式可有多个只有一个2023/2/142023/2/1465

数据库的三级模式是对数据的3个不同层次进行抽象,它把数据的具体组织工作留给DBMS管理,使用户能方便地处理数据,而不用关心数据在计算机中的具体表示方法与存储方式。为了能够在内部实现这3个抽象层次之间的联系和转换,DBMS在三级模式之间提供了二级映像。

1.5.2两级映像与数据独立性外模式/模式映象模式/内模式映象保证了数据与程序间的逻辑独立性确保了数据的物理独立性2023/2/1466外模式/模式映像

外模式/模式映像,定义了外模式与模式之间的映像关系。模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对于一个给定的模式,可以根据不同用户的需求,设计出多个不同的外模式。外模式/模式映像的定义通常保存在外模式中。当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),由DBA对外模式/模式映像做相应的修改,从而使外模式保持不变。因为应用程序是依据数据的外模式编写的,所以不必修改,这样就能保证数据与程序的逻辑独立性,即数据的逻辑独立性。在每一个外模式中,数据库系统都要定义一个外模式/模式映像。这些映像的定义一般在各自外模式的描述中。1.5.2两级映像与数据独立性2023/2/1467模式/内模式映像

模式/内模式映像,定义了一个数据全局逻辑结构与存储结构之间的对应关系,该关系就是模式/内模式之间的对应关系,它说明数据的记录、数据项在计算机内部是如何组织和表示的。数据库中的模式和内模式都各有一个,所以模式/内模式映像是唯一的。当数据库的存储结构改变时,DBA可以通过修改模式/内模式之间的映像保持数据模式不变化,所以不必修改应用程序,就能保证数据与程序的物理独立性,简称数据的物理独立性。数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。另外,由于数据的存取由DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改工作量。1.5.2两级映像与数据独立性2023/2/14681.6数据库管理系统数据库管理系统(DatabaseManagementSystem,DBMS)是专门用来管理数据库的计算机软件。DBMS主要是面向开发者而设计的,它为应用程序提供访问数据库的各种接口,包括数据定义、数据操作、数据控制、事务管理以及数据库维护等功能。如图1-16所示,DBMS在计算机中的位置介于应用程序和操作系统之间。开发者通常在DBMS的基础之上开发具体的应用程序,因此DBMS与操作系统、编译系统一起被归为系统软件。作为一种基础性软件,DBMS的规模相对庞大,内部机制相当复杂。具有代表性的DBMS有0racle、DB2、MicrosoftSQLServer、PostgreSQL、MySQL等。

应用程序DBMS操作系统硬件

图1-16DBMS在计算机中的位置2023/2/1469(1)数据定义功能;(2)数据操纵;(3)数据库运行管理功能;(4)数据组织、存储和管理功能;(5)数据库的建立和维护功能;(6)通信功能。

1.6.1DBMS的主要功能

由于不同DBMS要求的硬件资源、软件环境不同,因此其功能与性能也存在差异。但一般说来,DBMS的功能主要包括以下6个方面。数据库管理系统1.61.6(1)数据定义功能包括定义构成数据库结构的外部模式、概念模式、内部模式,定义模式之间的映像,定义有关的约束条件等。(2)数据操纵包括对数据库数据的检索、插入、修改和删除等基本操作。(3)数据库的运行进行管理是DBMS的核心功能。所有访问数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用。DML有两类:自主型宿主型独立使用嵌入在如Fortran、Pascal、C等高级语言中2023/2/14(6)通信功能

(5)数据库的建立功能是指DBMS根据数据库的定义,把实际的数据库数据存储到物理存储设备上,完成实际存放数据的数据库(目标数据库)的建库工作。数据库的维护功能主要包括数据库运行时记录工作日志、监视数据库的性能、完成数据库的重组和重构功能。重组功能是指DBMS提供重组程序来重新整理零乱的数据库,以便回收已删除数据所占用的存储空间,并把记录从溢出区移到主数据区的自由空间中;重构功能是指DBMS提供重构程序来改善数据库的性能DBMS需要提供与其他软件系统进行通信的功能。(4)DBMS要分类组织、存储和管理数据库中的各种数据,包括用户数据、数据字典、存取路径等;要确定以何种文件结构和存取方式在存储设备上组织、存储这些数据,如何实现数据之间的联系,以提高存储空间利用率和存取效率。2023/2/142023/2/1472(1)数据定义语言及其翻译处理程序

DBMS一般都提供数据定义语言(DataDefinitionLanguage,DDL),供用户定义数据库的各种模式,翻译处理程序负责将它们翻译成相应的内部表示,即生成目标模式。(2)数据操纵语言及其编译程序

DBMS提供了数据操纵语言(DataManipulationLanguage,DML),实现对数据库的检索、插入、修改、删除等基本操作。(3)数据库运行控制程序

DBMS提供了一些系统运行控制程序,负责在运行过程中实现对数据库的控制与管理,主要包括系统总控、安全性控制、完整性检查、并发控制、数据存取和更新及通信控制程序等。(4)实用程序

DBMS通常还提供一些实用程序,主要用来建立与维护数据库,包括数据库初始装配、数据清理、重组数据库、数据库恢复、转储复制、跟踪程序等。1.6.2DBMS的组成

图1-17

DBMS的工作模式1.6.3DBMS的工作模式和用户存取数据的过程

2023/2/14

DBMS是DBS中对数据进行管理的软件系统,是DBS的核心组成部分。在DBS中对数据库的一切操作(数据定义、查询、更新和各种控制)都是通过DBMS进行的。DBMS的工作模式如图1-17。图1-18DBMS存取数据的过程示意图2023/2/14如图1-18是用户存取数据的过程示意图。用户对数据库进行操作是由DBMS把操作请求从应用程序带到外模式、模式、内模式,进而通过操作系统操作数据库中的数据。同时,DBMS为应用程序的请求在内存中开辟一个数据库的系统缓冲区,用于数据传输和格式转换。DBMS对数据的存取通常需要以下几个步骤:

(1)用户使用某种特定的数据操作语言向DBMS发出存取请求;(2)DBMS接受请求并将该请求解释转换成机器代码指指令;(3)DBMS依次检查外模式、外模式/模式映象、模式、模式/内模式映象及存储结构定义;(4)DBMS对存储数据库执行必要的存取操作。(5)从对数据库的存取操作中接受结果。(6)对得到的结果进行必要的处理,如格式转换等。(7)将处理的结果返回给用户。2023/2/142023/2/1476Oracle数据库系统简介Oracle是和DB2同期发展起来的数据库产品,也是第二个采用SQL的数据库产品。Oracle从DB2等产品中吸取到了很多优点,同时又避免了IBM的官僚体制与过度学术化,大胆地引进了许多新的理论与特性,所以Oracle无论是功能、性能还是可用性都是非常优良的。1977年,拉里·艾里森和BobMiner、EdOates一起创建了一家软件开发实验室,开发当时新型的数据库技术——关系型数据库系统,并将第一个产品命名为“Oracle”,意为“智慧之源”、“神谕”,我国业内称之为“甲骨文”。1978年,软件开发实验室更名为关系型软件公司。1.Oracle

目前有许多DBMS产品,如DB2、Oracle、MicrosoftSQLServer、SybaseSQLServer、Informix、MySQL等,它们在数据库市场上各自占有一席之地。下面简要介绍几种常用的数据库管理系统。

常用数据库管理系统简介1.7

1982年,关系型软件公司更名为Oracle系统公司(OracleSystemCorporation),以其产品的名称Oracle来命名。1986年3月12日,Oracle股票正式挂牌上市,同年,Oracle推出了第一个客户端/服务器结构的数据库。1987年,Oracle的年收入达到了1.31亿美元,成为世界上最大的关系型数据库软件公司。1999年,Oracle正式发布世界上第一个支持Internet的数据库——Oracle

8i。2000年,Oracle推出业界第一款完整、集成的电子商务应用产品套件(E-BusinessSuite),并通过实际应用使其成功开展电子商务服务。2001年,发布新一代完整的、简单的电子商务基础结构的平台产品Oracle

9i,该产品由Oracle

9i数据库和Oracle

9i应用服务器组成,提供了电子商务企业所有关键的软件基础结构和开发电子商务应用所需要的所有重要功能,为电子商务应用和网站有效地提高运行速度、获得应用的可伸缩性和可用性提供了强有力的支撑,使用户能够有效地开发快速、高可用、安全可靠的电子商务应用和网站,而不再需要考虑昂贵的软件集成和维护费用,同时,它还提供了强大的商业数据挖掘功能及应用。

2023/2/14Oracle数据库系统特点2023/2/14

Oracle数据库适用于大中型系统及数据安全保密要求较高的应用系统开发,特别适合于分布式应用系统,主要有以下特点。①联机事务处理-查询密集的数据仓库:高效、可靠、安全;②较高的并行查询优化能力;③表扫描的异步预读;④高性能的空间管理能力;⑤允许多表视图上非模糊更新操作;⑥支持多线程客户应用程序;⑦先进的文件处理;⑧多媒体技术和面向对象技术的支持;⑨支持并行数据库和透明的分布式查询处理;⑩对Java的支持。2023/2/1479DB2数据库系统简介2.DB2

DB2是IBM公司的产品,起源于SystemR和SystemR*,支持从桌面PC到UNIX、从中小型机到大型机,既可以在主机上以主/从方式独立运行,也可在客户/服务器环境中运行。其中服务平台可以是OS/400、AIX、OS/2、HP-UNIX、SUN-Solaris等操作系统;客户机平台可以是OS/2或Windows、Dos、AIX、HP-UX、SUNSolaris等操作系统。1973年,IBM研究中心启动SystemR项目,为DB2的诞生打下了良好基础。SystemR是IBM研究部门开发的一种产品,这种原型语言促进了技术的发展并最终在1983年将DB2带到了商业市场。1981年,E.F.Codd因为发明关系数据库模型,获得ACM图灵奖。1982年,IBM发布SQL/DSforVSEandVM,以SystemR为原型。1983年,Database2(DB2)forMVS发布,内部代号为“Eagle”,于是DB2正式诞生。1986年,System/38V7发布,首次配置查询优化器,能对应用的存取计划进行优化。2023/2/14801987年,DB2完成了到OS/2的扩展,进入微机领域。1988年,发布SQL/400,为AS/400服务器提供SQL支持。1992年,IDUG大会在瑞士召开,DB2应用开始全球化。DB2forOS2V1和DB2forRS/6000V1推出,这是第一次在Intel和Unix平台上推出DB2产品。1994年,AIX平台上的DB2开始支持对象型数据。1995年,DB2开始支持WindowsNT、Unix等多个平台。1996年,DB2正式更名为DB2通用数据库。2000年,DB2支持XML扩展。2002—2003年,DB2V8.1出现。2007年,DB2V9出现,它是一个混合模式(关系型、层次型)数据库,既有关系模型,又直接支持XML的层次模型。DB2数据库系统的特点

DB2数据库适用于大型系统的应用开发,较适合于分布式应用系统,主要有以下特点:①提供对象关系特征;②提供通用数据类型和通用应用的支持、联机事务处理、联机分析处理;③通用数据访问功能和对Java的支持;④DB2UniversalDatabase支持基于内容的文本搜索、图像、视频、语言和指纹类型等;⑤OLAP和多维分析;⑥良好的优化器;⑦良好的可伸缩性。2023/2/142023/2/1482MicrosoftSQLServer数据库系统简介

3.MicrosoftSQLServer

MicrosoftSQLServer是微软推出的一款数据库产品。微软当初要进军图形化操作系统市场时,开始与IBM合作开发OS/2,最终无疾而终,但是微软很快推出了自己的新一代视窗操作系统。而当微软发现数据库系统这块新市场的时候,并没有自己从头开发一个数据库系统,而是找到了Sybase来合作开发基于OS/2的数据库产品,当然微软达到目的以后就立即停止与Sybase的合作,于1995年推出了自己的MicrosoftSQLServer6.0,经过几年的发展,终于在1998年推出了轰动一时的MicrosoftSQLServer7.0,也正是这一版本使得微软在数据库产品领域有了一席之地。正因为这段“合作”历史,使得MicrosoftSQLServer和SybaseSQLServer在很多地方非常类似,比如底层采用的TDS协议、支持的语法扩展、函数等。2000年,微软推出了MicrosoftSQLServer2000,该版本继续稳固了MicrosoftSQLServer的市场地位,由于Windows操作系统在个人计算机领域的普及,MicrosoftSQLServer理所当然成为很多数据库开发人员接触的第一个而且极有可能也是

温馨提示

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

评论

0/150

提交评论