您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 文件系统的三个缺陷:数据的冗余、不一致性和联系弱。
普通高等院校计算机专业(本科)教材数据库实用教程丁宝康董健全编著清华大学出版社前言一、为何学习数据库1.数据库技术是计算机软件领域的一个重要分支。数据库技术的发展,使它已经成为现代信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。因此,在衡量一个国家信息化的程度时,其数据库的建设规模、数据库信息量的大小和使用程度也就成为重要的标志之一。2.目前世界上已有数以百万计的数据库系统在运行,其应用已深人到人类社会生活的各个领域。当今的管理信息系统(MIS)、办公信息系统(OIS)、计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、地理信息系统(GIS)等都以数据库技术为基础。前言二、中国的数据库技术的现状我国引进数据库技术始于70年代末,从微型计算机上运行的数据库到当前的大型数据库系统的引入和应用,已经有20多年的历史。20多年来,虽然在微型计算机数据库知识的普及和应用上取得了很大的进展和成绩,在大型数据库系统的开发和应用上也取得了进步,甚至还有了国产化的数据库软件,但如果从对数据库系统的应用效果和对数据库技术的掌握上来比较,则与发达国家之间仍然存在较大的差距,特别是在大型数据库系统的开发、建设和应用水平差距更大。三、本课程的学习目标数据库是普通高校计算机专业和信息管理专业一门专业基础课、一门重要的课程。它的主要任务是如何科学地组织和储存数据,如何高效地使用和管理数据。目的是使学生掌握数据库的基本原理、方法和应用技术,能有效使用现有的数据库管理系统和软件开发工具,掌握数据库结构的设计和数据库应用系统的开发方式。第1章数据库发展史从20世纪50年代开始,计算机的应用由科学研究部门逐渐扩展到企业、行政部门。至60年代,数据处理已成为计算机的主要应用。数据处理也称为信息处理。数据处理是指对各种形式的数据进行收集、储存、加工和传播的一系列活动的总和.其目的是从大量的、原始的数据中抽取、推导出对人们有价值的信息以作为行动和决策的依据;是为了借助计算机科学地保存和管理复杂的大量的数据,以便人们能方便而充分地利用这些宝贵的信息资源。第1章数据库发展史数据管理是指数据的收集、整理(分类)、组织(编码)、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且也是任何数据处理业务中必不可少的共有部分,数据处理的中心问题是数据管理。本章介绍自从有计算机以来数据管理技术的发展阶段:人工管理阶段、文件系统阶段、倒排文件系统阶段和数据库阶段,以及数据库的发展趋向。1.1数据管理技术的发展计算机的数据处理应用,首先要把大量的数据存放在存储器中。存储器的容量、存储速率直接影响到数据管理技术的发展。存储器的发展,为数据库技术提供了良好的物质基础。使用计算机以后,数据处理的速度和规模无论相对于手工方式还是机械方式都是无可比拟的,随着数据处理量的增长,产生了数据管理技术。数据管理技术的发展,与计算机硬件(主要是外部存储器)、系统软件及计算机应用的范围有着密切的联系。1.1数据库的由来和发展磁盘容量的发展时间(年)19561965197119781981198519952003容量(MB/轴)53010060012005000100001800001.1.1人工管理阶段(50年代中期以前)这一阶段计算机主要用于科学计算。硬件中的外存只有卡片、纸带、磁带,没有磁盘等直接存取设备。软件只有汇编语言,没有操作系统和管理数据的软件。数据处理的方式基本上是批处理。人工管理阶段的特点如下:1.数据不保存因为当时计算机主要用于科学计算,对于数据保存的需求尚不迫切。2.系统没有专用的软件对数据进行管理每个应用程序都要包括数据的存储结构、存取方法、输入方式等,程序员编写应用程序时,还要安排数据的物理存储,因此程序员负担很重。3.只有程序的概念,没有文件的概念数据的组织方式必须由程序员自行设计与安排。4.数据是面向程序的,一组数据只能对应一个程序。数据不具有独立性程序依赖于数据,如果数据的类型、格式、或输入输出方式等逻辑结构或物理结构发生变化,必须对应用程序做出相应的修改。在人工管理阶段,程序与数据之间的关系可用下图表示。应用程序1数据集1应用程序2数据集2数据集3应用程序3…1.1.2文件系统阶段(50年代后期至60年代中期)这一阶段,计算机不仅用于科学计算,还大量用于信息管理。大量的数据存储、检索和维护成为紧迫的需求。硬件有了磁盘、磁鼓等直接存储设备。在软件方面,出现了高级语言和操作系统。操作系统中有了专门管理数据的软件,一般称为文件系统。处理方式有批处理,也有联机处理。文件管理数据的特点如下:1.数据以文件形式可长期保存下来用户可随时对文件进行查询、修改和增删等处理。2.文件系统可对数据的存取进行管理程序员只与文件名打交道,不必明确数据的物理存储,大大减轻了程序员的负担。3.文件形式多样化有顺序文件、倒排文件、索引文件等,因而对文件的记录可顺序访问,也可随机访问,更便于存储和查找数据。4.程序与数据间有一定独立性由专门的软件即文件系统进行数据管理,程序和数据间由软件提供的存取方法进行转换,数据存储发生变化不一定影响程序的运行。5.对数据的操作以记录为单位。这是由于文件中只存储数据,不存储文件记录的结构描述信息。文件的建立、存取、查询、插人、删除修改等所有操作,都要用程序来实现在文件系统阶段,程序与数据之间的关系可用图1.2表示。文件n应用程序1应用程序2应用程序n文件1文件2文件系统……图1.2文件系统阶段1.1.3文件系统的缺陷与人工管理阶段相比,文件系统阶段对数据的管理有了很大的进步,但一些根本性问题仍没有彻底解决,主要表现在以下三方面:1.数据冗余(Redundancy)由于文件之间缺乏联系,造成每个应用程序都有对应的文件,有可能同样的数据在多个文件中重复存储。2.不一致性(Inconsistency)这往往是由数据冗余造成的,在进行更新操作时,稍不谨慎,就可能使同样的数据在不同的文件中不一样。3.数据联系弱(Poordatarelationship)这是由于文件之间相互独立,缺乏联系造成的。[例1.1]某单位添置了一台计算机,各部门纷纷在计算机中建立了文件。譬如建立了职工档案文件、职工工资文件和职工保健文件1.1.4倒排文件系统阶段在20世纪60年代中期,人们对文件系统加以扩充,研制成倒排文件系统。文件是索引文件的推广,对每个字段都提供单独的索引。因此,倒排文件很适合于信息检索系统。不幸的是它们在存储方面是相当昂贵的,因为这些索引可能比数据占有更多的存储空间。由于一个数据记录的任何变化会影响到一个或多个索引,因此数据的更新比较复杂和困难。20世纪60年代中期出现的许多系统(Database或Databank)还不能真正地称为数据库系统,其实都是倒排文件系统。在数据库产生之前,倒排文件系统在当时的商务处理中起了很大的作用。1.2数据库技术的产生和发展1.2.1数据库技术的产生(60年代末开始)60年代后期,计算机应用于管理的规模更加庞大,数据量急剧增加;硬件方面出现了大容量磁盘,使计算机联机存取大量数据成为可能;硬件价格下降,而软件价格上升,使开发和维护系统软件的成本增加。文件系统的数据管理方法已无法适应开发应用系统的的需要。为解决多用户、多个应用程序共享数据的需求,出现了统一管理数据的专门软件系统,即数据库管理系统。数据的共享含义是多种应用、多种语言互相覆盖地共享数据集合,如下图所示。数据管理技术进人数据库阶段的标志是20世纪60年代末的三件大事:IMS系统、DBTG报告和E.F.Codd的文章(1)1968年美国的IBM公司推出了世界上第一个数据库信息管理系统IMS(InformationManagementSystem),它是基于层次模型的。(2)1969年美国数据系统语言协会(CODASYL)的数据库任务组(DBTG)发表了网状数据模型的DBTG报告。(3)1970年美国IBM公司的高级研究员E.F.Codd连续发表论文,提出了关系数据模型,奠定了关系数据库的理论基础。以数据库为中心的数据库系统,是当代数据管理的主要方式。1.2.2数据库阶段的数据管理特点1.采用数据模型表示复杂的数据结构。按照某种数据模型,将全组织的各种数据组织到一个结构化的数据库中,整个组织的数据不是一盘散沙,可表示出数据之间的有机关联数据不再面向某个应用程序而是面向整个系统,当前所有用户可同时存取库中的数据。这样便减少了不必要的数据冗余,节约存储空间,同时也避免了数据之间的不相容性与不一致性。实现了数据共享2.数据独立性高数据的独立性是指逻辑独立性和物理独立性。数据的逻辑独立性是指当数据的总体逻辑结构改变时,数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。例如,在原有的记录类型之间增加新的联系,或在某些记录类型中增加新的数据项,均可确保数据的逻辑独立性。数据的物理独立性是指当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变。例如,改变存储设备和增加新的存储设备,或改变数据的存储组织方式,均可确保数据的物理独立性。3.数据库系统为用户提供了方便的用户接口。用户可以使用查询语言或终端命令操作数据库,也可以用程序方式(如用COBOL、C一类高级语言和数据库语言联合编制的程序)操作数据库。)4.有统一的数据控制功能数据库为多个用户和应用程序所共享,对数据的存取往往是并发的,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据,为确保数据库数据的正确有效和数据库系统的有效运行,数据库管理系统提供下述四方面的数据控制功能。(1)数据的安全性(security)控制:防止不合法使用数据造成数据的泄露和破坏,保证数据的安全和机密;例如,系统提供口令检查或其他手段来验证用户身份,防止非法用户使用系统;也可以对数据的存取权限进行限制,只有通过检查后才能执行相应的操作。(2)数据的完整性(integrity)控制:系统通过设置一些完整性规则以确保数据的正确性、有效性和相容性正确性是指数据的合法性,如年龄属于数值型数据,只能含0,1,…9,不能含字母或特殊符号;有效性是指数据是否在其定义的有效范围,如月份只能用1~12之间的正整数表示;相容性是指表示同一事实的两个数据应相同,否则就不相容,如一个人不能有两个性别。(3)并发(concurrency)控制:多用户同时存取或修改数据库时,防止相互干扰而提供给用户不正确的数据,并使数据库受到破坏。(4)数据恢复(recovery):当数据库被破坏或数据不可靠时,系统有能力将数据库从错误状态恢复到最近某一时刻的正确状态。5.增加了系统的灵活性:对数据的操作不一定以记录为单位,可以以数据项为单位。(数据的最小存取单位是数据项。既可以存取数据库中某一个数据项或一组数据项,也可以存取一个记录或一组记录.)这个阶段的程序和数据的联系通过数据库管理系统实现(DBMS)从文件系统管理发展到数据库系统管理是信息处理领域的一个重大变化。在文件系统阶段,人们关注的是系统功能的设计,因此程序设计处于主导地位,数据服从于程序设计;而在数据库系统阶段,数据的结构设计成为信息系统首先关心的问题。(如下页图)数据库技术经历了以上三个阶段的发展,已有了比较成熟的数据库技术,但随着计算机软硬件的发展,数据库技术仍需不断向前发展1.2.3数据库技术的术语在数据库应用中,常用到DB、DBMS、DBS等术语,形式定义如下。定义1.1数据库(Database,简记为DB)DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。定义1.2数据库管理系统(DatabaseManagementSystem,简记为DBMS)DBMS是位于用户与操作系统(O
本文标题:文件系统的三个缺陷:数据的冗余、不一致性和联系弱。
链接地址:https://www.777doc.com/doc-7051607 .html