当人们从不同的角度来描述这一概念时就有不同的定义(当然是描述性的)。例如,称数据库是一个“记录保存系统”(该定义强调了数据库是若干记录的集合)。又如称数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库是“一个数据仓库”。当然,这种说法虽然形象,但并不严谨。
定义
J.Martin给数据库下了一个比较完整的定义:数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。
定义2
数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。
定义3 (伯尔尼公约议定书专家委员会的观点)
所有的信息(数据事实等)的编纂物,不论其是以印刷形式,计算机存储单元形式,还是其它形式存在,都应视为“数据库”。
数字化内容选择的原因有很多,概括起来主要有:
(1)存储空间的原因。数字化的产品是通过网络被广大用户存取利用,而大家都知道数字化产品是存放在磁盘阵列上的,磁盘阵列由服务器来管理,磁盘空间是有限的,服务器的能力也是有限的,不可能无限量地存入数字资源,这就需要我们对文献资源数字化内容进行选择。
(2)解决数字化生产高成本和图书馆经费有限性之间矛盾的需要。几乎没有图书馆有充足的资源来对整个馆藏进行数字化,内容选择不可避免。
(3)数字资源管理的需要。技术的快速发展使数字化项目所生成的数字资源的生命周期越来越短,投入巨资进行数字迁移是延长数字资源生命的1个重要途径,昂贵的维护成本就必须考虑数字化的内容选择。
基本结构
数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。
(1)物理数据层。
它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。
(2)概念数据层。
它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。
(3)逻辑数据层。
它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。
数据库不同层次之间的联系是通过映射进行转换的。
主要特点
(1)实现数据共享。
数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
(2)减少数据的冗余度。
同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
(3)数据的独立性。
数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。
(4)数据实现集中控制。
文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
(5)数据一致性和可维护性,以确保数据的安全性和可靠性。
主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏
(6)故障恢复。
由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。
发展阶段
数据库发展阶段大致划分为如下几个阶段:
人工管理阶段;
文件系统阶段;
数据库系统阶段;
高级数据库阶段。
结构与种类
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。
1.数据结构模型
(1)数据结构
所谓数据结构是指数据的组织形式或数据之间的联系。如果用D表示数据,用R表示数据对象之间存在的关系集合,则将DS=(D,R)称为数据结构。例如,设有一个电话号码簿,它记录了n个人的名字和相应的电话号码。为了方便地查找某人的电话号码,将人名和号码按字典顺序排列,并在名字的后面跟随着对应的电话号码。这样,若要查找某人的电话号码(假定他的名字的第一个字母是Y),那么只须查找以Y开头的那些名字就可以了。该例中,数据的集合D就是人名和电话号码,它们之间的联系R就是按字典顺序的排列,其相应的数据结构就是DS=(D,R),即一个数组。
(2)数据结构种类
数据结构又分为数据的逻辑结构和数据的物理结构。数据的逻辑结构是从逻辑的角度(即数据间的联系和组织方式)来观察数据,分析数据,与数据的存储位置无关。数据的物理结构是指数据在计算机中存放的结构,即数据的逻辑结构在计算机中的实现形式,所以物理结构也被称为存储结构。这里只研究数据的逻辑结构,并将反映和实现数据联系的方法称为数据模型。
目前,比较流行的数据模型有三种,即按图论理论建立的层次结构模型和网状结构模型以及按关系理论建立的关系结构模型。
2.层次、网状和关系数据库系统
(1)层次结构模型
按照层次模型建立的数据库系统称为层次模型数据库系统。IMS(Information Manage-mentSystem)是其典型代表。
(2)网状结构模型
按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG(Data Base Task Group)。用数学方法可将网状数据结构转化为层次数据结构。
(3)关系结构模型
关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。例如某单位的职工关系就是一个二元关系。
由关系数据结构组成的数据库系统被称为关系数据库系统。
在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类、合并、连接或选取等运算来实现数据的管理。dBASEII就是这类数据库管理系统的典型代表。对于一个实际的应用问题(如人事管理问题),有时需要多个关系才能实现。用dBASEII建立起来的一个关系称为一个数据库(或称数据库文件),而把对应多个关系建立起来的多个数据库称为数据库系统。dBASEII的另一个重要功能是通过建立命令文件来实现对数据库的使用和管理,对于一个数据库系统相应的命令序列文件,称为该数据库的应用系统。因此,可以概括地说,一个关系称为一个数据库,若干个数据库可以构成一个数据库系统。数据库系统可以派生出各种不同类型的辅助文件和建立它的应用系统。
常用数据库
1. IBM 的DB2
作为关系数据库领域的开拓者和领航人,IBM在1977年完成了System R系统的原型,1980年开始提供集成的数据库服务器—— System/38,随后是SQL/DSforVSE和VM,其初始版本与SystemR研究原型密切相关。DB2 forMVSV1 在1983年推出。该版本的目标是提供这一新方案所承诺的简单性,数据不相关性和用户生产率。1988年DB2 for MVS 提供了强大的在线事务处理(OLTP)支持,1989 年和1993 年分别以远程工作单元和分布式工作单元实现了分布式数据库支持。最近推出的DB2 Universal Database 6.1则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。
2. Oracle
Oracle 前身叫SDL,由Larry Ellison 和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979 年,Oracle公司引入了第一个商用SQL 关系数据库管理系统。Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。
3. Informix
Informix在1980年成立,目的是为Unix等开放操作系统提供专业的关系型数据库产品。公司的名称Informix便是取自Information 和Unix的结合。Informix第一个真正支持SQL语言的关系数据库产品是Informix SE(StandardEngine)。InformixSE是在当时的微机Unix环境下主要的数据库产品。它也是第一个被移植到Linux上的商业数据库产品。
4. Sybase
Sybase公司成立于1984年,公司名称“Sybase”取自“system”和“database” 相结合的含义。Sybase公司的创始人之一Bob Epstein 是Ingres 大学版(与System/R同时期的关系数据库模型产品)的主要设计人员。公司的第一个关系数据库产品是1987年5月推出的Sybase SQLServer1.0。Sybase首先提出Client/Server 数据库体系结构的思想,并率先在Sybase SQLServer 中实现。
5. SQL Server
1987 年,微软和IBM合作开发完成OS/2,IBM 在其销售的OS/2 ExtendedEdition 系统中绑定了OS/2Database Manager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。1989年,微软发布了SQL Server 1.0 版。
6. PostgreSQL
PostgreSQL 是一种特性非常齐全的自由软件的对象——关系性数据库管理系统(ORDBMS),它的很多特性是当今许多商业数据库的前身。PostgreSQL最早开始于BSD的Ingres项目。PostgreSQL 的特性覆盖了SQL-2/SQL-92和SQL-3。首先,它包括了可以说是目前世界上最丰富的数据类型的支持;其次,目前PostgreSQL 是支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的一种自由软件的数据库管理系统.
7.mySQL
mySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是: www.mysql.com
8.Access数据库 美国Microsoft公司于1994年推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统。其主要特点如下:
(1)完善地管理各种数据库对象,具有强大的数据组织、用户管理、安全检查等功能。
(2)强大的数据处理功能,在一个工作组级别的网络环境中,使用Access开发的多用户数据库管理系统具有传统的XBASE(DBASE、FoxBASE的统称)数据库系统所无法实现的客户服务器(Cient/Server)结构和相应的数据库安全机制,Access具备了许多先进的大型数据库管理系统所具备的特征,如事务处理/出错回滚能力等。
(3)可以方便地生成各种数据对象,利用存储的数据建立窗体和报表,可视性好。
(4)作为Office套件的一部分,可以与Office集成,实现无缝连接。
(5)能够利用Web检索和发布数据,实现与Internet的连接。 Access主要适用于中小型应用系统,或作为客户机/服务器系统中的客户端数据库。
9.FoxPro数据库
最初由美国Fox公司1988年推出,1992年Fox公司被Microsoft公司收购后,相继推出了FoxPro2.5、2.6和VisualFoxPro等版本,其功能和性能有了较大的提高。 FoxPro2.5、2.6分为DOS和Windows两种版本,分别运行于DOS和Windows环境下。FoxPro比FoxBASE在功能和性能上又有了很大的改进,主要是引入了窗口、按纽、列表框和文本框等控件,进一步提高了系统的开发能力。
发展史
数据库技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引越来越多的研究者加入。数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。三十多年来,国内外已经开发建设了成千上万个数据库,它已成为企业、部门乃至个人日常工作、生产和生活的基础设施。同时,随着应用的扩展与深入,数据库的数量和规模越来越大,数据库的研究领域也已经大大地拓广和深化了。30年间数据库领域获得了三次计算机图灵(C.W. Bachman,E.F.Codd, J.Gray),更加充分地说明了数据库是一个充满活力和创新精神的领域。就让我们沿着历史的轨迹,追溯一下数据库的发展历程。
一、数据库发展简史
1. 数据管理的诞生
数据库的历史可以追溯到五十年前,那时的数据管理非常简单。通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。然而,1 9 5 1 年雷明顿兰德公司(Remington Rand Inc.)的一种叫做Univac I 的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命。1956 年IBM生产出第一个磁盘驱动器—— the Model 305 RAMAC。此驱动器有50 个盘片,每个盘片直径是2 英尺,可以储存5MB的数据。使用磁盘最大的好处是可以随机地存取数据,而穿孔卡片和磁带只能顺序存取数据。
1951: Univac系统使用磁带和穿孔卡片作为数据存储。
数据库系统的萌芽出现于60 年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要。能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。数据模型是数据库系统的核心和基础,各种DBMS 软件都是基于某种数据模型的。所以通常也按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
最早出现的是网状 DBMS,是美国通用电气公司Bachman等人在1961年开发成功的IDS(Integrated DataStore)。1961年通用电气公司(General ElectricCo.)的Charles Bachman 成功地开发出世界上第一个网状DBMS也是第一个数据库管理系统—— 集成数据存储(Integrated DataStore IDS),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。IDS 具有数据模式和日志的特征。但它只能在GE主机上运行,并且数据库只有一个文件,数据库所有的表必须通过手工编码来生成。之后,通用电气公司一个客户——BF Goodrich Chemical 公司最终不得不重写了整个系统。并将重写后的系统命名为集成数据管理系统(IDMS)。
网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状DBMS要比层次DBMS用得普遍。在数据库发展史上,网状数据库占有重要地位。
层次型DBMS是紧随网络型数据库而出现的。最著名最典型的层次数据库系统是IBM 公司在1968 年开发的IMS
(Information Management System),一种适合其主机的层次数据库。这是IBM公司研制的最早的大型数据库系统程序产品。从60 年代末产生起,如今已经发展到IMSV6,提供群集、N路数据共享、消息队列共享等先进特性的支持。这个具有3 0 年历史的数据库产品在如今的WWW应用连接、商务智能应用中扮演着新的角色。
1973 年Cullinane 公司(也就是后来的Cullinet软件公司),开始出售Goodrich 公司的IDMS 改进版本,并且逐渐成为当时世界上最大的软件公司。
2. 关系数据库的由来
网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而后来出现的关系数据库较好地解决了这些问题。
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、ADABASD等等。
3. 结构化查询语言 (SQL)
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定义是ANSIX3135-89,“Database Language - SQL with Integrity Enhancement”[ANS89],一般叫做SQL-89。SQL-89定义了模式定义、数据操作和事务处理。
SQL- 89和随后的ANSIX3168-1989,“Database Language-Embedded SQL”构成了第一代SQL标准。ANSIX3135-1992[ANS92]描述了一种增强功能的SQL,现在叫做SQL-92标准。SQL-92包括模式操作,动态创建和SQL语句动态执行、网络环境支持等增强特性。在完成SQL-92标准后,ANSI和ISO即开始合作开发SQL3标准。SQL3的主要特点在于抽象数据类型的支持,为新一代对象关系数据库提供了标准。
1969:Edgar F. Codd发明了关系数据库
1976 年IBM E.F.Codd发表了一篇里程碑的论文“R系统:数据库关系理论”,介绍了关系数据库理论和查询语言SQL。Oracle的创始人Ellison非常仔细地阅读了这篇文章,被其内容震惊,这是第一次有人用全面一致的方案管理数据信息。作者E.F.Codd十年前就发表了关系数据库理论,并在IBM 研究机构开发原型,这个项目就是R系统,存取数据表的语言就是SQL。Ellison看完后,敏锐意识到在这个研究基础上可以开发商用软件系统。而当时大多数人认为关系数据库不会有商业价值。Ellison认为这是他们的机会:他们决定开发通用商用数据库系统Oracle,这个名字来源于他们曾给中央情报局做过的项目名。几个月后,他们就开发了Oracle 1.0 。但这只不过是个玩具,除了完成简单关系查询不能做任何事情,他们花相当长的时间才使Oracle变得可用,维持公司运转主要靠承接一些数据库管理项目和做顾问咨询工作。而IBM却没有计划开发,为什么蓝色巨人放弃了这个价值上百亿的产品,原因有很多:IBM的研究人员大多是学术出身,他们最感兴趣的是理论,而非推向市场的产品,从学术上看,研究成果应公开,发表论文和演讲能使他们成名,为什么不呢?还有一个很主要的原因就是IBM 当时有一个销售得还不错的层次数据库产品IMS。直到1985年I B M 才发布了关系数据库D B 2 ,Ellision那时已经成了千万富翁。Ellison曾将IBM 选择Microsoft 的MS-DOS作为IBM-PC机的操作系统比为:“世界企业经营历史上最严重的错误,价值超过了上千亿美元。”IBM 发表R系统论文,而且没有很快推出关系数据库产品的错误可能仅仅次之。Oracle 的市值在1996年就达到了280亿美元。
目前SQL标准有3个版本。基本SQL定义是ANSIX3135-89,“DatabaseLan guage —— SQL with IntegrityEnhancement”[ANS89],一般叫做SQL-89。SQL-89 定义了模式定义、数据操作和事务处理。S Q L - 8 9 和随后的ANSIX3168-1989,“Database Language——Embedded SQL”构成了第一代SQL标准。ANSIX3135-1992[ANS92]描述了一种增强功能的SQL,现在叫做SQL-92标准。SQL-92 包括模式操作,动态创建和SQL语句动态执行、网络环境支持等增强特性。在完成SQL-92标准后,ANSI和ISO即开始合作开发SQL3标准。 SQL3的主要特点在于抽象数据类型的支持,为新一代对象关系数据库提供了标准。
4. 面向对象数据库
随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。九十年代以后,技术界一直在研究和寻求新型数据库系统。但在什么是新型数据库系统的发展方向的问题上,产业界一度是相当困惑的。受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向对象的数据库系统(object oriented database)”或简称“OO数据库系统”。值得一提的是,美国Stonebraker教授提出的面向对象的关系型数据库理论曾一度受到产业界的关注。而Stonebraker本人也在当时被Informix花大价钱聘为技术总负责人。
然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展的情况并不理想。理论上的完美性并没有带来市场的热烈反应。其不成功的主要原因在于,这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。另外,面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得无论是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。
5. 数据管理的变革
二十世纪六十年代后期出现了一种新型数据库软件:决定支持系统(DSS),其目的是让管理者在决策过程中更有效地利用数据信息。于是在1970年, 第一个联机分析处理工具——Express诞生了。其他决策支持系统紧随其后,许多是由公司的IT部门开发出来的。
1985年,第一个商务智能系统(business intelligence)由Metaphor计算机系统有限公司为Procter & Gamble公司开发出来,主要是用来连接销售信息和零售的扫描仪数据。同年,Pilot软件公司开始出售第一个商用客户/服务器执行信息系统——Command Center。同样在这年,加州大学伯克利分校Ingres项目演变成Postgres,其目标是开发出一个面向对象的数据库。此后一年, Graphael公司开发了第一个商用的对象数据库系统—Gbase。
1991: W.H.“Bill” Inmon发表了”构建数据仓库”
二十世纪九十年代,随着基于PC的客户/服务器计算模式和企业软件包的广泛采用,数据管理的变革基本完成。数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。Internet的异军突起以及XML语言的出现,给数据库系统的发展开辟了一片新的天地。
未来趋势
随着信息管理内容的不断扩展,出现了丰富多样的数据模型(层次模型,网状模型,关系模型,面向对象模型,半结构化模型等),新技术也层出不穷(数据流,Web数据管理,数据挖掘等)。目前每隔几年,国际上一些资深的数据库专家就会聚集一堂,探讨数据库研究现状,存在的问题和未来需要关注的新技术焦点。过去已有的几个类似报告包括:1989 年Future Directions inDBMS Research-The Laguna BeachParticipants ,1990 年DatabaseSystems : Achievements and Opportunities ,1995 年的Database 1991:W.H. Inmon 发表了《构建数据仓库》
大事记
1951:Univac系统使用磁带和穿孔卡片作为数据存储。
1956:IBM公司在其Model 305 RAMAC中第一次引入了磁盘驱动器
1961:通用电气(GE)公司的Charles Bachman开发了第一个数据库管理系统——IDS
1969:E.F. Codd发明了关系数据库。
1973: 由John J.Cullinane领导Cullinane公司开发了 IDMS——一个针对IBM主机的基于网络模型的数据库。
1976: Honeywell公司推出了Multics Relational Data Store——第一个商用关系数据库产品。
1979: Oracle公司引入了第一个商用SQL关系数据库管理系统。
1983: IBM 推出了DB2数据库产品。
1985: 为Procter & Gamble系统设计的第一个商务智能系统产生。
1991: W.H.“Bill” Inmon发表了”构建数据仓库”。
检查病毒
1:使用恶意软件扫描器
有的数据库服务器因为怕性能下降或者系统崩溃而不采取,或者采取有限的恶意软件防范措施。很如果没有安装反病毒软件,就尽快安装一个杀毒软件。如果需要实时保护的资源太多了,那么就要将数据库和其它高活动性的目录排除在实时扫描的外面吧。否则,最低限度,也要安装反病毒软件,然后每隔几天,找个非高峰的时间来扫描本地磁盘。
如果已经运行了反病毒软件,那么确保它是最新的(那些基于客户端的自动更新和网络管理签名并不是百分百的可靠),并且执行一次全面的系统扫描。
2: 查看内存
可以使用Windows任务管理器来搜索那些看起来就属于恶意软件,或者使用了太多内存或者占用了大量CPU时间的应用程序。建议使用Sysinternals公司的Process Explorer(下面高亮显示的NetBus Trojan),因为它提供了运行进程的较多信息,并且以更可靠的方式来杀掉那些不应该的进程。
在网络中的所有系统中,确实需要彻底地了解数据库——其中包括记录哪些进程应该运行,哪些不应该。所以,如果在第一次安装之后拥有了良好的基线——甚至是现在,假设所有事物都运行得很好——当发生特洛伊类型的问题的时候,就可以用它作为比较的基础。
3: 查看开放的端口
可以使用Windows内置的netstat工具来查看哪些端口开放的,并且连接到服务器上。在命令行中,输入netstat –an more,可以一页挨着一页地查看开放的和监听的TCP和UDP端口。还有一种更好的方法就是使用Foundstone的 Vision工具或者Sysinternals公司的TCPView工具来完成。
4: 查看网络流量
也许判断SQL Server中是否发生了恶意行为的最简单办法就是看看它是否进行了网络通信。如果有一个非常顺手的网络分析器,那么就可以在1、2分钟之内发现情况。可以使用SQL Server自身携带的分析器,或者从别处连接到以太网交换器的交换或者镜像端口上。
EtherPeek可以轻松抓取网络流量,并且高亮显示特洛伊的动作——在本次网络流量抓取过程中可以真正地创建网络分析触发器和过滤器,如果知道要寻找什么的话。这里的列表列出了常见的特洛伊和相关端口的细腻向。这种发现恶意流量的方法并不是十分安全,因为端口号是可以经常更换的,但是它的服务器是个不错的目标。
可以在“监控”模式下运行Ether Peek,让它对网络上发生的事情有个从上到下的整体视角,——而不需要抓取包。可以查看正在使用哪个协议,寻找巨大的流量,奇怪的通信,以及其它网络进出SQL Server系统的倾向。
5:对付恶意软件的方法
特洛伊木马是计算机上的一个令人厌恶的创造——它创建远程访问隧道,截获按键,删除数据等更多事情——特别是在最重要的服务器上。很明显,最好的办法就是不用SQL Server进行Internet访问,Web浏览,电子邮件等行为。——但是,这不现实。(或者其他人)可能会需要它最终不仅仅作为一个数据库服务器。一旦这样的事情出现了,就需要确保是被保护的。不要把责任推卸给其他人,或者其他任何东西,特洛伊不是运行在他们的系统上。不论以何种方式,永远不要假设反病毒软件可以保证万无一失。
分析并解决恶意软件的方法:如果想要攻击,或者安装一个可以在网络上给帮助的欺诈软件,那么没有什么地方比直接在SQL Server上更好了。服务器上可能还没有特洛伊,但是如果感觉到有问题,那么凶手就可以很容易发现。
重要人物
埃德加·考特(EdgarF.Codd)
计算机界公认的关系数据库之父。1970年他提出了关系模型的理论,1970年以后,E.F.Codd继续完善和发展关系理论;之后创办了一个研究所The RelationalInstitute和一个公司Codd & Associations;1990 年出版了专著The Relational Modelfor Database Management:Version 2
。E.F.Codd 以其对关系数据库的贡献获得了1983 年ACM图灵奖。
C.J.戴特(C.J.Date)
C.J.Date 是最早认识到Codd 在关系模型方面所做的开创性贡献的学者之一,他是关系数据库技术领域中非常著名的独立撰稿人、学者和顾问,他使得关系模型的概念普及化。他参与了IBM公司的SQL/DS和DB2两大产品的技术规划和设计。30多年来,Date 一直活跃在数据库领域中,其著作有《数据库系统导论》,《对象关系数据库基础:第三次宣言》(1998)等。
吉姆·格雷(Jim Gray)
Jim Gray使关系模型的技术实用化,他为RDBMS成熟并顺利进入市场起到了关键性的作用。他在事务处理方面取得了贡献,他也成为图灵奖诞生32 年来第三位在数据库技术的发展中作出重大贡献而获此殊荣的学者。曾参与主持过IMS、System R、SQL/DS、DB2等项目的开发。他的研究成果反映在他发表的一系列论文和研究报告之中,最后结晶为一部厚厚的专著:Transaction Processing: Concepts andTechniques。
Michael Stonebraker
Michael Stonebraker是Ingres的创始人。他是加州大学伯克利分校的教授,著名的数据库学者,他在1992 年提出对象关系数据库模型。S t o n e b r a k e r 教授领导了称为Postgres 的后Ingres 项目。这个项目的成果是非常巨大的,在现代数据库的许多方面都做出的大量的贡献。Stonebraker 教授还做出了一件造福全人类的事情,那就是把Postgres 放在了BSD 版权的保护下。
Jeffrey D. Ullman
Jeffrey D. Ullman 是国际知名的数据库专家。现为斯坦福大学的Stanford W. Ascherman计算机科学教授。1996 年获得Sigmod 贡献奖和1998年Karl V. Karstrom 杰出教育家奖获得者。出版了多本数据库专著。
研究机构
ACM SIGMOD
国际计算机学会数据管理专业委员会(ACM SIGMOD)是国际数据库领域最高级别的国际会议。其主要致力于数据库以及信息技术的研究,开发和应用。SIGMOD 每年召开一次,SIGMODRecord 是其发行的数据库期刊。
VLDB
国际超大型数据库会议(Int ernationalConference on Very Large Data Bases,VLDB)是一个专门从事超大规模数据库管理理论、方法和应用研究的专业性学术机构,它涉及的内容也很丰富,包括研究及应用的诸多方面,基本上能够较全面地反映当前数据库研究的前沿方向、工业界的最新技术以及各国的研发水平。1975年,以美籍华裔科学家肖开美教授(DaveHsiao)为首的一批数据库学者发起组织了第一届VLDB会议。此后每年召开一次,已成为是数据库领域中最主要、规模最大的国际学术会议。
ICDE
数据工程国际学术会议(ICDE)是由IEEE计算机数据工程技术学会(TCDE)主办的数据库领域的最高级别的国际性会议之一。会议产生出版季刊数据工程通报(英文Data Engineering Bulletin)。TCDE致力于研究数据在信息系统的设计、实现与管理中的作用,面向的主要问题包括数据库设计、数据处理、数据库存储与操纵语言、数据采集的策略与机制、数据库的安全性与完整性控制、数据库的工程应用以及分布式系统。
CCF DBS
中国计算机学会数据库专业委员会(CHINA COMPUTER FEDERATION DATABASE SOCIETY,简称CCFDBS)是中国计算机学会领导下的数据库学术组织,于1999 年8 月24日在兰州大学召开的第十六届全国数据库学术会议上正式成立。由数据库专业委员会主办的全国数据库学术会议(NDBC)始于1977 年,至今已举办20 届。
数据库软件
比较常见的有三种数据库:
ACCESS, SQL Server 和 Oracle 其中ACCESS 是美国Microsoft公司于1994年推出的微机数据库管理系统.它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统. 其主要特点如下: 完善地管理各种数据库对象,具有强大的数据组织、用户管理。
ACCESS 的功能相对不是那么强大,主要是开发单机版软件中经常用到,SQL Server 是目前应用比较广泛和普遍的一款数据库,是数据库发展的一个里程碑。 Oracle的功能是比较强大的,一般用于超大型管理系统软件的建立,现在的应用范围也已经比较广泛。
事件
香港特区金管局今日宣布,就香港的场外衍生工具交易设立本地交易数据储存库。
香港的储存库订于2012年启用,并会以金管局运作的债务工具中央结算系统下的一项新服务的形式推出。储存库将会与香港交易所推出的场外衍生工具结算所建立联网,可让合资格交易经由结算所进行中央结算。金管局会与政府及证券及期货事务监察委员会合作制定场外衍生工具市场的监管制度,其中会涵盖向储存库汇报场外衍生工具交易(尤其涉及香港市场的交易),以及由认可结算所结算标准化场外衍生工具交易的规定。
初期汇报及结算规定会适用于利率掉期合约及不交收远期外汇合约。金管局会在储存库及结算所启用后,参考本地及海外市场的发展形势,包括国际监管机构的任何进一步指引,再考虑将有关规定的适用范围扩大至其它合适的场外衍生工具资产类别。政府会就有关监管规定咨询业界。
金管局发言人表示,金管局支持香港交易所就场外衍生工具设立结算所,并认为香港有必要设立本地储存库,而现在正是适当时机。本地储存库及结算所对巩固香港的场外衍生工具市场的稳健性及提升透明度具有关键作用,使香港的金融市场基建与国际标准看齐。
元数据储存