数据管理技术经历了哪三个阶段?

数据管理技术是指对数据进行分类、编码、存储、检索和维护,它是数据处理的中心问题。随着计算机技术的不断发展,在应用需求的推动下,在计算机硬件、软件发展的基础上数据管理技术经历了人工管理、文件系统、数据库系统3个阶段。

每一阶段的发展以数据存储冗余不断减小、数据独立性不断增强、数据操作更加方便和简单为标志,各有各的特点。

发展阶段

人工管理阶段

在计算机出现之前,人们运用常规的手段从事记录、存储和对数据加工,也就是利用纸张来记录和利用计算工具(算盘、计算尺)来进行计算,并主要使用人的大脑来管理和利用这些数据。

到了20世纪50年代中期,计算机主要用于科学计算。当时没有磁盘等直接存取设备,只有纸带、卡片、磁带等外存,也没有操作系统和管理数据的专门软件。数据处理的方式是批处理。该阶段管理数据的特点是:

(1)数据不保存。因为当时计算机主要用于科学计算,对于数据保存的需求尚不迫切。

(2 )系统没有专用的软件对数据进行管理,每个应用程序都要包括数据的存储结构、存取方法和输入方法等。程序员编写应用程序时,还要安排数据的物理存储,因此程序员负担很重。

(3) 数据不共享。数据是面向程序的,一组数据只能对应一个程序。

(4)数据不具有独立性。程序依赖于数据,如果数据的类型、格式或输入/输出方式等逻辑结构或物理结构发生变化,则必须对应用程序做出相应的修改。

文件系统阶段

20世纪50年代后期到60年代中期,随着计算机硬件和软件的发展,磁盘、磁鼓等直接存取设备开始普及,这一时期的数据处理系统是把计算机中的数据组织成相互独立的被命名的数据文件,并可按文件的名字来进行访问,对文件中的记录进行存取的数据管理技术。数据可以长期保存在计算机外存上,可以对数据进行反复处理,并支持文件的查询、修改、插入和删除等操作,这就是文件系统。文件系统数据管理示意如下图所示。文件系统实现了记录内的结构化,但从文件的整体来看却是无结构的。其数据面向特定的应用程序,因此数据共享性、独立性差,且冗余度大,管理和维护的代价也很大。

数据库系统阶段

20世纪60年代后期以来 ,计算机性能得到进一步提高,更重要的是出现了大容量磁盘,存储容量大大增加且价格下降。在此基础上,才有可能克服文件系统管理数据时的不足,而满足和解决实际应用中多个用户、多个应用程序共享数据的要求,从而使数据能为尽可能多的应用程序服务,这就出现了数据库这样的数据管理技术。数据库的特点是数据不再只针对某一个特定的应用,而是面向全组织,具有整体的结构性,共享性高,冗余度减小,具有一定的程序与数据之间的独立性,并且对数据进行统一的控制。

此阶段的特点:

(1)数据结构化。在描述数据时不仅要描述数据本身,还要描述数据之间的联系。数据结构化是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。

(2)数据共享性高、冗余少且易扩充。数据不再针对某一个应用,而是面向整个系统,数据可被多个用户和多个应用共享使用,而且容易增加新的应用,所以数据的共享性高且易扩充。数据共享可大大减少数据冗余。

(3)数据独立性高。

(4)数据由DBMS统一管理和控制。数据库为多个用户和应用程序所共享,对数据的存取往往是并发的,即多个用户可以同时存取数据库中的数据,甚至可以同时存放数据库中的同一个数据,为确保数据库数据的正确有效和数据库系统的有效运行,数据库管理系统提供以下4方面的数据控制功能。

数据安全性控制:防止因不合法使用数据而造成数据的泄露和破坏,保证数据的安全和机密。

数据的完整性控制:系统通过设置一些完整性规则,以确保数据的正确性、有效性和相容性。

并发控制:多用户同时存取或修改数据库时,防止相互干扰而给用户提供不正确的数据,并使数据库受到破坏。

数据恢复:当数据库被破坏或数据不可靠时,系统有能力将数据库从错误状态恢复到最近某一时刻的正确状态。


推荐文章
JSP JSTL <c:remove>标签:移除标签

标签可以从指定的JSP范围中移除指定的变量。 语法: 参数说明: var:用于指定存储变量值的变量名称。 scope:用于指定变量存在于JSP的范围,可选值有page、request、se

JSP Response.getOutputStream()方法:获取JSP应答对象的输出流

该方法用于获取JSP应答对象的输出流。 语法: getOutputStream() 返回值:JSP页面的输出流对象。 示例

