㈠ 数据库的发展趋势和发展前景
数据挖掘、海量存储、数据仓库、智能商务运算、高性能并发管理与控制
主流产品的发展现状
数据库管理系统经历了30多年的发展演变,已经取得了辉煌的成就,发展成了一门内容丰富的学科,形成了总量达数百亿美元的一个软件产业。根据Gartner Dataquest公司的调查,2000年国际数据库市场销售总额达88亿美元,比1999年增长10%。根据CCID的报告,2000年的中国数据库管理系统市场销售总额达24.8亿元,比1999年增长了41.7%,占软件市场总销售额的10.8%。可见,数据库已经发展成为一个规模巨大、增长迅速的市场。
目前,市场上具有代表性的数据库产品包括Oracle公司的Oracle、IBM公司的DB2以及微软的SQL Server等。在一定意义上,这些产品的特征反映了当前数据库产业界的最高水平和发展趋势。因此,分析这些主流产品的发展现状,是我们了解数据库技术发展的一个重要方面。
关系数据库技术仍然是主流
关系数据库技术出现在20世纪70年代、经过80年代的发展到90年代已经比较成熟,在90年代初期曾一度受到面向对象数据库的巨大挑战,但是市场最后还是选择了关系数据库。无论是Oracle公司的Oracle 9i、IBM公司的DB2、还是微软的SQL Server等都是关系型数据库。Gartner Dataquest的报告显示关系数据库管理系统(RDBMS)的市场份额最大, 2000年RDBMS的市场份额占整个数据库市场的80%,这个比例比1999年增长了15%。这组数据充分说明RDBMS仍然是当今最为流行的数据库软件。当前,由于互联网应用的兴起,XML格式的数据的大量出现,学术界有一部分学者认为下一代数据库将是支持XML模型的新型的数据库。作者对此持否定态度,认为关系技术仍然是主流,无论是多媒体内容管理、XML数据支持、还是复杂对象支持等都将是在关系系统内核技术基础上的扩展。
产品形成系列化
一方面,Web和数据仓库等应用的兴起,数据的绝对量在以惊人的速度迅速膨胀;另一方面,移动和嵌入式应用快速增长。针对市场的不同需求,数据库正在朝系列化方向发展。例如IBM公司的DB2通用数据库产品包括了从高端的企业级并行数据库服务器,到移动端产品DB2 Everywhere的一整套系列。从支持平台看,今天的DB2已经不再是大型机上的专有产品,它支持目前主流的各种平台,包括Linux和Windows NT。此外,它还有各种中间件产品,如DB2 Connect、DB2 Datajointer、DB2 Replication等,构成了一个庞大的数据库家族。
支持各种互联网应用
数据库管理系统是网络经济的重要基础设施之一。支持Internet(甚至于Mobile Internet)数据库应用已经成为数据库系统的重要方面。例如,Oracle公司从8版起全面支持互联网应用,是互联网数据库的代表。微软公司更是将SQL Server作为其整个.NET计划中的一个重要的成分。对于互联网应用,由于用户数量是无法事先预测的,这就要求数据库相比以前拥有能处理更大量的数据以及为更多的用户提供服务的能力,也就是要拥有良好的可伸缩性及高可用性。此外,互联网提供大量以XML格式数据为特征的半结构化数据,支持这种类型的数据的存储、共享、管理、检索等也是各数据库厂商的发展方向。
向智能化集成化方向扩展
数据库技术的广泛使用为企业和组织收集并积累了大量的数据。数据丰富知识贫乏的现实直接导致了联机分析处理(OLAP)、数据仓库(Data Warehousing)和数据挖掘(Data Mining)等技术的出现,促使数据库向智能化方向发展。同时企业应用越来越复杂,会涉及到应用服务器、Web服务器、其它数据库、旧系统中的应用以及第三方软件等,数据库产品与这些软件是否具有良好集成性往往关系到整个系统的性能。Oracle公司的Oracle 9i 产品包括了OLAP、数据挖掘、ETL工具等一套完整的BI(商业智能)支持平台,中间件产品与其核心数据库具有紧密集成的特性,Oracle Application Server 增加的一项关键功能是高速缓存特性,该特性可以将数据从数据库卸载到应用服务器,加速 Web用户对数据的访问速度。IBM 公司也把BI套件作为其数据库的一个重点来发展。微软认为商务智能将是其下一代主要的利润点。
数据库技术的发展趋势
数据、计算机硬件和数据库应用,这三者推动着数据库技术与系统的发展。数据库要管理的数据的复杂度和数据量都在迅速增长;计算机硬件平台的发展仍然实践着摩尔定律;数据库应用迅速向深度、广度扩展。尤其是互联网的出现,极大地改变了数据库的应用环境,向数据库领域提出了前所未有的技术挑战。这些因素的变化推动着数据库技术的进步,出现了一批新的数据库技术,如Web数据库技术、并行数据库技术、数据仓库与联机分析技术、数据挖掘与商务智能技术、内容管理技术、海量数据管理技术等。限于篇幅,本文不可能逐一去展开来阐述这些方面的变化,只是从这些变化中归纳出数据库技术发展呈现出的突出特点。
“四高” 即DBMS具有高可靠性、高性能、高可伸缩性和高安全性。数据库是企业信息系统的核心和基础,其可靠性和性能是企业领导人非常关心的问题。因为,一旦宕机会给企业造成巨大的经济损失,甚至会引起法律的纠纷。最典型的例子就是证券交易系统,如果在一个行情来临的时候,由于交易量的猛增,造成数据库系统的处理能力不足,导致数据库系统崩溃,将会给证券公司和股民造成巨大的损失。在我国计算机应用的早期,由于计算机系统还不是企业运营必要的成分,人们对数据库的重要性认识不足,而且为了经费上的节约常常采用一些低层次的数据管理软件,如dBASE等,或者盗版的软件。但是,随着信息化进程的深化,计算机系统越来越成为企业运营的不可缺少的部分,这时,数据库系统的稳定和高效是必要的条件。在互联网环境下还要考虑支持几千或上万个用户同时存取和7x24小时不间断运行的要求,提供联机数据备份、容错、容灾以及信息安全措施等。
事实上,数据库系统的稳定和高效也是技术上长久不衰的追求。此外,从企业信息系统发展的角度上看,一个系统的可扩展能力也是非常重要的。由于业务的扩大,原来的系统规模和能力已经不再适应新的要求的时候,不是重新更换更高档次的机器,而是在原有的基础上增加新的设备,如处理器、存储器等,从而达到分散负载的目的。数据的安全性是另一个重要的课题,普通的基于授权的机制已经不能满足许多应用的要求,新的基于角色的授权机制以及一些安全功能要素,如存储隐通道分析、标记、加密、推理控制等,在一些应用中成为切切实实的需要。
“互联” 指数据库系统要支持互联网环境下的应用, 要支持信息系统间“互联互访”,要实现不同数据库间的数据交换和共享,要处理以XML类型的数据为代表的网上数据,甚至要考虑无线通讯发展带来的革命性的变化。与传统的数据库相比,互联网环境下的数据库系统要具备处理更大量的数据以及为更多的用户提供服务的能力,要提供对长事务的有效支持,要提供对XML类型数据的快速存取的有效支持。
“协同” 面向行业应用领域要求,在DBMS核心基础上,开发丰富的数据库套件及应用构件,通过与制造业信息化、电子政务等领域应用套件捆绑,形成以DBMS为核心的面向行业的应用软件产品家族。满足应用需求,协同发展数据库套件与应用构件,已成为当今数据库技术与产品发展的新趋势。规划中的Oracle 11i的主要扩展方面据称主要也是各种面向应用套件的支持。
㈡ 数据库技术的应用与发展
数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。
随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。本章主要介绍数据库技术的应用与发展、关系模型的基本概念、关系数据库的设计理论及数据库设计方法等内容,是学习和掌握现代数据库技术的基础。
1.1 数据库技术的发展与应用
从20世纪60年代末期开始到现在,数据库技术已经发展了30多年。在这30多年的历程中,人们在数据库技术的理论研究和系统开发上都取得了辉煌的成就,而且已经开始对新一代数据库系统的深入研究。数据库系统已经成为现代计算机系统的重要组成部分。
1.1.1 数据库技术与信息技术
信息技术(Information Technology,IT)是当今使用频率最高的名词之一,它随着计算机技术在工业、农业以及日常生活中的广泛应用,已经被越来越多的个人和企业作为自己赶超世界潮流的标志之一。而数据库技术则是信息技术中一个重要的支撑。没有数据库技术,人们在浩瀚的信息世界中将显得手足无措。
数据库技术是计算机科学技术的一个重要分支。从20世纪50年代中期开始,计算机应用从科学研究部门扩展到企业管理及政府行政部门,人们对数据处理的要求也越来越高。1968年,世界上诞生了第一个商品化的信息管理系统IMS(Information Management System),从此,数据库技术得到了迅猛发展。在互联网日益被人们接受的今天,Internet又使数据库技术、知识、技能的重要性得到了充分的放大。现在数据库已经成为信息管理、办公自动化、计算机辅助设计等应用的主要软件工具之一,帮助人们处理各种各样的信息数据。
1.1.2 数据库技术的应用及特点
数据库最初是在大公司或大机构中用作大规模事务处理的基础。后来随着个人计算机的普及,数据库技术被移植到PC机(Personal Computer,个人计算机)上,供单用户个人数据库应用。接着,由于PC机在工作组内连成网,数据库技术就移植到工作组级。现在,数据库正在Internet和内联网中广泛使用。
20世纪60年代中期,数据库技术是用来解决文件处理系统问题的。当时的数据库处理技术还很脆弱,常常发生应用不能提交的情况。20世纪70年代关系模型的诞生为数据库专家提供了构造和处理数据库的标准方法,推动了关系数据库的发展和应用。1979年,Ashton-Tate公司引入了微机产品dBase Ⅱ,并称之为关系数据库管理系统,从此数据库技术移植到了个人计算机上。20世纪80年代中期到后期,终端用户开始使用局域网技术将独立的计算机连接成网络,终端之间共享数据库,形成了一种新型的多用户数据处理,称为客户机/服务器数据库结构。现在,数据库技术正在被用来同Internet技术相结合,以便在机构内联网、部门局域网甚至WWW上发布数据库数据。
1.1.3 数据库技术发展历史
数据模型是数据库技术的核心和基础,因此,对数据库系统发展阶段的划分应该以数据模型的发展演变作为主要依据和标志。按照数据模型的发展演变过程,数据库技术从开始到现在短短的30年中,主要经历了三个发展阶段:第一代是网状和层次数据库系统,第二代是关系数据库系统,第三代是以面向对象数据模型为主要特征的数据库系统。数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等相互渗透、有机结合,成为当代数据库技术发展的重要特征。
1. 第一代数据库系统
第一代数据库系统是20世纪70年代研制的层次和网状数据库系统。层次数据库系统的典型代表是1969年IBM公司研制出的层次模型的数据库管理系统IMS。20世纪60年代末70年代初,美国数据库系统语言协会CODASYL(Conference on Data System Language)下属的数据库任务组DBTG(Data Base Task Group)提出了若干报告,被称为DBTG报告。DBTG报告确定并建立了网状数据库系统的许多概念、方法和技术,是网状数据库的典型代表。在DBTG思想和方法的指引下数据库系统的实现技术不断成熟,开发了许多商品化的数据库系统,它们都是基于层次模型和网状模型的。
可以说,层次数据库是数据库系统的先驱,而网状数据库则是数据库概念、方法、技术的奠基者。
2. 第二代数据库系统
第二代数据库系统是关系数据库系统。1970年IBM公司的San Jose研究试验室的研究员Edgar F. Codd发表了题为《大型共享数据库数据的关系模型》的论文,提出了关系数据模型,开创了关系数据库方法和关系数据库理论,为关系数据库技术奠定了理论基础。Edgar F. Codd于1981年被授予ACM图灵奖,以表彰他在关系数据库研究方面的杰出贡献。
20世纪70年代是关系数据库理论研究和原型开发的时代,其中以IBM公司的San Jose研究试验室开发的System R和Berkeley大学研制的Ingres为典型代表。大量的理论成果和实践经验终于使关系数据库从实验室走向了社会,因此,人们把20世纪70年代称为数据库时代。20世纪80年代几乎所有新开发的系统均是关系型的,其中涌现出了许多性能优良的商品化关系数据库管理系统,如DB2、Ingres、Oracle、Informix、Sybase等。这些商用数据库系统的应用使数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等方面,成为实现和优化信息系统的基本技术。
3. 第三代数据库系统
从20世纪80年代以来,数据库技术在商业上的巨大成功刺激了其他领域对数据库技术需求的迅速增长。这些新的领域为数据库应用开辟了新的天地,并在应用中提出了一些新的数据管理的需求,推动了数据库技术的研究与发展。
1990年高级DBMS功能委员会发表了《第三代数据库系统宣言》,提出了第三代数据库管理系统应具有的三个基本特征:
l 应支持数据管理、对象管理和知识管理。
l 必须保持或继承第二代数据库系统的技术。
l 必须对其他系统开放。
面向对象数据模型是第三代数据库系统的主要特征之一;数据库技术与多学科技术的有机结合也是第三代数据库技术的一个重要特征。分布式数据库、并行数据库、工程数据库、演绎数据库、知识库、多媒体库、模糊数据库等都是这方面的实例。
1.1.4 数据库系统访问技术
目前访问数据库服务器的主流标准接口主要有ODBC、OLE DB和ADO。下面分别对这三种接口进行概要介绍。
1. 开放数据库连接(ODBC)
开放数据库连接(Open Database Connectivity,ODBC)是由Microsoft公司定义的一种数据库访问标准。使用ODBC应用程序不仅可以访问存储在本地计算机的桌面型数据库中的数据,而且可以访问异构平台上的数据库,例如可以访问SQL Server、Oracle、Informix或DB2构建的数据库等。
ODBC是一种重要的访问数据库的应用程序编程接口(Application Programming Interface,API),基于标准的SQL语句,它的核心就是SQL语句,因此,为了通过ODBC访问数据库服务器,数据库服务器必须支持SQL语句。
ODBC通过一组标准的函数(ODBC API)调用来实现数据库的访问,但是程序员不必理解这些ODBC,API就可以轻松开发基于ODBC的客户机/服务器应用程序。这是因为在很多流行的程序开发语言中,如Visual Basic、PowerBuilder、Visual C++等,都提供了封装ODBC各种标准函数的代码层,开发人员可以直接使用这些标准函数。
ODBC获得了巨大成功并大大简化了一些数据库开发工作。但是它也存在严重的不足,因此Microsoft公司又开发了OLE DB。
2. OLE DB
OLE DB是Microsoft公司提供的关于数据库系统级程序的接口(System-Level Programming Interface),是Microsoft公司数据库访问的基础。OLE DB实际上是Microsoft公司OLE对象标准的一个实现。OLE DB对象本身是COM(组件对象模型)对象并支持这种对象的所有必需的接口。
一般说来,OLE DB提供了两种访问数据库的方法:一种是通过ODBC驱动器访问支持SQL语言的数据库服务器;另一种是直接通过原始的OLE DB提供程序。因为ODBC只适用于支持SQL语言的数据库,因此ODBC的使用范围过于狭窄,目前Microsoft公司正在逐步用OLE DB来取代ODBC。
因为OLE DB是一个面向对象的接口,特别适合于面向对象语言。然而,许多数据库应用开发者使用VBScript和JScript等脚本语言开发程序,所以Microsoft公司在OLE DB对象的基础上定义了ADO。
3. 动态数据对象(ADO)
动态数据对象(Active Data Objects,ADO)是一种简单的对象模型,可以被开发者用来处理任何OLE DB数据,可以由脚本语言或高级语言调用。ADO对数据库提供了应用程序水平级的接口(Application-Level Programming Interface),几乎使用任何语言的程序员都能够通过使用ADO来使用OLE DB的功能。Microsoft公司声称,ADO将替换其他的数据访问方式,所以ADO对于任何使用Microsoft公司产品的数据库应用是至关重要的。
1.1.5 网络数据库系统编程技术
在当今网络盛行的年代,数据库与Web技术的结合正在深刻改变着网络应用。有了数据库的支持,扩展网页功能、设计交互式页面、构造功能强大的后台管理系统、更新网站和维护网站都将变得轻而易举。随着网络应用的深入,Web数据库技术将日益显示出其重要地位。在这里简单介绍一下Web数据库开发的相关技术。
1. 通用网关接口(CGI)编程
通用网关接口(Common Gateway Interface,CGI)是一种通信标准,它的任务是接受客户端的请求,经过辨认和处理,生成HTML文档并重新传回到客户端。这种交流过程的编程就叫做CGI编程。CGI可以运行在多种平台上,具有强大的功能,可以使用多种语言编程,如Visual Basic、Visual C++、Tcl、Perl、AppletScript等,比较常见的是用Perl语言编写的CGI程序。但是CGI也有其致命的弱点,即速度慢和安全性差等。
2. 动态服务器页面(ASP)
动态服务器页面(Active Server Pages,ASP)是Microsoft公司推出的一种用以取代CGI的技术,是一种真正简便易学、功能强大的服务器编程技术。ASP实际上是Microsoft公司开发的一套服务器端脚本运行环境,通过ASP可以建立动态的、交互的、高效的Web服务器应用程序。用ASP编写的程序都在服务器端执行,程序执行完毕后,再将执行的结果返回给客户端浏览器,这样不仅减轻了客户端浏览器的负担,大大提高了交互速度,而且避免了ASP程序源代码的外泄,提高了程序的安全性。
3. Java 服务器页面(JSP)
Java服务器页面(Java Server Pages,JSP)是Sun公司发布的Web应用程序开发技术,一经推出,就受到了人们的广泛关注。JSP技术为创建高度动态的Web应用程序提供了一个独特的开发环境,它能够适用于市场上大多数的服务器产品。
JSP使用Java语言编写服务器端程序,当客户端向服务器发出请求时,JSP源程序被编译成Servlet并由Java虚拟机执行。这种编译操作仅在对JSP页面的第一次请求时发生。因此,JSP程序能够提供更快的交互速度,其安全性和跨平台性也很优秀。
㈢ 数据库技术的产生、发展的三个阶段各有什么特点
1、20世纪60年代中期,数据库技术是用来解决文件处理系统问题的。当时的数据库处理技术还很脆弱,常常发生应用不能提交的情况。
2、20世纪70年代关系模型的诞生为数据库专家提供了构造和处理数据库的标准方法,推动了关系数据库的发展和应用。1979年,Ashton-Tate公司引入了微机产品dBase Ⅱ,并称之为关系数据库管理系统,从此数据库技术移植到了个人计算机上。
3、20世纪80年代中期到后期,终端用户开始使用局域网技术将独立的计算机连接成网络,终端之间共享数据库,形成了一种新型的多用户数据处理,称为客户机/服务器数据库结构。
数据库技术正在被用来同Internet技术相结合,以便在机构内联网、部门局域网甚至WWW上发布数据库数据。
(3)阐述数据库技术的发展历史和趋势扩展阅读
在数据库的发展历史上,数据库先后经历了层次数据库、网状数据库和关系数据库等各个阶段的发展,数据库技术在各个方面的快速的发展。
特别是关系型数据库已经成为目前数据库产品中最重要的一员,80年代以来, 几乎所有的数据库厂商新出的数据库产品都支持关系型数据库,即使一些非关系数据库产品也几乎都有支持关系数据库的接口。这主要是传统的关系型数据库可以比较好的解决管理和存储关系型数据的问题。
随着云计算的发展和大数据时代的到来,关系型数据库越来越无法满足需要,这主要是由于越来越多的半关系型和非关系型数据需要用数据库进行存储管理,以此同时,分布式技术等新技术的出现也对数据库的技术提出了新的要求,于是越来越多的非关系型数据库就开始出现。
这类数据库与传统的关系型数据库在设计和数据结构有了很大的不同, 它们更强调数据库数据的高并发读写和存储大数据,这类数据库被称为NoSQL(Not only SQL)数据库。 而传统的关系型数据库在一些传统领域依然保持了强大的生命力。
㈣ 数据库技术的发展历史
数据模型是数据库技术的核心和基础,因此,对数据库系统发展阶段的划分应该以数据模型的发展演变作为主要依据和标志。按照数据模型的发展演变过程,数据库技术从开始到如今短短的30年中,主要经历了三个发展阶段:第一代是网状和层次数据库系统,第二代是关系数据库系统,第三代是以面向对象数据模型为主要特征的数据库系统。数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等相互渗透、有机结合,成为当代数据库技术发展的重要特征。 第一代数据库系统是20世纪70年代研制的层次和网状数据库系统。层次数据库系统的典型代表是1969年IBM公司研制出的层次模型的数据库管理系统IMS。20世纪60年代末70年代初,美国数据库系统语言协会CODASYL(Conference on Data System Language)下属的数据库任务组DBTG(Data Base Task Group)提出了若干报告,被称为DBTG报告。DBTG报告确定并建立了网状数据库系统的许多概念、方法和技术,是网状数据库的典型代表。在DBTG思想和方法的指引下数据库系统的实现技术不断成熟,开发了许多商品化的数据库系统,它们都是基于层次模型和网状模型的。
可以说,层次数据库是数据库系统的先驱,而网状数据库则是数据库概念、方法、技术的奠基者。 第二代数据库系统是关系数据库系统。1970年IBM公司的San Jose研究试验室的研究员Edgar F. Codd发表了题为《大型共享数据库数据的关系模型》的论文,提出了关系数据模型,开创了关系数据库方法和关系数据库理论,为关系数据库技术奠定了理论基础。Edgar F. Codd于1981年被授予ACM图灵奖,以表彰他在关系数据库研究方面的杰出贡献。
20世纪70年代是关系数据库理论研究和原型开发的时代,其中以IBM公司的San Jose研究试验室开发的System R和Berkeley大学研制的Ingres为典型代表。大量的理论成果和实践经验终于使关系数据库从实验室走向了社会,因此,人们把20世纪70年代称为数据库时代。20世纪80年代几乎所有新开发的系统均是关系型的,其中涌现出了许多性能优良的商品化关系数据库管理系统,如DB2、Ingres、Oracle、Informix、Sybase等。这些商用数据库系统的应用使数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等方面,成为实现和优化信息系统的基本技术。 从20世纪80年代以来,数据库技术在商业上的巨大成功刺激了其他领域对数据库技术需求的迅速增长。这些新的领域为数据库应用开辟了新的天地,并在应用中提出了一些新的数据管理的需求,推动了数据库技术的研究与发展。
1990年高级DBMS功能委员会发表了《第三代数据库系统宣言》,提出了第三代数据库管理系统应具有的三个基本特征:
应支持数据管理、对象管理和知识管理。必须保持或继承第二代数据库系统的技术。必须对其他系统开放。
㈤ 数据库技术经历了哪三个发展阶段
发展的三个阶段:
1、 层次型和网状型:
代表产品是1969年IBM公司研制的层次模型数据库管理系统版IMS。
2、 关系型数据型权库:
目前大部分数据库采用的是关系型数据库。1970年IBM公司的研究员E.F.Codd提出了关系模型。其代表产品为sysem R和Inges。
3、 第三代数据库将为更加丰富的数据模型和更强大的数据管理功能为特征,以提供传统数据库系统难以支持的新应用。它必须支持面向对象,具有开放性,能够在多个平台上使用。
管理技术的3个阶段
1 人工管理
2 文件管理
3 数据库系统
㈥ 数据库的概述和发展历史
数据模型是数据库系统的核心和基础。因此,对数据库技术发展阶段的划分应该以数据模型的发展演变作为主要依据和标志。总体说来,数据库技术从开始到现在一共经历了三个发展阶段:第一代是网状、层次数据库系统,第二代是关系数据库系统,第三代是以面向对象数据模型为主要特征的数据库系统。
第一代包括网状和层次数据库系统,是因为它们的数据模型虽然分别为层次和网状模型,但实质上层次模型只是网状模型的特例而已。这二者都是格式化数据模型,都是在60年代后期研究和开发的,不论是体系结构、数据库语言,还是数据的存储管理,都具有共同特征,所以它们应该划分为一代。
第二代数据库系统支持关系数据模型。关系模型不仅具有简单、清晰的优点,而且有关系代数作为语言模型,有关系数据理论作为理论基础。因此关系数据库具有形式基础好、数据独立性强、数据库语言非过程化等特点,这些特点是数据库技术发展到了第二代的显著标志。虽然关系数据模型描述了现实世界数据的结构和一些重要的相互联系,但是仍然不足以抓住和表达数据对象所具有的丰富而重要的语义,因而它属于语法模型。
第三代数据库系统的特征是数据模型更加丰富,数据管理功能更为强大,能够支持传统数据库难以支持的新的应用需求。
(一) 特点
数据库管理系统将具有一定结构的数据组成一个集合,它主要具有以下几个特点:
1. 数据的结构化 数据库中的数据并不是杂乱无章、毫不相干的,它们具有一定的组织结构,属于同一集合的数据具有相似的特征。
2. 数据的共享性 在一个单位的各个部门之间,存在着大量的重复信息。使用数据库的目的就是要统一管理这些信息,减少冗余度,使各个部门共同享有相同的数据。
3. 数据的独立性 数据的独立性是指数据记录和数据管理软件之间的独立。数据及其结构应具有独立性,而不应该去改变应用程序。
4. 数据的完整性 数据的完整性是指保证数据库中数据的正确性。可能造成数据不正确的原因很多,数据库管理系统通过对数据性质进行检查而管理它们。
5. 数据的灵活性 数据库管理系统不是把数据简单堆积,它在记录数据信息的基础上具有很多的管理功能,如输入、输出、查询、编辑修改等。
6. 数据的安全性 根据用户的职责,不同级别的人对数据库具有不同的权限,数据库管理系统应该确保数据的安全性。
(二) 功能
一个好的数据库管理系统应具有很多功能,其中最基本的有以下3种:
1. 数据定义 数据库管理系统提供定义数据类型和数据存储形式的功能。每个记录的每个字段中的信息为一个数据。因记录的信息不同,其数据类型也应不同。通过定义数据类型,可以在一定程度上保证数据的完整性。最简单的要求是,完整性规则应保证不能在定义为数字的字段中存放文本类型的数据。
2. 数据操作 数据库管理系统提供多种处理数据的方式。例如,在一张表中查找信息或者在几个相关的表或文件中进行复杂的查找;使用相应的命令更新一个字段或多个记录的内容;用一个命令对数据进行统计,甚至可以使用数据库管理系统工具进行编程,以实现更加复杂的功能。
3. 数据控制 数据库管理系统对数据提供一定的保护措施,从而保证在多个用户共享数据时,只有被授权的用户才能查看或修改数据。
㈦ 数据库技术的作用和发展历史
一、摇篮和萌芽阶段:首先使用"DataBase"一词的是美国系统发展公司在为美国海军基地在60年代研制数据中引用。
1963年,C·W·Bachman设计开发的IDS(Integrate Data Store)系统开始投入运行,它可以为多个COBOL程序共享数据库。
1968年,网状数据库系统TOTAL等开始出现;
1969年,IBM公司Mc Gee等人开发的层次式数据库系统的IMS系统发表,它可以让多个程序共享数据库。
1969年10月,CODASYL数据库研制者提出了网络模型数据库系统规范报告DBTG,使数据库系统开始走向规范化和标准化。正因为如此,许多专家认为数据库技术起源于20世纪60年代末。数据库技术的产生来源于社会的实际需要,而数据技术的实现必须有理论作为指导,系统的开发和应用又不断地促进数据库理论的发展和完善。
二、发展阶段:20世纪80年代大量商品化的关系数据库系统问世并被广泛的推广使用,既有适应大型计算机系统的,也有适用与中、小型和微型计算机系统的。这一时期分布式数据库系统也走向使用。
1970年,IBM公司San Jose研究所的E ·F ·Code发表了题为"大型共享数据库的数据关系模型"论文,开创了数据库的关系方法和关系规范化的理论研究。关系方法由于其理论上的完美和结构上的简单,对数据库技术的发展起了至关重要的作用,成功地奠定了关系数据理论的基石。
1971年,美国数据系统语言协会在正式发表的DBTG报告中,提出了三级抽象模式,即对应用程序所需的那部分数据结构描述的外模式,对整个客体系统数据结构描述的概念模式,对数据存储结构描述的内模式,解决了数据独立性的问题。
1974年,IBM公司San Jose研究所研制成功了关系数据库管理系统System R,并且投放到软件市场。
1976年,美籍华人陈平山提出了数据库逻辑设计的实际(体)联系方法。
1978年,新奥尔良发表了DBDWD报告,他把数据库系统的设计过程划分为四个阶段:需求分析、信息分析与定义、逻辑设计和物理设计。
1980年,J·D·Ulman所著的《数据库系统原理》一书正式出版。
1981年 E· F· Code获得了计算机科学的最高奖ACM图林奖。
1984年,David Marer所著的《关系数据库理论》一书,标志着数据库在理论上的成熟。
三、成熟阶段:80年代至今,数据库理论和应用进入成熟发展时期
㈧ 数据库的发展简史
使用计算机后,随着数据处理量的增长,产生了数据管理技术。数据管理技术的发展与计算机硬件(主要是外部存储器)系统软件及计算机应用的范围有着密切的联系。数据管理技术的发展经历了以下四个阶段:人工管理阶段、文件系统阶段、数据库阶段和高级数据库技术阶段。
数据管理的诞生
数据库的历史可以追溯到五十年前,那时的数据管理非常简单。通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。然而,1950 年雷明顿兰德公司(Remington Rand Inc)的一种叫做Univac I 的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命。1956 年IBM生产出第一个磁盘驱动器—— the Model 305 RAMAC。此驱动器有50 个盘片,每个盘片直径是2 英尺,可以储存5MB的数据。使用磁盘最大的好处是可以随机存取数据,而穿孔卡片和磁带只能顺序存取数据。
1951: Univac系统使用磁带和穿孔卡片作为数据存储。
数据库系统的萌芽出现于二十世纪60 年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要,能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。数据模型是数据库系统的核心和基础,各种DBMS软件都是基于某种数据模型的。所以通常也按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
最早出现的网状DBMS,是美国通用电气公司Bachman等人在1961年开发的IDS(Integrated Data Store)。1964年通用电气公司(General ElectricCo.)的Charles Bachman 成功地开发出世界上第一个网状DBMS也即第一个数据库管理系统——集成数据存储(Integrated Data Store IDS),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。IDS 具有数据模式和日志的特征,但它只能在GE主机上运行,并且数据库只有一个文件,数据库所有的表必须通过手工编码生成。之后,通用电气公司一个客户——BF Goodrich Chemical 公司最终不得不重写了整个系统,并将重写后的系统命名为集成数据管理系统(IDMS)。
网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状DBMS要比层次DBMS用得普遍。在数据库发展史上,网状数据库占有重要地位。
层次型DBMS是紧随网络型数据库而出现的,最著名最典型的层次数据库系统是IBM 公司在1968 年开发的IMS(Information Management System),一种适合其主机的层次数据库。这是IBM公司研制的最早的大型数据库系统程序产品。从60年代末产生起,如今已经发展到IMSV6,提供群集、N路数据共享、消息队列共享等先进特性的支持。这个具有30年历史的数据库产品在如今的WWW应用连接、商务智能应用中扮演着新的角色。
1973年Cullinane公司(也就是后来的Cullinet软件公司),开始出售Goodrich公司的IDMS改进版本,并且逐渐成为当时世界上最大的软件公司。 网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而后来出现的关系数据库较好地解决了这些问题。
1970年,IBM的研究员E.F.Codd博士在刊物《Communication of the ACM》上发表了一篇名为“A Relational Model of Data for Large Shared Data Banks”的论文,提出了关系模型的概念,奠定了关系模型的理论基础。尽管之前在1968年Childs已经提出了面向集合的模型,然而这篇论文被普遍认为是数据库系统历史上具有划时代意义的里程碑。Codd的心愿是为数据库建立一个优美的数据模型。后来Codd又陆续发表多篇文章,论述了范式理论和衡量关系系统的12条标准,用数学理论奠定了关系数据库的基础。关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。但是当时也有人认为关系模型是理想化的数据模型,用来实现DBMS是不现实的,尤其担心关系数据库的性能难以接受,更有人视其为当时正在进行中的网状数据库规范化工作的严重威胁。为了促进对问题的理解,1974年ACM牵头组织了一次研讨会,会上开展了一场分别以Codd和Bachman为首的支持和反对关系数据库两派之间的辩论。这次著名的辩论推动了关系数据库的发展,使其最终成为现代数据库产品的主流。
1969年Edgar F.“Ted” Codd发明了关系数据库。
1970年关系模型建立之后,IBM公司在San Jose实验室增加了更多的研究人员研究这个项目,这个项目就是著名的System R。其目标是论证一个全功能关系DBMS的可行性。该项目结束于1979年,完成了第一个实现SQL的 DBMS。然而IBM对IMS的承诺阻止了System R的投产,一直到1980年System R才作为一个产品正式推向市场。IBM产品化步伐缓慢的三个原因:IBM重视信誉,重视质量,尽量减少故障;IBM是个大公司,官僚体系庞大,IBM内部已经有层次数据库产品,相关人员不积极,甚至反对。
然而同时,1973年加州大学伯克利分校的Michael Stonebraker和Eugene Wong利用System R已发布的信息开始开发自己的关系数据库系统Ingres。他们开发的Ingres项目最后由Oracle公司、Ingres公司以及硅谷的其他厂商所商品化。后来,System R和Ingres系统双双获得ACM的1988年“软件系统奖”。
1976年霍尼韦尔公司(Honeywell)开发了第一个商用关系数据库系统——Multics Relational Data Store。关系型数据库系统以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善。其代表产品有Oracle、IBM公司的 DB2、微软公司的MS SQL Server以及Informix、ADABAS D等等。 1974年IBM的Ray Boyce和Don Chamberlin将Codd关系数据库的12条准则的数学定义以简单的关键字语法表现出来,里程碑式地提出了SQL(Structured Query Language)语言。SQL语言的功能包括查询、操纵、定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么做。SQL集成实现了数据库生命周期中的全部操作。SQL提供了与关系数据库进行交互的方法,它可以与标准的编程语言一起工作。自产生之日起,SQL语言便成了检验关系数据库的试金石,而SQL语言标准的每一次变更都指导着关系数据库产品的发展方向。然而,直到二十世纪七十年代中期,关系理论才通过SQL在商业数据库Oracle和DB2中使用。
1986年,ANSI把SQL作为关系数据库语言的美国标准,同年公布了标准SQL文本。SQL标准有3个版本。基本SQL定义是ANSⅨ3135-89,“Database Language - SQL with Integrity Enhancement”[ANS89],一般叫做SQL-89。SQL-89定义了模式定义、数据操作和事务处理。SQL- 89和随后的ANSⅨ3168-1989,“Database Language-Embedded SQL”构成了第一代SQL标准。ANSⅨ3135-1992[ANS92]描述了一种增强功能的SQL,叫做SQL-92标准。SQL-92包括模式操作,动态创建和SQL语句动态执行、网络环境支持等增强特性。在完成SQL-92标准后,ANSI和ISO即开始合作开发SQL3标准。SQL3的主要特点在于抽象数据类型的支持,为新一代对象关系数据库提供了标准。
1976年IBM E.F.Codd发表了一篇里程碑的论文“R系统:数据库关系理论”,介绍了关系数据库理论和查询语言SQL。Oracle的创始人Ellison非常仔细地阅读了这篇文章,被其内容震惊,这是第一次有人用全面一致的方案管理数据信息。作者E.F.Codd 1966年就发表了关系数据库理论,并在IBM研究机构开发原型,这个项目就是R系统,存取数据表的语言就是SQL。Ellison看完后,敏锐意识到在这个研究基础上可以开发商用软件系统。而当时大多数人认为关系数据库不会有商业价值。Ellison认为这是他们的机会:他们决定开发通用商用数据库系统Oracle,这个名字来源于他们曾给中央情报局做过的项目名。几个月后,他们就开发了Oracle 1.0。但这只不过是个玩具,除了完成简单关系查询不能做任何事情,他们花相当长的时间才使Oracle变得可用,维持公司运转主要靠承接一些数据库管理项目和做顾问咨询工作。而IBM却没有计划开发,为什么蓝色巨人放弃了这个价值上百亿的产品,原因有很多:IBM的研究人员大多是学术出身,他们最感兴趣的是理论,而非推向市场的产品,从学术上看,研究成果应公开发表论文和演讲能使他们成名,为什么不呢?还有一个很主要的原因就是IBM当时有一个销售得还不错的层次数据库产品IMS。直到1985年IBM才发布了关系数据库DB2 ,Ellision那时已经成了千万富翁。Ellison曾将IBM 选择Microsoft 的MS-DOS作为IBM-PC机的操作系统比为:“世界企业经营历史上最严重的错误,价值超过了上千亿美元。”IBM发表R系统论文,而且没有很快推出关系数据库产品的错误可能仅仅次之。Oracle的市值在1996年就达到了280亿美元。 随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。九十年代以后,技术界一直在研究和寻求新型数据库系统。但在什么是新型数据库系统的发展方向的问题上,产业界一度是相当困惑的。受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向对象的数据库系统(object oriented database)”或简称“OO数据库系统”。值得一提的是,美国Stonebraker教授提出的面向对象的关系型数据库理论曾一度受到产业界的青睐。而Stonebraker本人也在当时被Informix花大价钱聘为技术总负责人。
然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展的情况并不理想。理论上的完美性并没有带来市场的热烈反应。其不成功的主要原因在于,这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。另外,面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得无论是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。 二十世纪六十年代后期出现了一种新型数据库软件:决策支持系统(DSS),其目的是让管理者在决策过程中更有效地利用数据信息。于是在1970年,第一个联机分析处理工具——Express诞生了。其他决策支持系统紧随其后,许多是由公司的IT部门开发出来的。
1985年,第一个商务智能系统(business intelligence)由Metaphor计算机系统有限公司为Procter & Gamble公司开发出来,主要是用来连接销售信息和零售的扫描仪数据。同年, Pilot软件公司开始出售第一个商用客户/服务器执行信息系统——Command Center。同样在这年,加州大学伯克利分校Ingres项目演变成Postgres,其目标是开发出一个面向对象的数据库。此后一年, Graphael公司开发了第一个商用的对象数据库系统—Gbase。
1988年,IBM公司的研究者Barry Devlin和Paul Murphy发明了一个新的术语—信息仓库,之后,IT的厂商开始构建实验性的数据仓库。1991年,W.H. Bill Inmon出版了一本“如何构建数据仓库”的书,使得数据仓库真正开始应用。
1991: W.H.“Bill” Inmon发表了”构建数据仓库”
二十世纪九十年代,随着基于PC的客户/服务器计算模式和企业软件包的广泛采用,数据管理的变革基本完成。数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。Internet的异军突起以及XML语言的出现,给数据库系统的发展开辟了一片新的天地。
㈨ 数据库技术的发展过程经历了哪些阶段
可以参考 PingCAP 的 介绍, 同事了解下 国内分布式数据库排行榜一的 TiDB. 有更多问题,可以到 AskTUG 一起讨论,多谢。