版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、普通高等教育普通高等教育“十一五十一五”规划教材规划教材主编主编 蔡延光蔡延光参编参编 黄永慧黄永慧 邢延邢延 张钢张钢机械工业出版社机械工业出版社第第1章章 数据库系统概述数据库系统概述内容提要内容提要v数据库技术是研究数据的组织、存储、管理和使用的一门计算机科学分支,其应用非常广泛。要掌握好数据库技术,首先必须掌握数据库系统的基本概念,了解数据库应用系统的开发过程。本章介绍信息、数据、数据类型、数据库、数据库系统、数据库管理系统、数据库应用系统等基本概念,介绍数据库应用系统的生存期及瀑布模型、数据库技术的发展历程和发展趋势。 1.1 数据库系统的基本概念数据库系统的基本概念v 1.1.1
2、信息的定义与特征v 1. 信息的定义v 信息就是新的、有用的事实和知识。它具有时效性、有用性和知识性,是客观世界的反映。v 信息论的创始人香农(C. E. Shannon)1948年在通信的数学理论一书中指出:“凡是在一种情况下能减少不确定性的任何事物都叫做信息。” v 控制论的创始人维纳(N. Wiener)在人有人的用处控制论和社会中说:“信息这个术语的内容就是我们对外界进行调节并使我们的调节为外界所了解时而与外界交换来的东西。”v 我国国家标准GB489885情报与文献工作词汇基本术语中,关于“信息”的解释是:“信息是物质存在的一种方式、形态或运动状态,也是事物的一种普遍属性,一般指数据
3、、消息中所包含的意义,可以使消息中所描述事件的不定性减少。信息的特征信息的特征v2. 信息的特征v(1)信息的普遍性和客观性 世界是客观存在的物质世界,物质是运动的,运动的物质既产生也携带信息。因而信息是客观的、普遍存在的。信息的客观性表现为它是以物质客观存在为前提的。即使是主观信息,如决策、判断、指令等,也有它的客观实际背景,并受客观实践的检验。因此信息必须真实、准确地反映客观实际。信息的特征信息的特征v(2)信息是有用的 信息的有用性是指利用信息可以创造价值,如提高决策的科学性、提高生产效率、提高产品销售量。v(3)信息的依附性 信息的依附性是指信息总是依附于某种载体表现的,信息不能脱离载
4、体而独立存在。信息的载体(或信息的表现形式)包括语言、文字、数据、符号、图像、声音、情景、表情、动作、状态等。信息的特征信息的特征v(4)信息的共享性 信息的共享性是指同一信息可被许多人分享,且信息不会因为分享而减少或丧失。信息的共享性有两层含义:一是信息交换的双方,即传播者和接受者都可以享有被交换的同一信息。二是信息在交换或交流中,可以同时为众多的接受者接收和利用。v信息的共享性是相对而言的,信息的共享范围往往是受限制的。例如,某超市的销售信息对其管理人员来说是共享的,而对其竞争对手来说是不共享的。v值得注意的是,信息的共享性特征也引起了信息的安全性和保密性等一系列问题。信息的特征信息的特征
5、v(5)信息的可传输性 把信息从时间或空间的某一点向其他点移动的过程称为信息传输。信息的可传输性是指信息可以通过一定的传输工具和载体进行传输。信息可以通过多种渠道、采用多种方式进行传输。语言、表情、动作、报刊、书籍、广播、电视、电话、电报、通信卫星等是常用的信息传输方式。信息的特征信息的特征v(6)信息的可识别性 信息的可识别性是指人们不仅可以通过眼、鼻、耳等感觉器官去感知信息,而且可以通过各种仪表器械去检测、识别和处理。v信息的识别方式分为直接认别和间接识别。直接认别是指通过感官的识别,间接识别是指通过各种测试手段的识别。不同的信息源有不同的识别方法。信息的特征信息的特征v(7)信息的可压缩
6、性 信息的可压缩性是指人们通过对信息进行加工、整理、概括、归纳等手段而使之精练、浓缩,用较少的信息量描述一件事物主要特征。信息压缩在实际中很有必要,因为我们可能没有能力也没有必要收集、存储一个事物的全部信息。v(8)信息的可转换性 信息的可转换性是指信息可以从一种表现形式转换为另一种表现形式。如自然信息可转换为语言、文字和图像等形式,也可转换为电磁波信号和计算机代码。1.1.2 数据的定义与特征数据的定义与特征v1.1.2 数据的定义与特征v1. 数据的定义v数据是信息的最佳表现形式之一,它通过可书写的信息编码表示信息。数据的特征数据的特征v2. 数据的特征v数据除了具有信息的所有特征外,还具
7、有以下一些特征。v(1)数据有“型”和“值” 数据的型指数据的结构,即数据的形式架构。数据的值是指数据的具体取值。如“学生”数据的型由“学号”、“姓名”、“性别”、“所在系”等构成,其中“学生”为数据名,而“2006010210、王燕、女、自动化系”是“学生”数据的一个值。数据的特征数据的特征v(2)数据受数据类型和取值范围的约束 数据的类型包括字符型、数值型、日期型等简单数据类型,也包括由若干数据类型构造出的复杂数据类型。例如,“姓名”的数据类型为字符型,“年龄”的数据类型为数值型。数据类型不同,其表示形式、存储方式、操作运算一般也是不同的。例如,数值型数据可以进行加、减、乘、除等算术运算,
8、而字符型数据可以进行连接、取子串、查子串等运算。v数据是有取值范围约束的。例如,“年龄”不可能取值负数,也不可能太大,其取值范围一般为0150。数据的特征数据的特征v(3)数据有定性表示和定量表示 例如,职工的年龄可以定性地表示为“老”、“中”、“青”,也可以用具体岁数定量地表示。1.1.3 数据类型数据类型v1.1.3 数据类型v常见的数据类型有字符型、数值型、日期型、逻辑型、备注型。v1. 字符型v字符型数据由中文字符、英文字符、数值字符、空格和其他专用符号组成。字符型数据一般有宽度限制,最大宽度不超过254B(Byte,字节)。例如,姓名、公司名称属于字符型数据。数据类型数据类型v2.
9、数值型v数值型数据只能由数字、小数点和正负号组成。数值型数据介于-263和264之间,数值的最大精度为16位有效数字,小数最多15位。数值型数据可以分为整数型、实数型和浮点数型等。例如,人数、商品单价属于数值型数据。v3. 日期型v日期型数据是用来表示日期的特殊数据,有固定的格式。日期型数据长度固定为8位。一般日期格式“yyyy-mm-dd”表示“年-月-日”,美国日期格式“mm/dd/yyyy”表示“月/日/年”。例如,2008年10月1日的一般日期格式表示为“2008-10-1”、美国日期格式表示为“10/01/2008”。数据类型数据类型v4. 逻辑型v逻辑型数据是表示逻辑判断结果的值,
10、只能取真(T,Y)或假(F,N)。逻辑型数据的长度固定为1bit(位)。v5. 备注型v备注型也称为记忆型、文本型。v当需要存储大量的字符时,应该使用备注型数据。注意,备注型数据一般长度较大,而字符型数据长度较小。1.1.4 数据库及其特点数据库及其特点v1.1.4 数据库及其特点v数据库已经与我们的日常工作、学习和生活密切相关,如学生成绩数据库、员工档案数据库、库存商品数据库、图书数据库、银行数据库、手机短信数据库。v1. 数据库的定义v数据库(Database,DB)是一个按一定数据结构来组织、存储和管理的数据集合。数据库的特点数据库的特点v2. 数据库的特点v(1)数据结构化 数据结构化
11、是指数据库按照一定的数据模型来组织和存放数据。这种结构化了的数据能反映数据之间的自然联系。而传统的文件是无模型的,结构非常简单,因此不能反映数据之间的自然联系。数据结构化是数据库和文件之间的一个重要的本质差别,是实现对数据的集中控制和减少数据冗余的前提和保证。这里,数据冗余是指同一组数据在多个文件中同时出现所引起的数据重复现象。数据库的特点数据库的特点v (2)数据独立性 数据独立性是指数据库的数据与应用程序之间不存在相互依赖关系,也就是数据的逻辑结构、存储结构和存取方法等不因应用程序的修改而修改,反之亦然。这是数据库与文件之间的另一个重要区别。数据独立性分为物理独立性和逻辑独立性两级。v 1
12、)数据物理独立性 数据物理独立性是指数据的物理结构(或存储结构)与应用程序相互之间有较强的独立性。当数据的物理结构改变(如物理存储设备的更换、物理存储位置的变更、存取方法的改变)时,应用程序不需要修改仍能正常工作,反之亦然。v 2)数据逻辑独立性 数据逻辑独立性是指当数据的逻辑结构改变时,如修改数据结构、增加新的数据类型、改变数据间的联系等,无需修改原来的应用程序。v 一个具有数据独立性的系统称之为以数据为中心的系统,或面向数据的系统。数据库的特点数据库的特点v(3)实现数据共享 数据共享是指多个用户、多种程序语言、多个应用程序使用一些共同的数据。数据共享是促成发展数据库技术的重要原因之一,也
13、是数据库技术先进性的一个重要体现。数据库中的数据可供多个应用程序、多个用户共同使用,这些应用程序可以用不同的程序设计语言编写,用户可以处于不同的业务部门、不同的物理位置。数据库的特点数据库的特点v(4)数据的冗余度小 在数据库产生以前,每个应用都需要建立自己的数据文件,从而造成了数据冗余。数据冗余带来的弊病有:v1)浪费存储空间。v2)为了更新某些冗余副本,保持数据的一致性,必须执行多次更新操作,从而增加不必要的机器时间。v3)由于数据的不同副本可能处于不同的更新阶段,从而可能给出不一致的信息。v数据库则是以整体观点来组织和存储数据的,数据是集成化、结构化的。它是为多种应用所共享的,从而大大减
14、少了数据冗余。数据库的特点数据库的特点v(5)避免了数据的不一致性 当本应相同的数据在不同的应用中出现不同的值时,我们就说数据出现了不一致。例如,同一职工的工资,如果在工资单上和人事档案中具有不同的值就出现了不一致。数据的不一致性主要是由数据冗余引起的。数据库在理论上消除了数据冗余,因而可以避免数据的不一致性。即使存在某些冗余,数据库也提供了对数据的控制和检查机制,保证在更新数据的同时更新其所有副本,从而保证了数据的一致性。数据库的特点数据库的特点v(6)有利于数据的安全性 数据的安全性是指保护数据,防止不合法使用数据造成数据的泄密和破坏,使每个用户只能按规定对某些数据以某些方式进行访问和处理
15、。只有DBA(Database Administrator,数据库管理员)对数据库中的数据拥有完全的操作权限,DBA可以规定各用户的权限。每当用户企图存取敏感数据时,数据库就进行安全性检查。对于致据库中数据的各种操作(查询、修改、删除等)数据库都可以实施不同级别的安全检查。数据库的特点数据库的特点v(7)有利于保证数据的完整性 数据的完整性是指数据的正确性、有效性和相容性,即将数据控制在有效的范围内,或要求数据之间满足一定的关系。数据的不一致性是失去完整性的例子。当然,数据冗余可能引起数据的不完整性,但是没有数据冗余同样可能出现不正确的数据而使数据库失去数据完整性。例如,在一个数值型数据中出现
16、了字母、特殊符号等,或一个工人一周的工作时间超过200h等都是失去完整性的例子,它们与是否存在数据冗余无关。数据库的集中控制可以避免这些情况的出现。它通过DBA定义的完整性规则,对每一次更新操作实施完整性检查,保证数据的完整性。数据的完整性检查对于多用户系统尤为重要。例如,当一个用户正在修改某一数据时,别的用户也去修改这个数据就可能产生不完整的数据。数据库的特点数据库的特点v(8)可以发现故障和恢复正常状态 实际工作中,人们很难保证数据库在运行过程中不受到破坏。实际上,硬件、软件故障及用户操作的失误,随时有可能使数据库遭到局部性的或全局性的破坏。数据库有一套及时发现故障,并迅速地把数据库恢复到
17、故障以前的正确状态的措施,如转储、日志、检查点等方法。1.1.5 数据库管理系统数据库管理系统v1.1.5 数据库管理系统v1. 数据库管理系统的定义v数据库管理系统(Database Management System,DBMS)是对数据库进行管理的软件系统,它负责数据库中的数据组织、数据操纵、数据维护、数据控制及保护和数据服务等。vDBMS建立在操作系统之上,实施对数据库的统一管理和控制。基于数据库的实际应用系统通过DBMS操作数据库中的数据。数据库管理系统的功能数据库管理系统的功能v2. 数据库管理系统的功能v(1)数据定义 DBMS通过其数据定义语言(Data Definition L
18、anguage,DDL)定义数据库及其组成元素的结构。v(2)数据操纵 DBMS通过其数据操纵语言(Data Manipulation Language,DML)操纵数据库中的数据,即对数据库中的数据进行插入、修改、删除、查询、统计和排序等操作。v(3)数据控制 DBMS通过其数据控制语言(Data Control Language,DCL)对数据库中的数据进行安全性控制,以保证数据的安全。数据库管理系统的功能数据库管理系统的功能v(4)数据组织与存取 DBMS提供数据在外围存储设备上的物理组织与存取方法。v(5)数据库建立与维护 数据库的建立是指数据的载入、转储、重组与恢复等。数据库的维护是
19、指数据库及其组成元素的结构修改、数据备份等。v(6)运行管理 DBMS 提供并发控制、数据存取控制、完整性控制、运行日志,以保证所有的数据库操作正确有效。1.1.6 数据库系统数据库系统v1.1.6 数据库系统v数据库系统(Database System,DBS)是一个带有数据库的计算机应用系统,它由支持该系统开发、使用与运行维护的硬件、软件和人员组成。简单地说,数据库系统由硬件、软件和人员三部分组成。v数据库系统的体系结构如图1-1所示。数据库系统的体系结构数据库系统的体系结构图1-1 数据库系统的体系结构数据库系统的硬件数据库系统的硬件v1. 数据库系统的硬件v数据库系统是在其硬件的支持下
20、运行的。数据库系统的硬件包括计算机及外围设备。数据库系统的计算机用于数据存储、数据处理与数据管理,它包括客户机、网络服务器、数据库服务器,数据库系统的外围设备包括通信设备、输入输出设备。通信设备如计算机网络、交换机、路由器,用于数据传输和数据共享。输入输出设备如条码扫描仪、图形扫描仪、摄像头、数码照相机、视频采集卡、电影卡、激光打印机、数字印刷机等,用于一些特殊数据的输入输出。v数据库系统一般数据量大、处理复杂、共享程度高。为了保证整个数据库系统的正常运行,在进行数据库系统的硬件配置时,必须保证有足够的计算机内存和外存、良好的通信效率。数据库系统的硬件数据库系统的硬件v(1)计算机内存 计算机
21、内存用作操作系统、DBMS、开发工具、应用软件等运行时的程序工作区或数据缓冲区。一般地,内存越大,处理速度越快。但内存过大将造成浪费。v(2)计算机外存 计算机外存用来存放操作系统、DBMS、开发工具、应用软件等。计算机外存主要有软盘、硬盘、磁带、光盘、闪存盘。实际应用中,硬盘是数据库系统的主要存储设备。v(3)通信效率 目前,大多数数据库系统都是基于计算机网络的系统。计算机网络应该具有良好的通信效率,否则将无法保证数据传输和数据共享的需要。数据库系统的软件数据库系统的软件v2. 数据库系统的软件v数据库系统软件包括操作系统、数据库应用系统、DBMS、主语言编译系统、应用系统开发工具。v(1)
22、操作系统 操作系统是一种基础性系统软件,是整个计算机系统的核心,负责合理有效地组织、协调、控制和维护计算机系统的各种软件和硬件资源,控制应用程序运行并为其开发、运行与管理提供支持,提供方便、有效和友好的用户界面。常见操作系统有DOS、Windows、Unix、Linux。数据库系统的软件数据库系统的软件v(2)数据库应用系统 数据库应用系统(Database Application System,DBAS)是一个带有数据库的计算机软件系统,它是包括应用程序、数据、数据库以及与该系统的开发、维护和使用有关的文档的完整集合。数据库应用系统在操作系统、DBMS、数据库的支持下运行。数据库系统的软件数
23、据库系统的软件v(3)DBMS与主语言编译系统 DBMS主要负责数据库中的数据组织、数据操纵、数据维护、数据控制及保护,它的程序控制、人机接口、硬件接口以及与其他应用系统接口的能力较弱,基本不提供复杂的数据处理功能。因此为了开发数据库应用系统,就需要主语言系统的配合。主语言系统主要用于程序控制、人机接口、硬件接口以及与其他应用系统接口,提供复杂的数据处理和数据展现功能。常见的主语言系统有C、C+、Java、Delphi、Fortran。主语言编译器是主语言的核心,它负责把用主语言所编写的应用程序源代码翻译为计算机能解读、运行的机器语言程序。数据库系统的软件数据库系统的软件v(4)应用系统开发工
24、具 应用系统开发工具即软件开发工具,是辅助开发人员和用户开发应用系统的工具性软件,包括软件需求分析工具、软件设计工具、软件测试工具、软件集成开发环境、报表生成器等。常见的应用系统开发工具有Visual Studio、Delphi、C+ Builder、Rational Rose。v数据应用系统的开发需要应用系统开发工具作为支持。数据库系统的人员数据库系统的人员v3. 数据库系统的人员v数据库系统的人员是指数据库系统的开发人员、用户和运行维护人员。他们在数据库系统的开发、应用和维护中起重要作用,相应的角色有系统分析员、程序员、用户、DBA。v(1)DBA 数据库在企业或组织的数据资源管理中处于核
25、心地位,因此企业或组织应该设立专门的数据资源管理机构来管理数据库。DBA则是这个机构的一组人员,全面负责数据库系统的运行管理和控制。DBA的具体职责包括:数据库系统的人员数据库系统的人员v1)参与数据库系统设计 数据库中要存放哪些数据和怎样存取数据是由数据库系统需求决定的。为了更好地对数据库系统进行有效的管理和维护,DBA应该与系统分析员、程序员、用户密切合作,搞好数据库设计。v2)参与决定数据库的存储结构和存取策略 DBA应和系统分析员、程序员、用户一道,根据数据库系统需求共同决定数据库的存储结构和存取策略,以获得较高的存取速度和存储空间利用率。数据库系统的人员数据库系统的人员v3)参与定义
26、数据的安全性要求和完整性约束条件 DBA要保证数据库的安全性和完整性,即数据不被非法用户所获取,且保证数据库中数据的正确性和数据间的相容性。因此DBA应和系统分析员、程序员、用户一道,确定各个用户对数据库的存取权限、数据的保密级别和完整性约束条件。数据库系统的人员数据库系统的人员v4)监控数据库的使用和运行 DBA要监视数据库系统的运行情况,及时处理运行过程中出现的问题。当系统发生某些故障时,数据库中的数据会因此遭到不同程度的破坏,DBA必须在最短时间内将数据库恢复到某种一致状态,并尽可能不影响或少影响计算机系统其他部分的正常运行。为此,DBA要定义和实施适当的后援和恢复策略,如采用周期性转储
27、数据和维护日志文件等方法。数据库系统的人员数据库系统的人员v5)数据库的改进和重组 DBA 还负责在系统运行期间监视系统的存储空间利用率、处理效率等性能指标。对运行情况进行记录、统计分析,并根据实际不断改进数据库设计。不少数据库产品都提供了对数据库运行情况进行监视和分析的实用程序,DBA可以方便地使用这些实用程序来完成这些工作。v另外,在数据库运行过程中,大量数据不断插入、删除、修改,随着运行时间的延长,在一定程度上要会影响系统的性能。因此DBA要定期对数据库进行重新组织,以提高系统的性能。数据库系统的人员数据库系统的人员v(2)系统分析员与程序员 系统分析员是数据库系统建设初期的主要人员,负
28、责数据库应用系统需求分析。他们要和用户密切配合,确定系统的基本功能、数据库结构和软硬件配置等,并组织整个系统的开发。因此系统分析员是一类具有领域业务知识和计算机知识的专家,他们在很大程度上影响数据库系统的质量和成败。v程序员的主要职责是根据数据库系统需求设计、实现数据库应用系统的数据库和程序模块,并参与对数据库和程序模块的测试。数据库系统的人员数据库系统的人员v(3) 用户 这里指最终用户。数据库系统的用户是有不同层次的,不同层次的用户对信息的需求及获取方式也是不同的。用户通过数据库应用系统的用户接口使用数据库,进行业务管理。常用的接口方式有菜单、图标、窗口、图形、对话、表格。数据库的三级模式
29、结构数据库的三级模式结构v4. 数据库的三级模式结构v为了有效地组织、管理数据库中的数据,提高数据库的逻辑独立性和物理独立性,人们为数据库设计了三级模式结构,即外模式(External Schema)、模式(Schema)和内模式(Internal Schema)。如图1-2所示。v数据库三级模式的划分使不同类型的数据库系统人员以不同的视图看待数据库中的数据。这里,视图是指观察、认识和理解数据的范围、角度和方法,是数据库在数据库系统人员“眼中”的反映。数据库的三级模式结构数据库的三级模式结构模式图1-2 数据库的三级模式结构外模式应用应用外模式应用应用外模式应用应用内模式数据库外模式/模式映像
30、模式/内模式映像数据库的三级模式结构数据库的三级模式结构v(1)模式 模式也称为逻辑模式(Logic Schema),它是由数据库设计者综合所有的数据需求,从全局的角度对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图即全局视图。它是数据库模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。v模式通过模式DDL定义。定义模式时不仅要定义数据的逻辑结构(如数据的型、数据类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。v以逻辑模式为框架的数据库称为概念数据库。数据库的三级模
31、式结构数据库的三级模式结构v(2) 外模式(External Schema) 外模式也称为子模式(Subschema)或用户模式(User Schema),是程序员和最终用户能看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。v外模式完全按照用户对数据的需要、站在局部的角度进行设计的。由于一个数据库应用系统有多个应用,因此可以有多个外模式。由于外模式是面向程序员和最终用户的,因此又称为用户数据视图。另一方面,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。v外模式主要通过外模式DDL定义,也有一些外模式通过D
32、ML描述。v以用户模式为框架的数据库称为用户数据库。数据库的三级模式结构数据库的三级模式结构v使用外模式可以带来几点好处:v1)由于使用外模式,数据库设计者和用户不必关心整个数据库的数据,而只关心与自己的局部应用有关的一部分数据,并且不需了解它们的物理存储结构,这就使得程序设计和数据使用工作都得到了简化。v2)由于使用外模式,用户只能操作与其有关的数据,而不能操作与其无关的数据,这有利于数据的安全保密。v3)由于同一模式可以派生出多个外模式,故有利于数据独立性和数据共享。数据库的三级模式结构数据库的三级模式结构v(3)内模式(Internal Schema) 内模式也称为存储模式(Storag
33、e Schema)或物理模式(Physical Schema),它是数据物理结构和存储方式的底层描述,包括记录的存储方式、索引组织方式、数据是否压缩和加密。v比内模式更接近物理存储和访问的那些软件机制,即文件系统,是操作系统的一部分。例如,从磁盘读数据或写数据到磁盘上。v一个数据库只有一个内模式,内模式通过内模式DDL定义。v以物理模式为框架的数据库称为物理数据库。数据库的三级模式结构数据库的三级模式结构v(4)概念数据库、用户数据库与物理数据库的相互关系 在数据库系统中,只有物理数据库才是真正存在的,它是存放在计算机外存上的数据文件。概念数据库、用户数据库在计算机外存上是不存在的。概念数据库
34、是物理数据库的逻辑抽象形式,物理数据库是概念数据库的具体实现。用户数据库是概念数据库的子集,即是物理数据库子集的逻辑抽象形式。数据库的三级模式结构数据库的三级模式结构v(5)数据库的二级映像技术 数据库的二级映像技术是指外模式与模式映像、模式与内模式映像技术。二级映像技术不仅在三级模式之间建立联系,同时保证了数据独立性。v1)外模式/模式映像 外模式/模式映像定义并保证了外模式与模式之间的对应关系。外模式/模式映像定义通常保存在外模式中。v外模式/模式映像保证了数据的逻辑独立性。即当模式改变时,DBA可以通过修改外模式/模式映像的手段使外模式不变。由于应用程序是根据外模式设计的,即使模式改变了
35、,只要外模式不变,应用程序不必修改仍可照常运行。因此外模式/模式映像保证了数据与应用程序的逻辑独立性。数据库的三级模式结构数据库的三级模式结构v2)模式/内模式映像 模式/内模式映像定义并保证了模式与内模式之间的对应关系。它描述了数据的记录、数据项在计算机内部是如何组织和表示的。v模式/内模式映像保证了数据的物理独立性。即当数据库的物理模式改变了,通过修改模式/内模式映像的手段使模式不变。由于应用程序和用户是根据模式访问数据的,即使物理模式改变了,只要模式不变,应用程序或用户的访问方式不必修改仍可照常访问数据。因此模式/内模式映像保证了数据与应用程序的物理独立性。1.2 数据库技术的发展历程数
36、据库技术的发展历程v1.2.1 人工管理阶段v人工管理阶段是指20世纪50年代中期以前。在这一阶段中,从应用上看,计算机的主要应用领域是科学计算。从硬件上看,这个时期计算机内存空间小,计算速度低,外存只有磁带、卡片和纸带,没有像磁盘这样快速的直接存取存储设备。从软件上看,计算机没有操作系统,更没有数据管理软件,数据处理是以批处理方式进行的。人工管理阶段数据管理的特点人工管理阶段数据管理的特点v1. 人工管理阶段数据管理的特点v(1)数据不保存 由于当时计算机主要用于科学计算,强调提高计算速度和精度,数据量较少,一般不需要将数据长期保存。此外,由于内存和外存的空间有限,数据也不便于长期保存。因此
37、只是在求解某个问题时才将数据输入到计算机,数据用完后就从内存中撤走。不仅对用户数据如此处置,对系统软件涉及的数据有时也是这样。v(2)程序员管理数据 由于当时没有相应的软件系统负责数据的管理工作,应用程序中涉及的数据需要由程序员自己管理,即程序员在程序中不仅要编写数据逻辑结构的代码,而且还要编写数据物理结构的代码,包括数据存储结构、存取方法和输入方式的代码。人工管理阶段数据管理的特点人工管理阶段数据管理的特点v(3)数据不能共享 在人工管理阶段,由于数据是在程序中定义的,一组数据只能对应一个程序。当多个应用程序涉及某些相同的数据时,由于必须在各自的程序中定义,无法或很难互相利用、互相参照,因此
38、程序与程序之间的相同数据无法共享。数据均由应用程序自己管理,没有统一的负责管理数据的专门软件系统。由于数据是面向应用程序的,不仅数据的逻辑结构和物理结构的设计是由应用程序承担的,而且它们的修改也会引起应用程序的修改,这样必然导致程序员的负担很重,且产生大量的冗余数据。人工管理阶段数据管理的特点人工管理阶段数据管理的特点v(4)数据不具有独立性 由于数据的逻辑结构和物理结构均在程序代码中定义,如果因为某种原因,需要改变数据的逻辑结构或物理结构时,必须对应用程序代码作相应的修改,即数据与程序之间不具有独立性。这不仅加重了程序员的负担,且使用起来也很不方便、费时费力。v在人工管理阶段,应用程序与数据
39、之间的一一对应关系可用图1-3表示。其中,图1-3(a)表示数据从程序外部通过键盘等设备进入程序的情形,图1-3(b)表示数据集成在程序中的情形。人工管理阶段应用程序与数据之间的对应关系人工管理阶段应用程序与数据之间的对应关系应用程序1应用程序2应用程序n数据集1数据集2数据集n应用程序1数据集1应用程序n数据集n图1-3 人工管理阶段应用程序与数据之间的对应关系 应用程序2数据集2(a)(b)人工管理阶段数据管理的缺点人工管理阶段数据管理的缺点v2. 人工管理阶段数据管理的缺点v(1)数据管理中没有直接存取的存储设备存储数据,导致应用程序中的数据无法被其他程序利用。v(2)由于人工管理阶段的
40、数据是面向应用的,即使两个应用程序涉及某些相同的数据,也必须各自定义,所以程序与程序之间有大量重复数据,导致数据冗余。v(3)由于没有专门的软件管理数据,程序员不仅要规定数据的逻辑结构,而且还要在程序中设计物理结构,使数据和程序之间不具有相对独立性,这样就会造成数据独立性、结构性差。v(4)人工管理阶段的软硬件条件很差,在需要时将数据输入,用完就撤走,导致了数据不能长期保存。1.2.2 文件系统阶段文件系统阶段v文件系统阶段是指从20世纪50年代后期到60年代中期。该时期的计算机应用范围逐渐扩大,计算机不仅用于科学计算,而且还大量用于信息管理。计算机硬件有了进一步的发展,出现了磁盘、磁鼓等能直
41、接存取的外存储设备。在软件方面,高级语言和操作系统已经有了完善的产品,并且操作系统中有专门负责管理数据的文件系统功能。数据处理的方式有批处理,也有联机实时处理。文件系统阶段数据管理的特点文件系统阶段数据管理的特点v1. 文件系统阶段数据管理的特点v(1)数据可以长期保存 由于计算机大量用于数据处理,数据需要长期保存以便反复使用。把数据以文件的形式保存在磁盘等外存储器上,为数据的长期保存和反复使用提供了保证。v(2)文件的多样化和结构化 由于有了直接存取设备,也就出现了顺序文件、索引文件、随机文件等多种文件组织形式。数据文件的存取基本上以记录为单位,而记录则是由一些字段按特定的结构组成的,每个记
42、录的长度是相等的。因此文件是记录的集合,文件系统实现了记录内部的有结构、但在整体上数据仍然是无结构。文件系统阶段数据管理的特点文件系统阶段数据管理的特点v(3)文件系统管理数据 操作系统提供的文件管理系统是应用程序与数据文件的专门接口。程序和数据文件之间的存取操作由文件系统根据“按文件名访问,按记录进行存取”的管理技术自动完成。文件的逻辑结构到物理结构的转换由文件系统来自动完成,而不必由程序员设计考虑,从而使得程序和数据分开,数据与程序之间有了一定的独立性。这样,程序员可以集中精力于数据的逻辑结构,而不必或者很少考虑其物理结构。数据在物理结构上的改变,通常不会反映在程序上,从而可以大大地节省维
43、护程序的工作量。v在文件系统阶段,应用程序与数据文件之间的关系如图1-4所示。应用程序与数据文件的对应关系是通过文件管理系统实现的。文件系统阶段数据管理的特点文件系统阶段数据管理的特点图1-4 文件系统阶段应用程序与数据文件的对应关系教务管理应用程序人事管理应用程序学籍管理应用程序教务管理数据文件人事管理数据文件学籍管理数据文件文件管理系统文件系统阶段数据管理的缺点文件系统阶段数据管理的缺点v2. 文件系统阶段数据管理的缺点v文件系统阶段数据管理水平比人工管理阶段有了很大的改进,但仍存在如下缺点:v(1)数据冗余度大 在文件系统中,一个文件基本上对应于一个应用程序,即文件系统中文件仍由应用程序
44、来定义。当不同的应用程序具有部分相同的数据时,也必须建立各自的数据文件,而不能共享相同的数据。例如,在人事文件中包含了企业所有雇员的信息,而销售文件中又包含了属于销售人员的雇员信息。此外,由于相同的数据在不同的文件中重复存储、并由各自的程序管理,容易造成数据的不一致性,给数据的修改和维护带来困难。文件系统阶段数据管理的缺点文件系统阶段数据管理的缺点v(2)数据独立性较差 由于文件的逻辑结构是在应用程序中定义的,文件系统中的文件是为某一特定应用服务的,因此一旦数据的逻辑结构改变,必须修改应用程序中关于文件结构的定义。反过来,应用程序的改变(例如,应用程序改用其他的高级语言编写)也将引起数据文件结
45、构的改变。因此数据与程序之间独立性较差。v(3)数据联系弱 数据联系是指不同文件中的数据之间的联系。在文件系统阶段,不同文件中的数据是相互独立的,数据联系弱。虽然文件之间的某些数据存在着紧密的逻辑联系,但是由于实现这种逻辑联系的复杂性,很少在文件管理系统中提供这些数据之间的联系方法,因此各个数据文件之间是孤立的,不能反映现实世界中客观事物之间的内在联系。1.2.3 数据库系统阶段数据库系统阶段v1.2.3 数据库系统阶段v1. 数据库系统的形成与发展v数据库系统阶段是指从20世纪60年代后期至今。数据管理技术进入数据库系统阶段的标志是20世纪60年代末期的三件大事: 1968年美国IBM公司推
46、出层次模型的IMS(Information Management System)系统。1969年美国CODASYL(Conference On Data System Language)组织颁布了DBTG(Data Base Task Group,数据库任务组)报告。提出网状模型。1970年美国IBM公司的E.F.Codd连续发表论文,提出关系模型,奠定了关系数据库的理论基础。特别是20世纪70年代以来,多种应用、多种语言共享数据的要求越来越强烈。数据库系统阶段数据管理的特点数据库系统阶段数据管理的特点v2. 数据库系统阶段数据管理的特点v(1)采用特定的数据模型,使数据结构化 数据结构化是数
47、据库和文件系统的本质区别。在文件系统中,相互独立的文件的记录内部是有结构的,通常采取的是等长或变长的记录格式,但记录之间没有联系,这种数据的独立性只对一个应用而言,仍有局限性,不适应多用户、多应用共享数据的需求。而数据库系统为用户提供一个数据的抽象视图,它能隐藏数据的存储结构和存取方法等细节,并通过数据模型作为实现数据抽象的主要工具,实现了整体数据的结构化,它要求在描述数据时不仅要描述数据本身,还要描述数据之间的联系。 数据库系统阶段数据管理的特点数据库系统阶段数据管理的特点v(2)数据的独立性高 数据库系统提供了三级数据抽象(视图级抽象、概念级抽象和物理级抽象)能力和三种数据库模式(外模式、
48、模式和内模式),实现了数据的物理独立性和逻辑独立性。数据与程序的相互独立,使得可以把数据的定义和描述从应用程序中分离出去,而数据的存取由DBMS统一管理,用户在应用程序中不用考虑存取路径等细节,大大简化了应用程序的编制及应用程序对数据的维护和修改。v在数据库系统阶段,应用程序与数据之间的对应关系如图1-5所示。应用程序与数据的联系是通过DBMS实现的。数据库系统阶段应用程序与数据之间的对应关系数据库系统阶段应用程序与数据之间的对应关系图1-5 数据库系统阶段应用程序与数据之间的对应关系教务管理应用程序人事管理应用程序学籍管理应用程序数据库管理系统教务管理数据人事管理数据学籍管理数据数据库系统阶
49、段数据管理的特点数据库系统阶段数据管理的特点v(3)数据的共享性好,数据冗余度低 数据库系统允许多个用户或多个应用程序同时访问数据库中的相同数据,数据不再面向某个应用,而是面向整个系统,从而实现了数据的共享,节省了存储空间,大大减少了数据冗余,避免了数据之间的不相容性与不一致性。v(4)为用户提供了方便的用户接口 用户可以使用查询语言(如SQL)或终端命令对数据库进行访问,也可以借助高级语言(如C、Java)采用程序方式对数据库进行操作。数据库系统阶段数据管理的特点数据库系统阶段数据管理的特点v(5)统一的数据控制 数据库系统中的数据由DBMS统一管理,而且管理的是有结构的数据,因此可灵活地使
50、用数据。一个数据库一般都要支持很多应用程序和用户。不同的应用程序和不同的用户对同一个数据库可能有不同的理解,对同一数据库的一种理解称为这个数据库的一个视图。一个视图可以是一个数据库子集合,也可以是多个数据库的子集按照某种方式构成的虚拟数据库。DBMS提供了定义、维护和操纵视图的机制,使得多个用户可以为他们的应用定义、维护和使用自己的视图。数据库系统阶段数据管理的特点数据库系统阶段数据管理的特点v为了适应数据共享的环境,DBMS提供了数据控制功能:v(1)数据的安全性控制。v(2)数据的完整性控制。v(3)并发控制 并发控制是用来控制多个事务的并发运行,避免事务之间的相互干扰,保证每个事务都能产
51、生正确的结果。v(4)数据库恢复 数据库恢复是指在发生某种故障而使数据库当前状态已经不再正确时,能把数据库恢复到已知为正确的某种状态。1.3 数据库应用系统的生存期模型数据库应用系统的生存期模型v1.3.1 数据库应用系统的生存期v数据库应用系统同世间万物一样,经历着孕育、诞生、成长、成熟、衰亡的生存过程,这一过程称为数据库应用系统的生存期。v基于生存期的数据库应用系统开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型、智能模型等,这些模型实质上是计算机软件的一种开发模式或方法。其中瀑布模型最为著名。1.3.2 瀑布模型瀑布模型v1.3.2 瀑布模型v数据库应用系统的生存期模型是从系统的需求定义
52、直至系统经使用后废止为止,跨越整个生存期的系统开发、运行和维护的相关事务管理的一种模式。数据库应用系统生存期模型主要有瀑布模型、螺旋模型、演化模型等。下面简要介绍瀑布模型。v瀑布模型把数据库应用系统生存期划分为规划、需求分析、设计、实现、测试、运行与维护6个阶段,并且规定了它们自上而下、相互衔接的次序,如同瀑布流水、逐级下落,如图1-6所示。数据库应用系统生存期的瀑布模型数据库应用系统生存期的瀑布模型图1-6 数据库应用系统生存期的瀑布模型规划需求分析设计实现测试运行和维护瀑布模型瀑布模型v 1. 规划阶段v 规划阶段主要有两个任务:第一个任务是确定系统的总目标和限制条件,分析现有系统的工作流
53、程、费用、人员、设备、存在的问题等,提出多个系统方案,对所建议的各系统方案进行可行性分析,包括技术可行性、经济可行性、法律可行性分析,分析所建议的各系统方案的优点和缺点,提出决策建议,最终形成可行性研究报告;第二个任务是制定系统开发计划,包括工作分解及其负责人指定、开工时间与交付时间、阶段进度、开发与维护费用预算、人员组织及分工、设备与软件资源配置、关键问题(如技术难点)、专题计划要点(如测试计划、质量保证计划、人员培训计划、系统安装计划)。可行性研究报告和项目开发计划提供给决策部门作为项目是否上马的决策参考,并且如果项目获得立项,它们还是后续工作展开的纲领性文件。瀑布模型瀑布模型v2. 需求
54、分析阶段v需求分析阶段的主要任务是调查和分析用户的需求,编写需求规格说明书,组织开发人员、专家和用户进行需求分析评审。需求规格说明书是系统设计、实现、测试等工作的主要依据。v3. 设计阶段v设计阶段的任务是把软件需求转化为软件表示,分为概要设计(包括系统结构设计、数据设计)和详细设计(即过程设计)两个步骤,分别编写概要设计说明书和详细设计说明书,并组织开发人员、专家和用户进行设计评审。瀑布模型瀑布模型v4. 实现阶段v实现阶段的任务是把软件设计转换成计算机程序代码。v5. 测试阶段v测试阶段的任务是根据需求规格说明书、设计说明书和程序的内部结构设计一批测试用例,通过这些测试用例去运行程序,以发
55、现软件的错误。软件测试完成后,方可投入正式运行。v6. 运行与维护阶段v软件投入正式运行后,为了保证其正常工作, 必须做一些必要的维护工作。维护阶段的主要任务有数据更新、数据备份、状态监控、故障排除、系统升级。1.4 数据库技术的发展趋势数据库技术的发展趋势v随着计算机技术特别是计算机网络技术的发展,传统的数据库技术面临挑战。主要表现在以下几个方面:v(1)环境的变化 数据库的应用环境由可控制的环境变成多变的异构信息集成环境和Internet环境。v(2)数据类型的变化 数据库中的数据类型由结构化扩大至半结构化、非结构化和多媒体数据类型。v(3)数据来源的变化 大量数据将来源于实时和动态的传感
56、器或监测设备,需要处理的数据量剧增。v(4)数据管理要求的变化 许多新型应用需要支持协同设计和工作流管理。v为了迎接这些挑战,许多数据库技术研究和实践人员提出新的数据库概念,并开始在实际中使用。1.4 数据库技术的发展趋势数据库技术的发展趋势v1. 面向对象数据库v把面向对象的技术与数据库技术相结合,便产生了面向对象数据库。目前,面向对象数据库是数据库技术的一个重要发展方向,国外已经推出一些面向对象数据库产品,如美国Itasca System 公司的Itascs、Object Design公司的ObjectStore。这些面向对象数据库一般采用的是“纯”的面向对象模型。另外,还有一类面向对象数
57、据库基于原有的关系数据库扩展而来的,即在关系数据库上引进封装、继承、随机数据类型等概念。一些著名的数据库厂商及第三方厂商在关系数据库上开发了大量的面向对象开发工具及环境。1.4 数据库技术的发展趋势数据库技术的发展趋势v 2. 分布式数据库v 分布式数据库系统由多台计算机组成,每台计算机上配有各自的本地数据库,各计算机之间通过通信网络连接。在这种系统中,大多数处理任务由本地计算机访问本地数据库来完成,对于少量本地计算机不能单独胜任的处理任务,则通过通信网络与其他计算机相联系,并获得其他数据库中的数据。v 分布式数据库的数据在地理上分散、逻辑上集中,数据由系统统一管理,使用户感觉不到数据的分散,
58、用户看到的似乎是一个集中式数据库。与集中式数据库比较,分布式数据库具有体系结构灵活性大、可靠性高、可用性好、可扩充性好等优点。同时,也存在一些不足:分布式数据库虽然有利于改善性能,但如果数据库设计不好,数据分布不合理,使远距离访问过多,特别是当分布连接操作过多时,会降低系统的性能。1.4 数据库技术的发展趋势数据库技术的发展趋势v 3. 联邦数据库v 人类在其文明形成和发展过程中已经积累了浩瀚的数据,并且采用已有的各种DBMS分别进行着管理。即使以后数据库技术大大进步了,人类不可能也不应该放弃这笔巨大的财富。相反,应充分地发挥其作用。显然,完全用一种统一的数据库来改造它们几乎是不可能的。因此必
59、须承认现实,在已有的数据库基础上实现一定程度的联合(或综合)使用。我们把数据库的联合或综合称为联邦数据库。联邦数据库主要是在分布的环境下实现数据的集成。由于各个数据库的数据模型、DBMS和计算机机型有很大的差别,因此联邦数据库实际上是结点异构型分布数据库的推广。联邦数据库不但要解决分布环境下的并发控制和数据一致性等问题,而且要解决由于数据模型、语言和语义解释的不同以及操作系统的异构带来的各种困难。另外,在数据共享时,还需处理各个数据库原始数据的不完全性和不一致性等问题。虽然联邦数据库的实现较困难,但人们还是在向这方面作努力。1.4 数据库技术的发展趋势数据库技术的发展趋势v4. 数据仓库v数据
60、仓库是指这样一种数据的存储地,来自于异地、异构的数据源或数据库的数据,经加工后在数据仓库中进行存储、存取和维护。数据仓库提供来自种类不同的应用系统集成的和反映历史变化的数据,使用户拥有任意存取数据的自由,而不干扰业务数据的正常运行。数据仓库不是单一的产品,而是由软、硬件技术组成的环境。它把各种数据源(源数据库)集成为一个统一的数据仓库,便于用户访问并能从历史的角度进行分析,最后做出决策。v目前,数据挖掘已和数据仓库结合起来,研究重点放在数据仓库的有效应用上。1.4 数据库技术的发展趋势数据库技术的发展趋势v5. 实时数据库v在现实世界中,不少应用活动有很强的时间性,即要求在规定的时间内完成事务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计量员安全文明能力考核试卷含答案
- 快消品销售团队区域管理KPI考核表
- 锚链热处理工岗前安全管理考核试卷含答案
- 航空空乘人员服务规范与行为准则考核表
- 果树栽培工安全规程评优考核试卷含答案
- 人造花制作工保密意识能力考核试卷含答案
- 剑麻制品工岗前基础验收考核试卷含答案
- 高炉配管工岗中工艺优化考核试卷含答案
- 餐饮业经理连锁餐厅运营团队KPI考核表
- 硬质合金深度加工工操作安全水平考核试卷含答案
- 2026中秋国庆节前全员安全教育培训
- 广东省深圳市宝安区2025-2026学年六年级上学期语文期中学业中段复习试卷(含答案)
- 2026年新高考I卷数学真题
- 硝化企业安全风险隐患排查表(2026年版)
- 销售中的幽默感运用与氛围营造
- 老年人多重用药评估与管理专家共识2026
- 产品质量问题重复出现处理意见建议
- 多伦县北磁科技高性能软磁材料试验线项目环境影响报告书
- 公司财务管理制度及内控流程
- 护士执业注册健康体检表
- 管理学选择题及参考答案要点
评论
0/150
提交评论