文件系统的三个缺陷:数据的冗余、不一致性和联系弱_第1页
文件系统的三个缺陷:数据的冗余、不一致性和联系弱_第2页
文件系统的三个缺陷:数据的冗余、不一致性和联系弱_第3页
文件系统的三个缺陷:数据的冗余、不一致性和联系弱_第4页
文件系统的三个缺陷:数据的冗余、不一致性和联系弱_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

普通高等院校计算机专业(本科)教材数据库

实用教程

丁宝康董健全编著

清华大学出版社精选课件前言一、为何学习数据库1.数据库技术是计算机软件领域的一个重要分支。数据库技术的发展,使它已经成为现代信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。因此,在衡量一个国家信息化的程度时,其数据库的建设规模、数据库信息量的大小和使用程度也就成为重要的标志之一。2.目前世界上已有数以百万计的数据库系统在运行,其应用已深人到人类社会生活的各个领域。当今的管理信息系统(MIS)、办公信息系统(OIS)、计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、地理信息系统(GIS)等都以数据库技术为基础。精选课件前言二、

中国的数据库技术的现状我国引进数据库技术始于70年代末,从微型计算机上运行的数据库到当前的大型数据库系统的引入和应用,已经有20多年的历史。20多年来,虽然在微型计算机数据库知识的普及和应用上取得了很大的进展和成绩,在大型数据库系统的开发和应用上也取得了进步,甚至还有了国产化的数据库软件,但如果从对数据库系统的应用效果和对数据库技术的掌握上来比较,则与发达国家之间仍然存在较大的差距,特别是在大型数据库系统的开发、建设和应用水平差距更大。精选课件三、本课程的学习目标

数据库是普通高校计算机专业和信息管理专业一门专业基础课、一门重要的课程。它的主要任务是如何科学地组织和储存数据,如何高效地使用和管理数据。目的是使学生掌握数据库的基本原理、方法和应用技术,能有效使用现有的数据库管理系统和软件开发工具,掌握数据库结构的设计和数据库应用系统的开发方式。

精选课件第1章数据库发展史从20世纪50年代开始,计算机的应用由科学研究部门逐渐扩展到企业、行政部门。至60年代,数据处理已成为计算机的主要应用。数据处理也称为信息处理。

数据处理是指对各种形式的数据进行收集、储存、加工和传播的一系列活动的总和.其目的是从大量的、原始的数据中抽取、推导出对人们有价值的信息以作为行动和决策的依据;是为了借助计算机科学地保存和管理复杂的大量的数据,以便人们能方便而充分地利用这些宝贵的信息资源。

精选课件第1章数据库发展史

数据管理是指数据的收集、整理(分类)、组织(编码)、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且也是任何数据处理业务中必不可少的共有部分,数据处理的中心问题是数据管理。本章介绍自从有计算机以来数据管理技术的发展阶段:人工管理阶段、文件系统阶段、倒排文件系统阶段和数据库阶段,以及数据库的发展趋向。精选课件1.1数据管理技术的发展计算机的数据处理应用,首先要把大量的数据存放在存储器中。存储器的容量、存储速率直接影响到数据管理技术的发展。存储器的发展,为数据库技术提供了良好的物质基础。使用计算机以后,数据处理的速度和规模无论相对于手工方式还是机械方式都是无可比拟的,随着数据处理量的增长,产生了数据管理技术。数据管理技术的发展,与计算机硬件(主要是外部存储器)、系统软件及计算机应用的范围有着密切的联系。精选课件1.1数据库的由来和发展磁盘容量的发展时间(年)19561965197119781981198519952003容量(MB/轴)5301006001200500010000180000精选课件1.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是位于用户与操作系统(OS)之间的一层数据管理软件(见图1.5),它为用户或精选课件应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型等。定义1.3数据库技术

数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科。数据库技术是一门综合性较强的学科。定义1.4数据库系统(DatabaseSystem,简记为DBS)DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统精选课件(补充:

数据库技术的研究领域)数据库学科的研究范围主要包括以下三个领域:1.数据库管理系统软件的研制DBMS是数据库系统的基础。DBMS的研制包括研制DBMS本身及以DBMS为核心的一组相互联系的软件系统,包括工具软件和中间件。研制的目标是提高系统的性能和提高用户的生产率。2.数据库设计数据库设计的研究范围包括:数据库的设计方法、设计工具和设计理论的研究,数据模型和数据建模的研究,计算机辅助数据库设计及其软件系统的研究,数据库设计规范和标准的研究等。精选课件3.数据库理论数据库理论的研究主要集中于关系规范化理论、关系数据理论等。近年来,随着人工智能与数据库理论的结合以及并行计算技术的发展,数据库逻辑演绎和知识推理、并行算法等都成为新的研究方向。随着数据库应用领域的不断扩展,计算机技术的迅猛发展,数据库技术与人工智能技术、网络通信技术、并行计算技术等到相互渗透、相互结合,使数据库技术不断涌现新的研究方向。本书介绍数据库的基本概念、基本技术和基本理论,是进行上述三个领域进一步研究的基础精选课件1.2.4数据库技术的发展

20世纪70年代,层次、网状、关系等三大数据库系统奠定了数据库技术的概念、原理和方法。从80年代起,数据库技术不断与其他计算机分支结合,向高一级的数据库技术发展。高级数据库技术有以下一些分支。1.分布式数据库技术

在这一阶段以前的数据库系统是集中式的。随着小型计算机和微型计算机的普及,随着计算机网络软件和远程通信的发展,分布式数据库系统崛起了分布式数据库系统主要有下面三个特点:(1)数据库的数据物理上分布在各个场地,但逻辑上是一个整体。精选课件

(2)每个场地既可以执行局部应用(访问本地DB),也可以执行全局应用(访问异地DB)。(3)各地的计算机由数据通信网络相连接。本地计算机单独不能胜任的处理任务,可以通过通信网络取得其他DB和计算机的支持。分布式数据库系统兼顾了集中管理和分布处理两个方面,因而有良好的性能,具体结构如下图

精选课件

2.面向对象数据库技术面向对象数据库是面向对象的程序设计技术与数据库技术结合的产物。主要有以下两个特点:(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论