为什么数据库对其管理的数据要进行结构化的描述和定义

作者&投稿:尾钧 (若有异议请与网页底部的电邮联系)
为什么说针对结构化数据,关系型数据库管理系统已经形成了一套完善的储存、访问、安全与备份控制体系~

元数据 (metadata) 最常见的定义为“有关数据的结构数据”,或再简单一点就是“关于数据的信息”,日常生活中的图例、图书馆目录卡和名片等都能够看作是元数据。在关系型数据库管理系统 (DBMS) 中,元数据描述了数据的结构和意义。比如在管理、维护 SQL Server 或是研发数据库应用程式的时候,我们经常要获取一些涉及到数据库架构的信息:

某个数据库中的表和视图的个数连同名称;
某个表或视图中列的个数连同每一列的名称、数据类型、长度、精度、描述等;
某个表上定义的约束;
某个表上定义的索引连同主键/外键的信息。
下面我们将介绍几种获取元数据的方法。

获取元数据

使用系统存储过程和系统函数访问元数据

获取元数据最常用的方法是使用 SQL Server 提供的系统存储过程和系统函数。

一、人工管理阶段:特点
数据的管理者:人
数据面向的对象:某一应用程序
数据的共享程度:无共享,冗余度极大
数据的独立性:不独立,完全依赖于程序
数据的结构化:无结构
数据控制能力:应用程序自己控制
二、文件系统阶段:特点
数据的管理者:文件系统
数据面向的对象:某一应用程序
数据的共享程度:共享性差,冗余度大
数据的独立性:独立性差
数据的结构化:记录内有结构,整体无结构
数据控制能力:应用程序自己控制
三、数据库系统阶段:特点
数据的管理者:数据库管理系统
数据面向的对象:整个应用系统
数据的共享程度:共享性高,冗余度小
数据的独立性:具有高度的物理独立性和逻辑独立性
数据的结构化:整体结构化,用数据模型描述
数据控制能力:由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力

数据库技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引越来越多的研究者加入。数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。三十多年来,国内外已经开发建设了成千上万个数据库,它已成为企业、部门乃至个人日常工作、生产和生活的基础设施。同时,随着应用的扩展与深入,数据库的数量和规模越来越大,数据库的研究领域也已经大大地拓广和深化了。30年间数据库领域获得了三次计算机图灵奖(C.W. Bachman, E.F.Codd, J.Gray),更加充分地说明了数据库是一个充满活力和创新精神的领域。就让我们沿着历史的轨迹,追溯一下数据库的发展历程。

一. 数据库发展简史

1. 数据管理的诞生

数据库的历史可以追溯到五十年前,那时的数据管理非常简单。通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。

然而,1951年雷明顿兰德公司(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 Electric Co.)的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路数据共享、消息队列共享等先进特性的支持。这个具有30年历史的数据库产品在如今的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. 面向对象数据库

