现在的位置: 首页 > 综合 > 正文

数据库管理系统的产生

2018年05月24日 ⁄ 综合 ⁄ 共 2109字 ⁄ 字号 评论关闭

数据管理随着计算机软硬件的发展而不断发展,40多年来经历了以下三个阶段:

1、人工管理阶段

主要是指50年代中期以前的这段时间,此时的计算机还很简陋,连完整的操作系统都没有。因此,数据只能放在卡片上或其他介质上,由人来手工管理。

2、文件系统阶段

主要是指50年代后期到60年代中期的这段时间,此时的计算机已经有了操作系统。在操作系统基础之上建立的文件系统已经成熟并广泛应用。因此,人们自然想到用文件把大量的数据存储在磁盘这种介质上,以实现对数据的永久保存和自动管理以及维护;

3、数据库管理系统阶段 

主要是指60年代后期以后,由于数据库管理系统的诞生,通过数据库管理系统管理大量的数据,不仅解决了数据的永久保存,而且真正实现了数据的方便查询和一致性维护问题,并且能严格保证数据的安全。此后,数据库应用在我们国家于80年代达到高峰,大量的联机处理系统把工作人员从以前繁杂且容易出错的手工操作中解脱出来,不仅提高了工作效率,精简了机构和人员,而且方便了广大人民群众。这样的大型系统有"全国民航售票系统"、"银行前台业务处理系统"、"各种服务行业的客户管理系统"等等。

1.1.2 文件处理系统

在数据库管理系统出现以前,把需要管理的数据存放在永久性的系统文件中,同时为了能够操作这些文件里的数据,系统里还有针对这些文件编写的应用程序。如银行为了保存所有客户及储蓄帐户的信息,可能包括如下应用程序:
1、创建新帐户的程序
2、处理某帐户的借/贷程序
3、查询帐户余额的程序
4、产生每月财务报告的程序
这种典型的文件处理系统是传统的操作系统所能支持的。随着银行业务的发展,需求不断增长,随之新的数据文件和应用程序就会不断地加入到系统中来。例如支票帐户的信息与特殊处理--透支等等。但是,你要注意虽然文件处理系统给数据管理带来了极大的方便,但是在文件处理系统中存储信息的弊端也是显而易见的。这些弊端主要表现在以下七个方面:

1、数据冗余和不一致

2、数据访问困难

3、数据孤立

4、完整性问题

5、原子性问题

6、并发访问异常

7、安全性问题

1、数据冗余和不一致

数据冗余是指相同的信息可能在不同的地方(文件)重复存储。如某个客户的地址和电话号码既可能在由储蓄帐户记录组成的文件里出现,也可能在由支票帐户记录组成的文件中出现;数据冗余还可能导致数据不一致,即同一数据的不同副本不一致。如某个客户地址的更改可能只是在储蓄帐户文件里得到反映而在系统的其他文件中没有得到反映。

2、数据访问困难

由于数据使用者的要求不断变化,需要不断地增加和修改程序才能满足新的要求。如银行的高级行政管理人员今天可能需要储蓄帐户中余额不少于1000元的客户清单,明天又可能需要所有居住在邮编为100084的地区的客户清单。传统的文件处理环境不能支持以一种方便而有效的方式去获得所需数据,这就需要开发通用的、能对变化的需求作出更快反应的数据检索系统。

3、数据孤立

由于数据分散在不同的文件中,这些文件又可能具有不同的格式,而且数据和数据之间的联系很难表达。因而编写新的且检索恰当数据的应用程序是很困难的。

4、完整性问题

文件中所存储数据的值必须满足某种一致性约束。例如银行帐户的余额永远不会低于某个预定的值--10元。开发者通过在不同的应用程序中加入适当的代码来体现系统中的这些约束。但当新的约束加入系统时,很难通过修改程序来体现这些新的约束。尤其是当约束涉及到不同文件中的多个数据项时,问题就变得更加复杂了。因此,如何表达和实现一致性约束就成为迫在眉睫的问题。

5、原子性问题

计算机系统也常常会发生故障,一旦故障发生并被检测到,数据就应恢复到故障发生前的状态。例如,假设要从A帐户转5000元到B帐户,可是在程序的执行过程中发生了系统故障,很可能从A帐户减去的5000元钱还没来得及存入B帐户,系统就死机了。这就造成了数据的不一致。显然,为了保证数据状态的一致性,这里的借、贷两个操作要么都发生要么都不发生,也就是说,转帐这个操作必须是原子的--它要么全部发生要么根本不发生(具有不可分割性)。

6、并发访问异常

许多系统允许多个用户同时访问数据,在这样的环境中由于并发更新操作相互影响,可能就会导致数据的不一致。假设A帐户中有500元,客户B和客户C几乎同时从A帐户中分别取款50元和100元。假设每个取款操作对应的程序都是读取帐户余额,在其上减去取款的金额,然后将结果写回。如果两次取款的程序并发执行,可能它们读到的余额都是500元,并将分别写回450元和400元,到底是450元还是400元要看哪个程序后写回结果而定,而实际上这两个结果都是错误的。由于数据可能被多个不同的应用程序访问,而这些程序间事先又没有协调管理,因而可能会出现并发访问异常问题。

7、安全性问题

并非系统的所有用户都可以访问所有的数据。例如在银行系统中,银行员工的工资发放人员只需要看到数据文件中有关银行员工的那部分信息,他们绝对不需要访问关于客户帐户的信息。由于应用程序总是即兴加入到系统中来,这样的安全性约束在文件处理系统中难以实现。

【上篇】
【下篇】

抱歉!评论已关闭.