|
|
|
|
移动端

1.2.1 基于文件的方法

《数据库系统:设计、实现与原理(基础篇)(原书第6版)》第1章数据库简介,本章将首先介绍数据库系统。本节为大家介绍基于文件的方法。

作者:宁洪/贾丽丽/张元昭 译来源:机械工业出版社|2017-09-27 14:53

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

1.2.1 基于文件的方法

基于文件的系统 |为终端用户提供服务的一组应用程序,如生成报表等。每一个程序定义和管理它自己的数据。

基于文件的系统是将人们熟悉的手工文件计算机化的一种早期的方法。例如,某个单位可能手工创建一个纸质文件,用以记录有关项目、商品、任务、客户和雇员的所有内部和外部对应关系。更典型的情况是可能存在多个这样的文件,分别被贴上标签,保存在一个或多个文件柜中。为了安全起见,这些文件柜还可能被锁起来,或者放在安全的地方。在我们自己家中,也可能有一些文件,分别保存收据、保单、发票、银行结算单等东西。当需要查找某项内容时,一般需从所保存文件的第一项开始逐项遍历,直到发现需要的东西。当然,我们也可借助索引系统更快地进行定位。比如我们可根据逻辑相关性将保存的项目先分门别类地组织在各种文件夹中。

当存储的项目数量较少时,手工的文件系统尚可以很好地发挥作用。即使项目量较大,若只需要存储和检索它们,手工的文件系统仍然可以很好地工作。然而,出现交叉引用或者需在文件中更改信息时,手工的文件系统就难以为继。例如,一个典型的房产代理机构可能对每一个待售或待租的房产、每一个可能的购买者和租用者,以及每一个员工都有一个分开的数据文件。设想一下如果要回答下面的问题需要付出多少工作量:

有多少带花园和车库的三居室房产出售?

在距离市中心3千米以内的地方,有多少房间可以出租?

两居室房间平均的租金是多少?

员工的年薪总和是多少?

上一个月的交易量与这个月计划的交易量相比如何?

在下一个财政年度中预计的交易量是多少?

如今客户、高级管理人员和员工需要越来越多的信息。在某些部门,按月、季度和年生成报表都是合理的需求。很明显,手工文件系统对于这类工作已很不适宜。基于文件的系统正是为了满足工业上能进行更高效的数据访问的需要而应运而生的。然而,它仍未能集中存储组织机构的运行数据,而是采用了分散的方法,即每一个部门在数据处理(DP)人员的帮助下,存储和控制他们各自的数据。为了理解其含义,让我们来看一下DreamHome实例。

销售部门负责房产的出售和出租业务。例如,当一个客户与销售部门联系,想要在市场上出租他的房产,则首先会填写一个类似于图1-1a的表格。该表格给出了关于房产的详细信息,例如地址、房间数量及业主的详细信息。销售部门还负责答复来自客户的查询,并且为每一个客户填写类似于图1-1b的表格。在数据处理部门的帮助下,销售部门创建一个信息系统来处理房产的出租业务。这个系统包括三个文件,分别包含房产、业主和客户的详细信息,如图1-2所示。为了简化起见,不考虑员工、分公司和业主之间的关联信息。

合同部门负责处理与出租房产相关的出租协议。当某客户同意租用一处房产时,销售员将会填写一份表格,包括客户和房产的详细信息,如图1-3所示。这个表格将会被送到合同部门,由合同部门分配一个租用编号,并且完成支付和租用过程中的详细内容。在数据处理部门的帮助下,合同部门创建一个信息系统来处理租用协议。这个系统包含三个文件,分别处理租用、房产和客户的详细信息,与销售部门所含有的数据类似,如图1-4所示。

图1-5所示为整个过程。它显示了各个部门通过为它们特别编写的应用程序来访问各自的文件。每组部门应用程序处理自己的数据录入、文件维护和特定报表的产生。更重要的是,数据文件和记录的物理结构和存储是由应用程序定义的。

在其他部门同样可以发现类似的例子。例如,工资发放部门保存与每一个员工的工资相关的详细信息,即:

而人事部门也保存了员工的详细信息,即:

可以很清楚地看出,在这些部门中含有许多重复的信息,基于文件的系统普遍存在这个问题。在讨论该方法的局限性之前,首先了解一下基于文件的系统所使用的术语是很有必要的。一个文件只是一些记录的简单集合,这些记录中包含逻辑上相关的数据。例如,在图1-2中表示的PropertyForRent文件包含六条记录,每一处房产对应一条记录。每一条记录包含一组逻辑上相关的一个或多个数据项(或域),每一个数据项代表了所建模的现实世界房产的某种特性。在图1-2中,PropertyForRent文件的数据项代表了房产的特性,例如地址、房产类型及房间数量等。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

《ASP.NET AJAX Web 应用开发秘诀(VB版)》

本书详细介绍了AJAX在Web开发上的应用。主要内容包括:ASP.NET AJAX技术概述、实现异步局部更新页面、UpdatePanel编程功能、PageRequestMan...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