adobe flash player被屏蔽怎么办?

使用浏览器访问一些相对比较老的网站时,会遇到“AdobeFlashPlayer已被屏蔽”的问题,导致网页内容无法正常展现。这里以Chrome浏览器为例,下面我们就来看看详细的教程。1、访问网页提示“A

汇编入门到精通系列视频教程(若水软件论坛)

为什么要学习汇编语言? 学习汇编语言有助于学习计算机的底层运作,理解更加高级的编程语言,可以广泛用于逆向工程、破解软件和驱动开发。 计算机语言的发展:机器语言->汇编语言->高级语言(面向过程和面

jQuery常用鼠标事件汇总

从这一节开始,我们正式开始实际操作jQuery中的各种事件。事件操作是jQuery核心之一,也是本套教程的重中之重。 在jQuery中,常见的鼠标事件如表1所示。 表1:鼠标事件 事件

Linux查看CPU信息方法(超简单)

CPU的主要信息保存在/proc/cpuinfo这个文件中,我们只要查看这个文件,就可以知道CPU的相关信息。 命令如下: [root@localhost~]#cat/proc/cpuinfo p

HBase scan命令:查询全表数据

HBasescan命令用来查询全表数据,使用时只需指定表名即可。 示例:Student数据表 行键 列族StuInfo 列族Grades 时间戳 Name Age Sex

word文档中字体颜色怎么变成黑色?

word文档中字体颜色变成黑色的方法第1步,打开Word文档窗口,选中需要改变字体颜色的文本块。第2步,在“开始”功能区的“字体”分组中,单击“字体颜色”下拉三角按钮。打开字体颜色面板第3步,在“主题

MySQL创建用户(3种方式)

MySQL在安装时,会默认创建一个名为root的用户,该用户拥有超级权限,可以控制整个MySQL服务器。 在对MySQL的日常管理和操作中,为了避免有人恶意使用root用户控制数据库,我们通常创建一

文件的文本打开方式和二进制打开方式的区别

在UNIX/Linux平台中,用文本方式或二进制方式打开文件没有任何区别。 在UNIX/Linux平台中,文本文件以\n(ASCII码为0x0a)作为换行符号;而在Windows平台中,文本文件以连

MySQL 创建用户 CREATEUSER[IDENTIFIED]BY[PASSWORD] 1)user_namehost_name 2)PASSWORDPASSWORDPASSWORD 3)IDEN

system能关闭吗?

System进程是Windows页面内存管理进程,拥有0级优先权,没有它系统无法启动。system是一个系统正常进程,属于system权限。system进程能关闭吗?告诉你答案“不能”。这个进程在“任

C语言?和:详解,C语言条件运算符详解

如果希望获得两个数中最大的一个,可以使用if语句,例如: if(a>b){ max=a; }else{ max=b; } 不过,C语言提供了一种更加简单的方法,叫做条件运算符,语法格式为:

sas和sata的区别是什么?

SAS(SerialAttachedSCSI)即串行连接SCSI,SATA(SerialAdvancedTechnologyAttachment)即串行高级技术附件,SAS是新一代的SCSI技术。sa

go test命令(Go语言测试命令)完全攻略

Go语言拥有一套单元测试和性能测试系统,仅需要添加很少的代码就可以快速测试一段需求代码。 gotest命令,会自动读取源码目录下面名为*_test.go的文件,生成并运行测试用的可执行文件。输出的

JS中的CSS选择器

在2008年以前,浏览器中大部分DOM扩展都是专有的。此后,W3C将一些已经成为事实标准的专有扩展标准化并写入规范中。SelectorsAPI就是由W3C发布的一个事实标准,为浏览器实现原生的CSS选

strpbrk函数,C语言strpbrk函数用法详解

如果要查找多个字符,需要使用strpbrk函数。该函数在源字符串(s1)中按从前到后顺序找出最先含有搜索字符串(s2)中任一字符的位置并返回,空字符null('\0')不包括在内,若找不到则返回空指针

Java static关键字(静态变量和静态方法)

在类中,使用static修饰符修饰的属性(成员变量)称为静态变量,也可以称为类变量,常量称为静态常量,方法称为静态方法或类方法,它们统称为静态成员,归整个类所有。 静态成员不依赖于类的特定实例,被类

Java Servlet的request/response中文乱码问题的解决方案

大家在使用JavaServlet开发网站的时候经常会遇到中文乱码问题,不管是请求(request)还是响应(response)的过程,本节我们分别给出对应的解决方案。 Request中文乱码问题以及