随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。九十年代以后,技术界一直在研究和寻求新型数据库系统。但在什么是新型数据库系统的发展方向的问题上,产业界一度是相当困惑的。受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向对象的数据库系统(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。

1988年,IBM公司的研究者Barry Devlin和Paul Murphy发明了一个新的术语—信息仓库,之后,IT的厂商开始构建实验性的数据仓库。1991年,W.H. "Bill" Inmon出版了一本“如何构建数据仓库”的书,使得数据仓库真正开始应用。

1991: W.H.“Bill” Inmon发表了”构建数据仓库”

二十世纪九十年代,随着基于PC的客户/服务器计算模式和企业软件包的广泛采用,数据管理的变革基本完成。数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。Internet的异军突起以及XML语言的出现,给数据库系统的发展开辟了一片新的天地。

5. 数据库发展大事记

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发表了”构建数据仓库”。


数据库是什么?
2、数据库管理系统:数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。数据库管理系统对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。3、数据库系统:数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和...

什么是数据库管理系统?
数据库管理系统能对数据库中的数据进行查询、插入、修改和删除等操作,这种功能称为数据库的操纵功能。数据定义功能:提供相应数据语言来定义数据库结构,它们刻画数据库框架,并被保存在数据字典中。数据操纵功能:实现对数据库数据的基本存取操作(检索、插入、修改和删除)。数据控制功能:数据的安全性、完整...

什么是数据库管理系统?
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可以支持多个应用程序和用户用不同...

常见数据库管理系统有哪些,它们各自具有什么特点?
1.oracle,豪无争议处于霸主地位,特点是体系健全,处理效率高,安全可靠;面对不同的应用场景,拥有针对性的解决方案,有小企业应用的单实例数据库,高可靠性应用的RAC方案,主备方式的DATAGuard方案,数据同步的goldengate。2.mysql,开源软件,优势是开源带来的群策群力能量,它的灵活性以及轻量级管理使...

什么是数据库管理系统?
Visual FoxPro等产品各以自己特有的功能,在数据库市场上占有一席之地。下面简要介绍几种常用的数据库管理系统。作为Microsoft Office组件之一的Microsoft Access是在Windows环境下非常流行的桌面型数据库管理系统。使用Microsoft Access无需编写任何代码,只需通过直观的可视化操作就可以完成大部分数据管理任务。

数据库管理系统是什么
数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。拓展知识:数据库管理系统是一个能够提供数据录入、修改、查询的数据操作软件,具有数据定义、数据操作、数据存储与管理、数据维护、通信等功能,且能够允许多用户使用。另外,数据库管理系统的发展与计算机技术发展密切相关。而且...

数据库管理系统的作用是管理什么
数据库管理系统(database management system)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它提供多种功能,可使多个应用程序...

常用的数据库管理系统软件有哪些(什么是数据库系统管理软件)
03 DB2:DB2是IBM出品的一系列关系型数据库管理系统,分别在不同的操作系统平台上服务。04 ACCESS:是由微软发布的关联式数据库管理系统。它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的成员之一。05 Oracle:甲骨文股份有限公司(Oracle)是全球大型数据库软件公司,总部位于...

5种常用的数据库管理软件有什么(数据库管理软件是什么软件)
mysqlmysql是一个小型关系型数据库管理系统,开发者为瑞典mysql ab公司。在2008年1月16号被sun公司收购。目前mysql被广泛地应用在internet上的中小型网站中。sql server 是 microsoft(微软)的数据产品,它的易用性强!oracle 是 oracle(甲骨文)公司的数据产品!号称世界上最好的数据系统!db2 是ibm公司...

数据库管理是什么
数据库管理是数据存储、管理和维护的一系列操作和实践。数据库管理涉及到许多方面的工作,下面将对其进行详细解释。一、数据库管理的基本概念 数据库管理主要是指通过特定的软件和技术,对数据库进行创建、查询、更新、维护以及优化等操作。数据库是一个结构化的数据集合,能够存储和管理大量信息,而数据库...

马山县18460162944: 为什么数据库对其管理的数据要进行结构化的描述和定义,它与我们人类社会管理有哪些相同之处,请举列阐述说明.. -
法转香砂:[答案] 数据库技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引越来越多的研究者加入.数据库的诞生和发展给计算机信息管理带来了一场巨大的革命.三十多年来,国内...

马山县18460162944: 为什么数据库对其管理的数据要进行结构化的描述和定义?
法转香砂: 如果觉的我答案有用,请点赞. 网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状DBMS要比层次DBMS用得普遍

马山县18460162944: 为什么要对数据进行管理 -
法转香砂: 数据管理[是利用计算机硬件和软件技术对数据进行有效的收集、存储、处理和应用的过程.其目的在于充分有效地发挥数据的作用.实现数据有效管理的关键是数据组织.随着计算机技术的发展,数据管理经历了人工管理、文件系统、数据库系...

马山县18460162944: 简述为什么要用数据库管理数据 -
法转香砂: 两个字方便 ,效率高.你不用数据库管理的话,比如说记账,你记了好多本,你要查某个记录时,要翻多少本账才能找到要的东西?统计也很方便,

马山县18460162944: 为什么要使用数据库的备份和还原 -
法转香砂: 1、数据备份就是要保存数据的完整性,防止非法关键,断电,病毒感染等等情况,使数据丢失,有必要的话,最好勤备份,防止数据丢失. 2、数据还原:就是数据库出现错误或者是崩溃了不可以用,就把原来的数据恢复回来. 3、提高系统的可用性和灾难可恢复性,在数据库系统崩溃的时候,可以恢复数据. 4、使用数据库备份还原数据库是数据库系统崩溃时提供数据恢复最小代价的最优方案. 3、没有数据就没有一切,数据库备份就是一种防范灾难于未然的强力手段.

马山县18460162944: 使用数据库应用系统可以对其管理的数据进行什么操作 -
法转香砂: 1、数据库一般通过存储过程、函数等方式实现逻辑,这种方式代码很难维护、而且开发效率很低,特别比起java、.net等高级语言有优秀的ide时开发效率低得可怜;2、不方便数据库移植,如果一个系统要从oracle移植到sql server.这时就是个灾难,基本等于重新开发;3、在数据库中实现效率至少效率更高这句话也是个疑问,目前大点的软件都是应用服务器集群+主备数据库,逻辑放到数据库中,无法高效利用应用服务器的资源,特别是并发高的系统,数据库本身就是性能瓶颈,如果把主要逻辑都放到数据库,会导致数据库瓶颈更加严重.

马山县18460162944: 什么是数据库 -
法转香砂: 严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”.在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理.例如,企业或事业单位的人事部门常常要把本单位职工的...

马山县18460162944: 为何要用数据库来管理数据也就是数据库的优势究竟在哪里
法转香砂: 数据库里存的是地址,而且是结构化的查询,以往的文件系统管理属于分页查询,那种很不方便,占用内存大,可以想象1下,你查字典不多是直接翻的字,而应当是查拼音索引和部首索引对吧,这个就是机构化查询的1个优点,你查的是地址而不是具体某1个文件,现在操作系统不是也对文件系统先建立索引,然后再进行查询的么,希望我说的可以帮助你.

马山县18460162944: 关于数据库的知识 -
法转香砂: 数据库是“按照数据结构来组织、存储和管理数据的仓库.J.Martin给数据库下了一个比较完整的定义:数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程...

马山县18460162944: 数据库是什么?
法转香砂: 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网