目录 计算机存储器中合理组织的,可供计算机使用的相关数据的集合。这些数据很少重复,数据的存储独立于使用它的程序,可为多个用户所共享。 存放在电子计算机存储器中,按照一定格式编成的相互关联的各种数据的集合,供用户迅速有效地进行数据处理。 ★数据库 发展阶段大致划分为如下几个阶段:
人工管理阶段;
文件系统阶段;
数据库 系统阶段;
高级数据库 阶段。
当人们从不同的角度来描述这一概念时就有不同的定义(当然是描述性的)。例如,称数据库 是一个“记录保存系统”(该定义强调了数据库 是若干记录的集合)。又如称数据库 是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库 是“一个数据仓库”。当然,这种说法虽然形象,但并不严谨。
严格地说,数据库 是“按照数据结构来组织、存储和管理数据的仓库”。在经济管理的日常工作中,常常需要把某些相关的数据放进这样“仓库”,并根据管理的需要进行相应的处理。例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库 。有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库 ",使其可以利用计算机实现财务、仓库、生产的自动化管理。
j.martin给数据库 下了一个比较完整的定义:数据库 是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库 插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库 时,则该系统包含一个“数据库 集合”。
· 数据库 的优点
使用数据库 可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充分共享等等。此外,数据库 技术还为用户提供了非常简便的使用手段使用户易于编写有关数据库 应用程序。特别是近年来推出的微型计算机关系数据库 管理系统dbasell,操作直观,使用灵活,编程方便,环境适应广泛(一般的十六位机,如ibm/pc/xt,国产长城0520等均可运行种软件),数据处理能力极强。数据库 在我国正得到愈来愈广泛的应用,必将成为经济管理的有力工具。
数据库 是通过数据库 管理系统(dbms-data base management system)软件来实现数据的存储、管理与使用的dbasell就是一种数据库 管理系统软件。
· 数据库 结构与数据库 种类
数据库 通常分为层次式数据库 、网络式数据库 和关系式数据库 三种。而不同的数据库 是按不同的数据结构来联系和组织的。
1.数据结构模型
(1)数据结构
所谓数据结构是指数据的组织形式或数据之间的联系。如果用d表示数据,用r表示数据对象之间存在的关系集合,则将ds=(d,r)称为数据结构。例如,设有一个电话号码簿,它记录了n个人的名字和相应的电话号码。为了方便地查找某人的电话号码,将人名和号码按字典顺序排列,并在名字的后面跟随着对应的电话号码。这样,若要查找某人的电话号码(假定他的名字的第一个字母是y),那么只须查找以y开头的那些名字就可以了。该例中,数据的集合d就是人名和电话号码,它们之间的联系r就是按字典顺序的排列,其相应的数据结构就是ds=(d,r),即一个数组。(2)数据结构种类
数据结构又分为数据的逻辑结构和数据的物理结构。数据的逻辑结构是从逻辑的角度(即数据间的联系和组织方式)来观察数据,分析数据,与数据的存储位置无关。数据的物理结构是指数据在计算机中存放的结构,即数据的逻辑结构在计算机中的实现形式,所以物理结构也被称为存储结构。本节只研究数据的逻辑结构,并将反映和实现数据联系的方法称为数据模型。
目前,比较流行的数据模型有三种,即按图论理论建立的层次结构模型和网状结构模型以及按关系理论建立的关系结构模型。
2.层次、网状和关系数据库 系统
(1)层次结构模型
层次结构模型实质上是一种有根结点的定向有序树(在数学中"树"被定义为一个无回的连通图)。例如图20.6.4是一个高等学校的组织结构图。这个组织结构图像一棵树,校部就是树根(称为根结点),各系、专业、教师、学生等为枝点(称为结点),树根与枝点之间的联系称为边,树根与边之比为1:n,即树根只有一个,树枝有n个。这种数据结构模型的一般结构见图20.6.5所示。
图20.6.4 高等学校的组织结构图 图20.6.5 层次结构模型
图20.6.5中,ri(i=1,2,…6)代表记录(即数据的集合),其中r1就是根结点(如果ri看成是一个家族,则r1就是祖先,它是r2、r3、r4的双亲,而r2、r3、r4互为兄弟),r5、r6也是兄弟,且其双亲为r3。r2、r4、r5、r6又被称为叶结点(即无子女的结点)。这样,ri(i=1,2,…6)就组成了以r1为树根的一棵树,这就是一个层次数据结构模型。
按照层次模型建立的数据库 系统称为层次模型数据库 系统。ims(information manage-mentsystem)是其典型代表。
(2)网状结构模型
在图20.6.6中,给出了某医院医生、病房和病人之间的联系。即每个医生负责治疗三个病人,每个病房可住一到四个病人。如果将医生看成是一个数据集合,病人和病房分别是另外两个数据集合,那么医生、病人和病房的比例关系就是m:n:p(即m个医生,n个病人,p间病房)。这种数据结构就是网状数据结构,它的一般结构模型如图20.6.7所示。在图中,记录ri(i=1,2,8)满足以下条件:
①可以有一个以上的结点无双亲(如r1、r2、r3)。
②至少有一个结点有多于一个以上的双亲。在"医生、病人、病房"例中,"医生集合有若干个结点(m个医生结点)无"双亲",而"病房"集合有p个结点(即病房),并有一个以上的"双亲"(即病人)。
图20.6.6 医生、病房和病人之间的关系
图20.6.7 网状结构模型
按照网状数据结构建立的数据库 系统称为网状数据库 系统,其典型代表是dbtg(data base task group)。用数学方法可将网状数据结构转化为层次数据结构。
(3)关系结构模型
关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。例如某单位的职工关系就是一个二元关系(见表20.6.8)。这个四行六列的表格的每一列称为一个字段(即属性),字段名相当于标题栏中的标题(属性名称);表的每一行是包含了六个属性(工号、姓名、年龄、性别、职务、工资)的一个六元组,即一个人的记录。这个表格清晰地反映出该单位职工的基本情况。
表20.6.8 职工基本情况
通常一个m行、n列的二维表格的结构如表20.6.9所示。
表中每一行表示一个记录值,每一列表示一个属性(即字段或数据项)。该表一共有m个记录。每个记录包含n个属性。
作为一个关系的二维表,必须满足以下条件:
(1)表中每一列必须是基本数据项(即不可再分解)。(2)表中每一列必须具有相同的数据类型(例如字符型或数值型)。(3)表中每一列的名字必须是唯一的。(4)表中不应有内容完全相同的行。(5)行的顺序与列的顺序不影响表格中所表示的信息的含义。
由关系数据结构组成的数据库 系统被称为关系数据库 系统。
在关系数据库 中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类、合并、连接或选取等运算来实现数据的管理。dbaseii就是这类数据库 管理系统的典型代表。对于一个实际的应用问题(如人事管理问题),有时需要多个关系才能实现。用dbaseii建立起来的一个关系称为一个数据库 (或称数据库 文件),而把对应多个关系建立起来的多个数据库 称为数据库 系统。dbaseii的另一个重要功能是通过建立命令文件来实现对数据库 的使用和管理,对于一个数据库 系统相应的命令序列文件,称为该数据库 的应用系统。因此,可以概括地说,一个关系称为一个数据库 ,若干个数据库 可以构成一个数据库 系统。数据库 系统可以派生出各种不同类型的辅助文件和建立它的应用系统。
· 数据库 的要求与特性
为了使各种类型的数据库 系统能够充分发挥它们的优越性,必须对数据库 管理系统的使用提出一些明确的要求。
1.建立数据库 文件的要求
(1)尽量减少数据的重复,使数据具有最小的冗余度。计算机早期应用中的文件管理系统,由于数据文件是用户各自建立的,几个用户即使有许多相同的数据也得放在各自的文件中,因而造成存储的数据大量重复,浪费存储空间。数据库 技术正是为了克服这一缺点而出现的,所以在组织数据的存储时应避免出现冗余。
(2)提高数据的利用率,使众多用户都能共享数据资源。
(3)注意保持数据的完整性。这对某些需要历史数据来进行预测、决策的部门(如统计局、银行等)特别重要。
(4)注意同一数据描述方法的一致性,使数据操作不致发生混乱。如一个人的学历在人事档案中是大学毕业,而在科技档案中却是大学程度,这样就容易造成混乱。
(5)对于某些需要保密的数据,必须增设保密措施。
(6)数据的查找率高,根据需要数据应能被及时维护。
2.数据库 文件的特征
无论使用哪一种数据库 管理系统,由它们所建立的数据库 文件都可以看成是具有相同性质的记录的集合,因而这些数据库 文件都有相同的特性:
(1)文件的记录格式相同,长度相等。
(2)不同的行是不同的记录,因而具有不同的内容。
(3)不同的列表示不同的字段名,同一列中的数据的性质(属性)相同。
(4)每一行各列的内容是不能分割的,但行的顺序和列的顺序不影响文件内容的表达。
3.文件的分类
对文件引用最多的是主文件和事物文件。其他的文件分类还包括表文件、备份文件、档案的输出文件等。下面将讲述这些文件。
(1)主文件。主文件是某特定应用领域的永久性的数据资源。主文件包含那些被定期存取以提供信息和经常更新以反映最新状态的记录。典型的主文件有库存文件、职工主文件和收帐主文件等。
(2)事务文件。事务文件包含着作为一个信息系统的数据活动(事务)的那些记录。这些事务被分批以构成事务文件。例如,从每周工资卡上录制下来的数分批存放在一个事务文件上,然后对照工资清单文件进行处理以便打印出工资支票和工资记录簿。
(3)表文件。表文件是一些表格。之所以单独建立表文件而不把表设计在程序中是为了便于修改。例如,一个公用事业公司的税率表或国内税务局的税率就可以存储在表中文件。
(4)备用文件。备用文件是现有生产性文件的一个复制品。一旦生产性文件受到破坏,利用备用文件就可以重新建立生产性文件。
(5)档案文件。档案文件不是提供当前处理使用的,而是保存起来作为历史参照的。例如,国内税务局(irs)可能要求检查某个人最近15年的历史。实际上,档案文件恰恰是在给定时间内工作的一个"快照"。
(6)输出文件。输出文件包含将要打印在打印机上的、显在屏幕上的或者绘制在绘图仪上的那些信息的数值映象。输出文件可以是"假脱机的"(存储在辅存设备上),当输出设备可用时才进行实际的输出。 定义1
当人们从不同的角度来描述这一概念时就有不同的定义(当然是描述性的)。例如,称数据库 是一个“记录保存系统”(该定义强调了数据库 是若干记录的集合)。又如称数据库 是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库 是“一个数据仓库”。当然,这种说法虽然形象,但并不严谨。
严格地说,数据库 是“按照数据结构来组织、存储和管理数据的仓库”。在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库 。有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库 ",使其可以利用计算机实现财务、仓库、生产的自动化管理。
J.Martin给数据库 下了一个比较完整的定义:数据库 是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库 插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库 时,则该系统包含一个“数据库 集合”。
定义2
数据库 是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库 是数据管理的高级阶段,它是由文件管理系统发展起来的。
定义3 (伯尔尼公约议定书专家委员会的观点)
所有的信息(数据率档?的编纂物,不论其是以印刷形式,计算机存储单元形式,还是其它形式存在,都应视为“数据库 ”。
数字化内容选择的原因有很多,概括起来主要有:
(1)存储空间的原因。数字化的产品是通过网络被广大用户存取利用,而大家都知道数字化产品是存放在磁盘阵列上的,磁盘阵列由服务器来管理,磁盘空间是有限的,服务器的能力也是有限的,不可能无限量地存入数字资源,这就需要我们对文献资源数字化内容进行选择。
(2)解决数字化生产高成本和图书馆经费有限性之间矛盾的需要。几乎没有图书馆有充足的资源来对整个馆藏进行数字化,内容选择不可避免。
(3)数字资源管理的需要。技术的快速发展使数字化项目所生成的数字资源的生命周期越来越短,投入巨资进行数字迁移是延长数字资源生命的1个重要途径,昂贵的维护成本就必须考虑数字化的内容选择。
数据库 发展史数据库 技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引越来越多的研究者加入。数据库 的诞生和发展给计算机信息管理带来了一场巨大的革命。三十多年来,国内外已经开发建设了成千上万个数据库 ,它已成为企业、部门乃至个人日常工作、生产和生活的基础设施。同时,随着应用的扩展与深入,数据库 的数量和规模越来越大,数据库 的研究领域也已经大大地拓广和深化了。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的主要特点在于抽象数据类型的支持,为新一代对象关系数据库 提供了标准。
4、数据库 巨人的诞生——甲骨文公司(Oracle)
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亿美元。
5. 面向对象数据库
随着信息技术和市场的发展,人们发现关系型数据库 系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。九十年代以后,技术界一直在研究和寻求新型数据库 系统。但在什么是新型数据库 系统的发展方向的问题上,产业界一度是相当困惑的。受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向对象的数据库 系统(object oriented database)”或简称“OO数据库 系统”。值得一提的是,美国Stonebraker教授提出的面向对象的关系型数据库 理论曾一度受到产业界的青睐。而Stonebraker本人也在当时被Informix花大价钱聘为技术总负责人。
然而,数年的发展表明,面向对象的关系型数据库 系统产品的市场发展的情况并不理想。理论上的完美性并没有带来市场的热烈反应。其不成功的主要原因在于,这种数据库 产品的主要设计思想是企图用新型数据库 系统来取代现有的数据库 系统。这对许多已经运用数据库 系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。另外,面向对象的关系型数据库 系统使查询语言变得极其复杂,从而使得无论是数据库 的开发商家还是应用客户都视其复杂的应用技术为畏途。
6. 数据管理的变革
二十世纪六十年代后期出现了一种新型数据库 软件:决定支持系统(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语言的出现,给数据库 系统的发展开辟了一片新的天地。 数据库 发展阶段大致划分为如下几个阶段:
人工管理阶段;
文件系统阶段;
数据库 系统阶段;
高级数据库 阶段。
1,人工管理阶段:
50年代中期之前,计算机的软硬件均不完善。硬件存储设备只有磁带、卡片和纸带,软件方面还没有操作系统,当时的计算机主要用于科学计算。这个阶段由于还没有软件系统对数据进行管理,程序员在程序中不仅要规定数据的逻辑结构,还要设计其物理结构,包括存储结构、存取方法、输入输出方式等。当数据的物理组织或存储设备改变时,用户程序就必须重新编制。由于数据的组织面向应用,不同的计算程序之间不能共享数据,使得不同的应用之间存在大量的重复数据,很难维护应用程序之间数据的一致性。
这一阶段的主要特征可归纳为如下几点:
* 计算机中没有支持数据管理的软件。
* 数据组织面向应用,数据不能共享,数据重复。
* 在程序中要规定数据的逻辑结构和物理结构,数据与程序不独立。
* 数据处理方式——批处理。
2,文件系统阶段:
这一阶段的主要标志是计算机中有了专门管理数据库 的软件——操作系统(文件管理)。
上世纪50年代中期到60年代中期,由于计算机大容量存储设备(如硬盘)的出现,推动了软件技术的发展,而操作系统的出现标志着数据管理步入一个新的阶段。在文件系统阶段,数据以文件为单位存储在外存,且由操作系统统一管理。操作系统为用户使用文件提供了友好界面。文件的逻辑结构与物理结构脱钩,程序和数据分离,使数据与程序有了一定的独立性。用户的程序与数据可分别存放在外存储器上,各个应用程序可以共享一组数据,实现了以文件为单位的数据共享。
但由于数据的组织仍然是面向程序,所以存在大量的数据冗余。而且数据的逻辑结构不能方便地修改和扩充,数据逻辑结构的每一点微小改变都会影响到应用程序。由于文件之间互相独立,因而它们不能反映现实世界中事物之间的联系,操作系统不负责维护文件之间的联系信息。如果文件之间有内容上的联系,那也只能由应用程序去处理。
3,数据库 系统阶段:
60年代后,随着计算机在数据管理领域的普遍应用,人们对数据管理技术提出了更高的要求:希望面向企业或部门,以数据为中心组织数据,减少数据的冗余,提供更高的数据共享能力,同时要求程序和数据具有较高的独立性,当数据的逻辑结构改变时,不涉及数据的物理结构,也不影响应用程序,以降低应用程序研制与维护的费用。数据库 技术正是在这样一个应用需求的基础上发展起来的。
数据库 技术有如下特点:
* 面向企业或部门,以数据为中心组织数据,形成综合性的数据库 ,为各应用共享。
* 采用一定的数据模型。数据模型不仅要描述数据本身的特点,而且要描述数据之间的联系。
* 数据冗余小,易修改、易扩充。不同的应用程序根据处理要求,从数据库 中获取需要的数据,这样就减少了数据的重复存储,也便于增加新的数据结构,便于维护数据的一致性。
* 程序和数据有较高的独立性。
* 具有良好的拥护接口,用户可方便地开发和使用数据库 。
* 对数据进行统一管理和控制,提供了数据的安全性、完整性、以及并发控制。
从文件系统发展到数据库 系统,这在信息领域中具有里程碑的意义。在文件系统阶段,人们在信息处理中关注的中心问题是系统功能的设计,因此程序设计占主导地位;而在数据库 方式下,数据开始占据了中心位置,数据的结构设计成为信息系统首先关心的问题,而应用程序则以既定的书结构为基础进行设计。 数据库 的基本结构分三个层次,反映了观察数据库 的三种不同角度。
(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)层次结构模型
层次结构模型实质上是一种有根结点的定向有序树(在数学中"树"被定义为一个无回的连通图)。下图是一个高等学校的组织结构图。这个组织结构图像一棵树,校部就是树根(称为根结点),各系、专业、教师、学生等为枝点(称为结点),树根与枝点之间的联系称为边,树根与边之比为1:N,即树根只有一个,树枝有N个。
按照层次模型建立的数据库 系统称为层次模型数据库 系统。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在功能和性能上又有了很大的改进,主要是引入了窗口、按纽、列表框和文本框等控件,进一步提高了系统的开发能力。 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上更好了。服务器上可能还没有特洛伊,但是如果感觉到有问题,那么凶手就可以很容易发现。 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发表了”构建数据仓库”。 埃德加·考特(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 届。NDBC这一传统的数据库 盛会已成为国内数据库 领域较为权威的会议。
数据库 软件
比较常见的有三种数据库 :
ACCESS , SQL Server 和 Oracle 其中ACCESS 是美国Microsoft公司于1994年推出的微机数据库 管理系统.它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库 管理系统. 其主要特点如下: 完善地管理各种数据库 对象,具有强大的数据组织、用户管理。
ACCESS 的功能相对不是那么强大,主要是开发单机版软件中经常用到,SQL Server 是目前应用比较广泛和普遍的一款数据库 ,是数据库 发展的一个里程碑。 Oracle的功能是比较强大的,一般用于超大型管理系统软件的建立,现在的应用范围也已经比较广泛。 随着信息管理内容的不断扩展,出现了丰富多样的数据模型(层次模型,网状模型,关系模型,面向对象模型,半结构化模型等),新技术也层出不穷(数据流,Web数据管理,数据挖掘等)。目前每隔几年,国际上一些资深的数据库 专家就会聚集一堂,探讨数据库 研究现状,存在的问题和未来需要关注的新技术焦点。过去已有的几个类似报告包括:1989 年Future Directions inDBMS Research-The Laguna BeachParticipants ,1990 年DatabaseSystems : Achievements and Opportunities ,1995 年的Database 1991:W.H. Inmon 发表了《构建数据仓库》
数据库 专业就业方向
数据库 应用开发 (application development)
除了基本的SQL方面的知识,还要对开发流程,软件工程,各种框架和开发工具等等
数据库 应用开发这个方向上的机会最多,职位最多,薪水一般
数据建模专家 (data modeler)
除了基本的SQL方面的知识,非常熟悉数据库 原理,数据建模
负责将用户对数据的需求转化为数据库 物理设计和物理设计
这个方向上在大公司(金融,保险,研究,软件开发商等)有专门职位,
在中小公司则可能由程序员承担。
商业智能专家 (business intelligence - BI)
主要从商业应用,最终用户的角度去从数据中获得有用的信息,
涉及OLAP (online analytical processing)
需要使用SSRS, cognos, crystal report等报表工具,或者其他一些数据挖掘,统计方面的软件工具
这个方面我不熟悉,不敢乱说(以免被拍砖,呵呵)
数据构架师 (Data Architect)
主要从全局上制定和控制关于数据库 在逻辑这一层的大方向,
也包括数据可用性,扩展性等长期性战略,
协调数据库 的应用开发,建模,DBA之间的工作。
这个方向上在大公司(金融,保险,研究,软件开发商等)有专门职位,
在中小公司或者没有这个职位,或者由开发人员,DBA负责。
数据库 管理员 (database administrator - DBA)
数据库 的安装,配置,调优,备份/恢复,监控,自动化等,
协助应用开发(有些职位还要求优化SQL,写存储过程和函数等)
这个方向上的职位相对少一些,但一般有点规模的公司还是会有这样的职位
数据仓库专家 (data warehouse - DW)
应付超大规模的数据,历史数据的存储,管理和使用,
和商业智能关系密切,很多时候BI和DW是放在一个大类里面的,
但是我觉得DW更侧重于硬件和物理层上的管理和优化。
存储工程师 (storage engineer)
专门负责提供数据存储方案,使用各种存储技术满足数据访问和存储需求,
和DBA的工作关系比较密切。
对高可用性有严格要求(比如通信,金融,数据中心等)的公司通常有这种职位,
这种职位也非常少。
性能优化工程师 (performance engineer)
专长数据库 的性能调试和优化,为用户提供解决性能瓶颈方面的问题。
我知道至少IBM, 微软和Oracle都有专门的数据库 性能实验室(database performance lab),
也有专门的性能优化工程师,负责为其数据库 产品和关键应用提供这方面的技术支持。
对数据库 性能有严格要求的公司(比如金融行业)可能会有这种职位。
因为针对性很强,甚至要求对多种数据库 非常熟悉,所以职位极少。
高级数据库 管理员 (senior DBA)
在DBA的基础上,还涉及上面3种职位的部分工作,具体包括下面这些:
对应用系统的数据(布局,访问模式,增长模式,存储要求等)比较熟悉。
对性能优化非常熟悉,可以发现并优化从SQL到硬件I/O,网络等各个层面上的瓶颈
对于存储技术相对熟悉,可能代替存储工程师的一些工作,
对数据库 的高可用性技术非常熟悉(比如MSSQL的集群,ORACLE RAC/FailSafe, IBM的DPF, HADR等)
对大规模数据库 有效进行物理扩展(比如表分区)或者逻辑扩展(比如数据库 分区,联合数据库 等)
熟悉各种数据复制技术,比如单向,双向,点对点复制技术,以满足应用要求。
灾难数据恢复过程的建立,测试和执行
这种职位一般只在对数据库 要求非常高并且规模非常大(比如金融,电信,数据中心等)的公司需要,
而且这种公司一般有一个专门独立负责数据库 的部门或组。 shujuku
数据库
data base
为满足某一部门中多个用户多种应用的需要,按照一定的数据模型在计算机系统中组织、存储和使用的互相联系的数据集合。
带有数据库 的计算机系统,除具备一般的硬件、软件外,必须有用以存储大量数据的直接存取存储设备、管理并控制数据库 的软件──数据库 管理系统(DBMS)、管理数据库 的人员──数据库 管理员 (DBA)。这样的数据、硬件、软件和管理人员的总体构成数据库 系统。数据库 仅是数据库 系统的一个组成部分。
数据库 系统的功能和特征 数据库 系统由文卷系统发展而来。与文卷系统相比,这种系统具有数据、体系和控制三个方面的主要特征。
数据特征 在文卷系统中虽然程序与数据之间可用存取方法进行转换,但文卷还是与应用程序对应的,即数据仍面向应用(图1 面向应用的文卷系统)。每一应用各自建立自己的一组文卷。不同的应用若涉及相同的数据,则这些数据分别纳入各自的文卷之中。文卷的各种记录之间没有建立联系,因而数据冗余度大。增加新的应用,必须同时增加新的文卷。因此,文卷系统中的文卷是无结构的、不易扩充的信息集合。数据库 则不仅描述数据本身,而且描述数据之间的联系。它的数据结构反映了某一部门的整体信息结构,数据冗余度小、易于扩充新的应用,因而是面向数据总体结构的信息集合,可为多个用户共享。
体系特征 一切数据都有逻辑和物理两个侧面。在数据库 系统中,数据逻辑结构的描述称为逻辑模式。逻辑模式又分为描述全局逻辑结构的全局模式(简称模式)和描述某些应用所涉及的局部逻辑结构的子模式。数据物理结构的描述称为存储模式。这两种模式总称为数据库 模式。数据库 系统的体系结构如图2 数据库 系统的体系结构。
数据库 系统中,用户根据子模式编制程序。子模式与模式、模式与存储模式之间有软件进行映射。因此,程序与数据之间具有两级独立性:物理独立性和逻辑独立性。数据的存储模式改变,而模式可以不改变,因而不必改写应用程序,这称为物理独立性。模式改变时,子模式可能不改变,也就不必改写应用程序,这称为逻辑独立性。由于数据库 系统具备比较高的程序与数据的独立性,可以使程序员在编制应用程序时集中精力考虑算法逻辑,不必过问物理细节,而且可以大大减少应用程序维护的工作量。
控制特征 数据库 数据数量庞大,结构复杂,又为多个用户所共享。因此,必须由数据库 管理系统在定义、建立、运行以及维护时进行统一管理和控制,以保证数据库 数据的安全性、完整性和并发操作的一致性。此外,还必须有数据库 管理员专门负责对数据库 的管理、控制监督和改进。
由于数据库 系统具有上述特征,它的出现使信息系统的研制从围绕加工数据的程序为中心,转变到围绕共享的数据库 来进行。这便于数据的集中管理,有利于应用程序的研制和维护。数据减少了冗余度和提高了相容性,从而提高了作出决策的相容性。因此,大型复杂的信息系统大多以数据库 为核心,数据库 系统在计算机应用中起着越来越重要的作用。
研究课题 数据库 研究的课题,主要涉及三个领域。
数据库 管理系统软件的研制 DBMS是数据库 系统的基础。研制DBMS的基本目标,是扩大功能,提高性能和可用性,从而提高用户的生产率。70年代以来,研制的重点是探索关系数据库 管理系统的设计,内容包括关系数据语言、查询优化、并发控制和系统性能等。另一类课题是对DBMS标准化的研究,即研究一个统一的DBMS体系结构的规范。
数据库 设计 这是在计算机系统具有的数据库 管理系统的基础上,按照应用要求以及计算机系统所提供的数据模型 : Database (DB), data pool n.: database, data bank, data base, a `data bank 计算机 技术 互联网 程序 图书 百科辞典 数据库理 软件 电脑 数据库系统 百科大全 物理百科 知识发现 网络 系统 文件格式 DVD 6sigma管理 IT Server 更多结果...
云数据库 源数据库 数据库类 数据库理 凝数据库 数据库她 元数据库 多数据库 数据库机 数据库原理 数据库软件 表决数据库 高级数据库 指南数据库 移动数据库 财经数据库 数据库保护 安全数据库 数据库商函 环境数据库 索引数据库 数据库攻击 通信数据库 农业数据库 金融数据库 分子数据库 单机数据库 材料数据库 金仓数据库 数据库索引 药物数据库 国产数据库 文献数据库 数据库重组 数据库重构 时态数据库 层次数据库 并行数据库 工程数据库 数据库维护 科学数据库 主动数据库 数据库别名 经济数据库 数据库大师 数据库映像 文件数据库 数据库死锁 后台数据库 拉曼数据库 特色数据库 地理数据库 数据库建模 万方数据库 中宏数据库 支持数据库 数据库语言 分发数据库 数据库管理 模糊数据库 统计数据库 达梦数据库 图形数据库 序列数据库 系统数据库 数据库角色 术语数据库 数据库压缩 多维数据库 专题数据库 综合数据库 数据库脚本 数据库工程 数据库桌面 地图数据库 图像数据库 数据库事务 数据库行销 数据库营销 关系数据库 网格数据库 演绎数据库 网状数据库 网络数据库 异构数据库 数据库设计 数据库系统 地名数据库 数据库技术 基础数据库 智能数据库 数据库恢复 品牌数据库 客户数据库 游戏数据库 网站数据库 事实数据库 数据库文件 内存数据库 数据库备份 外部数据库 全文数据库 数据库安全 实时数据库 数据库模型 空间数据库 数据库应用 宠物数据库 私人数据库 数据库分析 土壤数据库 机构数据库 镜头数据库 化工数据库 数据库基础 数据库教程 开源数据库 个人数据库 数据库修复 数据库专家 数据库编程- 数据库类型 数据库服务 数据库优化 数据库审计 数据库工具 文本数据库 数据库知识 企业数据库 大型数据库 药品数据库 数据库介绍 数据库约束 数据库开发 专利数据库 数据库理论 外文数据库 文档数据库 数据库引擎 主题数据库 数据库检索 联合数据库 书目数据库 目录数据库 数据库对象 资格数据库 数据库集群 数据库函数 原生数据库 动态数据库 数据库方面 通用数据库 数据库同步 数据库连接 解锁数据库 锁住数据库 默认数据库 数据库密码 数据库插件 物理数据库 逻辑数据库 分层数据库 混合数据库 专家数据库 地块数据库 电缆数据库 连接数据库 数据库结构 项目数据库 公用数据库 环形数据库 专用数据库 格网数据库 数据库键码 时空数据库 主存数据库 正文数据库 在线数据库 军事数据库 地形数据库 影像数据库 数据库名称 中文数据库 重力数据库 基准数据库 数据库接口 联机数据库 信用数据库 检索数据库 摘要数据库 机检数据库 历史数据库 联邦数据库 数据库字段 数据库命令 数据库删除 收缩数据库 外延数据库 数据库集成 数据库保密 更多结果...