第一章 数据库系统概论
⒈1 引言 ⒈ ⒈ 1信息与数据 ⒈信息 ⑴信息的定义 信息是指数据经过加工后所获取的有用知识,是以某种数据形式表现的. ⑵信息的特征 1)信息源于物质和能量. 2)信息是可以感知的. 3)信息是可存储、加工、传递和再生的.
⒉数据 ⑴数据的定义 数据是用来记录信息的可识别的符号. ⑵数据的表现形式 数据的表现形式的多样的,主要有数字、 文字、声音图形和图象等形式. ⒊数据与信息的联系 ⑴数据是信息的具体表现形式,信息是数据的有意义的表现. ⑵并非所有数据都表示信息,同一信息可以有不同的符号来表示,同一数据也可以有不同的解释.
数据处理 数据 信息 原料 对原材料加工 产品 ⒈⒈2数据处理 数据处理是将数据转换成信息的过程,包括(对数据的收集、存储、加工、检索、传输等一系列活动)目的是从大量的原始数据中抽取和推导出有价值的信息. 简单的用下式表示信息、数据与数据处理 信息=数据+数据处理 数据 信息 数据处理 原料 对原材料加工 产品
⒈2数据管理技术的演变 ⒈⒉1人工管理阶段(20世纪50年代中期) ⒈特点: ⑴主要用于科学计算,对于数据保存的需求尚不迫切. ⑵计算机不保存数据,也没有专用的数据管理软件. ⑶只有程序的概念,没有文件的概念,一组数据对应一个程序. ⒉缺点:数据存在着大量的重复存储现象.
应用程序1 应用程序2 .. 应用程序n 数据集1 数据集n 数据集2 图⒈1人工管理阶段程序与数据的关系
⒈⒉2文件系统阶段(20世纪50年代后期至60年代中期) ⒈背景 ⑴硬件方面出现了可以直接存取的外部存储设备. ⑵软件方面有了操作系统中专门管理数据的文件系统. ⒉特点 ⑴数据的管理是以独立的数据文件形式存放,并可按记录存取.
⑵在文件系统阶段一个应用程序可以处理多个数据文件,文件系统在程序和数据之间起到连接作用,使程序和数据有了一定的独立性. ⒊缺点 各个文件之间缺乏有机联系,数据与程序之间缺乏独立性,不能有效的共享相同的数据,从而造成了数据的冗余和不一致,给数据修改和维护带来了困难.
应用程序1 应用程序2 应用程序n 数据集1 数据集3 数据集2 文件系统 .. 图⒈2文件系统阶段程序与数据的关系
⒈⒉3数据库阶段 ⒈背景 ⑴计算机技术的迅速发展和广泛的应用,磁盘技术取得了重要进展,数据管理中的数据量急剧增长,对数据共享和数据管理就提出了更高的要求. ⑵20世纪60年代末的几件大事: ①1969年IBM公司研制、开发了数据库管理系统商品化软件IMS(IMS的数据模型是层次结构的)
②美国数据系统语言协会下属的数据库任务组DBTG对数据库方法进行了系统的讨论、研究,提出若干报告,最终形成OBTG报告.OBTG报告确定并且建立了数据库系统的许多方向、方法和技术. ③1970年IBM公司San Jose研究实验室的研究员E.F.Codd发表了著名的“大型共享的系统数据库的关系模型”的论文,为数据库技术奠定了理论基础.
应用程序1 应用程序2 数据库管理系统 数据库 .. 应用程序n 图⒈3应用程序与数据库之间的关系
⒈⒉4高级数据库阶段 20世纪70年代开始数据库技术发展的主要表现: ⑴数据库方法:OBTG方法和思想应用于各种计算机系统,出现了许多商品化数据库系统,大都是基于网状模型和层次模型. ⑵商用数据库系统的运行:使数据库技术日益广泛地应用到各方面,深入到生产,生活的各个领域. ⑶关系方法的理论研究和软件系统的研制取得了很大成果.
⒈分布式数据库系统 分布式数据库系统是在集中式数据库基础上发展起来的,数据库技术与计算机网络技术、分布处理技术相结合的产物. 分布式数据库系统的主要特点: ⑴数据是分布的. ⑵数据是逻辑相关的. ⑶结点具有自治性
⒉面向对象数据库系统 面向对象数据库系统是将面向对象的模型、方法和机制,与先进的数据库技术有机的结合而形成的新型数据库系统. 基本设计思想: ⑴把面向对象语言向数据库方向扩展,使应用程序能够存取并处理对象; ⑵扩展数据库系统,使其具有面向对象的特征,提供一种综合的语义数据建模概念集,以便对复杂应用中的实体和联系建模.
⒊多媒体数据库系统 多媒体数据库系统是数据库技术与多媒体技术相结合的产物.其主要特征是: ⑴数据量大. ⑵结构复杂. ⑶时序性. ⑷数据传输的连续性. 从实际应用的角度考虑,多媒体数据库管理系统应具有如下基本特点: ⑴能够有效的表示多媒体数据,对不同媒体类型的数据,采用不同的表示方法.
⑵能够处理各种媒体的数据,正确识别和表现各种媒体数据的特征,各种媒体间的时间和空间的联系. ⑶能够像对其他格式化数据一样对多媒体数据进行操作. ⑷具有开放功能,提供多媒体数据库的应用程序接口.
⒋数据仓库 数据仓库能够提供对企业数据的方便访问和具有强大分析能力的工具,从企业数据中获得有价值的信息,发掘企业的竞争优势,提高企业的运营效率和指导企业决策. 数据仓库作为决策支持系统的有效解决方案,有3个方面:数据仓库技术,联机分析处理技术和数据挖掘技术
⒈3数据库系统的组成和结构 ⒈⒊1数据库系统的组成 ⒈数据库 数据库是长期存储在计算机内的有组织的可共享的数据集合.有下面几个特点: ⑴数据结构化 在数据库系统中,数据不在像文件系统中的数据那样从属于特定的应用,而是面向全局的复杂数据结构,数据的结构化是数据库系统区别文件系统的根本特征.
1.3 数据库系统的组成和结构 1.3.1 数据库系统的组成 数据库系统(Database System)通常由数据库、硬件、软件、用户四部分组成。 用户 软件 数据库 硬件
⑵共享 数据库中数据可供多个用户、多个语言和多个应用程序共享,这是数据库技术的基本特征.数据共享减少了数据冗余和不一致性,提高了数据的利用率和工作效率. ⑶数据独立性 物理独立性:用户的应用程序和存储在磁盘上的数据库的数据是相互独立的. 逻辑独立性:用户的应用程序和数据的逻辑结构是相互独立的. 这样减少了应用程序设计和数据库维护的工作量.
⒉硬件 计算机系统的硬件,包括中央处理器、内存、外存、输入输出设备等.在数据库系统中特别要关注内存、外存、I/O存取设备、可支持的结点数和性能稳定性指标,现在还要考虑支持联网能力和必要的后备存储器等因素.此外,还要求系统有较高的通道能力,以提高数据的传输速度.
⒊软件 数据库系统软件主要包括操作系统(OS)、数据库管理系统(DBMS)、各种宿主语言和应用开发支撑软件. DBMS是在操作系统的文件系统的基础上发展起来的.在操作系统的支持下工作,是数据库系统的核心软件. 为了开发应用系统,需要各种宿主语言,这些语言大部分属于第三代语言(3GL)范畴.有些是面向对象的程序设计语言,应用开发支撑软件是为了应用开发人员提高效率的多功能的交互式程序设计系统,一般属于第四代语言(4GL)范畴.
⒋用户 用户主要有普通用户、应用程序员和数据库管理员 ⑴普通用户是指应用程序的最终用户,也称终端用户.他们通过应用程序的拥护接口使用数据库,一般都是非计算机专业人员的使用. ⑵应用程序员负责设计和调试数据库系统的应用程序. ⑶数据库管理员(DBA)
DBA全面负责管理、控制和维护数据库,使数据库能被任何有使用权限的人有效使用.DBA主要有以下职责: ⑴参与数据库设计的全过程,决定整个数据库的结构和信息内容. ⑵帮助终端用户使用数据库系统 ⑶定义数据库的安全性和完整性,负责分配用户对数据库的使用权和口令管理等,制订数据库访问策略. ⑷监督控制数据库的使用和运行,改进和重新构造数据库系统.
⒈⒊2数据库系统的结构 用户 用户视图 外模式 模式 模式/内模式映像 外模式/模式映像 外模式 内模式 外模式 数据库
⒈模式 模式是数据库中全部数据的逻辑结构的描述,是所用概念的定义. ⒉外模式 外模式是指用户所看到和使用的数据库. ⒊内模式 内模式是对内层数据的物理结构和存储方式的描述. ⒋两级映像 ⑴外模式/模式映像 ⑵模式/内模式映像
⒌两级数据的独立性 数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响. ⑴物理独立性:如果数据库的内模式要修改,即数据库的物理结构有所变化,那么只要对模式/内模式映像做相应的修改,从而使概念模式尽可能地保持不变. ⑵逻辑独立性:如果数据库的概念模式要进行修改,那么只要对外模式/模式映像做相应的修改,从而使外模式尽可能地保持不变.
⒈4数据库管理系统 DBMS是数据库系统中对数据进行管理的一组大型软件系统,它是数据库的系统的核心组成部分. 1.4.1DBMS的主要功能 ⒈数据库定义功能 DBMS提供数据定义语言DDL来定义数据库的三级模式和两级映像,定义数据完整性和保密限制等约束.
数据库、数据库管理系统、数据库系统 DB DBA DBMS Computer System 完成某一功能的应用程序1 DBAP 1 应用程序2 应用程序n 相互有关联关系的数据的集合 DB DBAP 1 DBMS 管理数据库的系统软件 DBAP 2 DBAP n Computer System
⒉数据库的操纵功能 DBMS提供数据操纵语言DML来实现对数据库的操作,DML分为两种: ⑴嵌入到宿主语言中,如嵌入在C、Java 、Delphi、PowerBuilder等高级语言中,称为宿主型DML ⑵可以独立交互使用的DML,称为自主型或自含型DML,常用的有Transact-SQL,SQL Plus等.
⒊数据库保护功能 DBMS对数据库的保护主要包括四个方面: ⑴数据安全性控制: 数据安全性控制的作用是防止未被授权的用户破坏或存取数据库中的数据. ⑵数据完整性控制 完整性控制的目的是保证进入数据库中数据的语义的正确性和有效性,防止操作对数据的修改会违反其语义.
⑶并发控制 DBMS一般允许多个用户并发地访问数据库,即数据共享.但是多个用户同时对数据库进行访问可能会破坏数据的正确性,因此DBMS中必须有并发控制的机制,解决多用户下的并发冲突. ⑷恢复功能 数据库在运行中可能会出现各种故障,DBMS必须把处于故障中的数据库恢复到以前的某个正确状态,保持数据库的一致性.
⒋数据库维护功能 DBMS提供一系列的实用程序来完成包括数据库的初始数据的装入、转化功能,数据库的存储、恢复功能,数据库的重新组织功能和性能监视、分析功能等. ⒌数据字典 数据字典是对数据库结构的描述,不仅存放着对实际数据库三级模式的定义,而且还存放数据库运行时的系统信息.数据字典是数据库系统的一部分,但用户通常不能直接访问它,只有DBMS才能对它进行访问.
⒈⒋2DBMS的组成 DBMS是许多程序所组成的一个大型软件系统,每个程序都有自己的功能,共同完成DBMS的一个或多个工作.一个完整的DBMS通常由以下几部分组成: ⒈语言编译处理程序 语言编译程序包括以下两个程序: ⑴数据定义语言(DDL)编译程序 把用DDL编写的各级源模式编译成各级目标模式.这些目标模式是对数据库结构信息的描述,他们被保存在数据字典中,供数据操纵控制时使用.
⑵数据操纵语言(SML)编译程序 它将应用程序中的DML语句转换成可执行程序,实现对数据库的检索、插入、修改等基本操作. ⒉系统运行控制程序 系统运行控制程序主要包括以下几个部分. ⑴系统总控制程序 系统总控制程序是DBMS运行程序的核心. ⑵安全性控制程序 防止未被授权的用户存取数据库的数据.
⑶完整性控制程序 检查完整性约束条件,确保进入数据库的数据的正确性、有效性和相容性. ⑷并发控制程序 协调多个用户、多个任务环境下各应用程序对数据库的并发操作,保证数据的一致性. ⑸数据存取和更新程序 实施对数据库的数据检索、插入、修改和删除等操作. ⑹通信控制程序 实现用户程序与DBMS间的通信.
⒊系统建立、维护程序 系统建立和维护程序主要包括以下几部分. ⑴装配程序 完成初始数据库的数据装入. ⑵重组程序 当数据系统性能降低时,需要重新组织数据库,重新装入数据. ⑶系统恢复程序 当数据库系统受到破坏时,将数据库系统恢复到以前某个正确的状态.
⒋数据字典 用来描述数据库中有关信息的数据目录,起着系统状态的目录表的作用,帮助用户、数据库管理员和数据库管理系统本身使用和管理数据库.
⒈⒋3DBMS的数据存取过程 应用程序 子模式 工作区 模式 DBMS 系统缓冲区 OS 内模式 数据库 DBMS检查权限,决定是否接收 根据子模式/模式确定存取逻辑记录 发出存取请求 根据内模式读取物理记录 应用程序 工作区 子模式 DBMS 模式 系统缓冲区 OS 内模式 向OS发出读取记录命令 DBMS向应用程序报告操作状态信息 比较模式和子模式确定数据并送入工作区 执行命令,读取数据,送入缓冲区 数据库
⒈5数据模型 ⒈⒌1数据模型的组成要素 ⑴数据结构:数据结构用于描写数据库系统的静态特性. ⑵数据操作:数据操作用于描写数据库系统的动态特性. ⑶数据的约束条件:数据的约束条件是一组完整性规则的集合.
⒈⒌2数据之间的联系 ⒈三个世界的划分 ⑴现实世界:存在于人们头脑外的客观世界. ⑵信息世界:现实世界在人们头脑中的反映. ⑶机器世界:又称数据世界,是数据库的处理对象.
⒉ 信息世界的数据描述 ⑴实体 客观存在互相区别的事物. ⑵属性 实体具有某一特性. ⑶码 能唯一标识实体的属性 . ⑷实体集 同一类型的实体集合. ⑸域 属性的取值范围. ⑹实体型 用实体名和属性名集合来描述 同类实体
⒊机器世界的描述 字段 标志实体属性的符号集. 记录 字段的有序集合. 文件 同一类记录的汇集. 键 标识文件中每个记录的字段或集.
⒈⒌3数据模型的分类 ⒈实体联系模型(E-R模型) E-R模型的三要素:实体、属性、实体间的联系. 实体间的联系有两种: ⑴同一种实体集的实体间的联系. ⑵不同实体集的实体间联系. 实体间的联系按联系方式可分为:一对一联系(1:1)、一对多联系(1:N)、 多对多联系(M:N)
①一对一联系: 如果实体集A和B中的每一个实体至多和另一个实体集中的一个实体有联系,那么实体集A和B的联系称为一对一联系. ②一对多联系: 若实体集A中每个实体和实体集B中多个任意实体(N>=0)有联系,而实体集B中的每个实体集最多与实体集A中一个实体有联系,那么称从A到B是一对多联系(1:N)
③多对多联系: 如果实体集A和B中允许每个实体都和另一个实体集中多个任意实体有联系,那么称A和B为多对多联系.
⒉层次模型 层次模型是用树型结果表示实体及其之间联系的数据模型. 层次模型的定义有两层含义: ⑴有且仅有一个结点无父结点,这个结点称为根结点. ⑵其他结点只有一个父结点.
⒊网状模型 网状模型是用网状结构表示实体及其之间的联系的数据模型. 网状模型的定义 ⑴可以有一个以上结点无父结点. ⑵至少有一个结点有一个以上父结点.
⒋关系模型 关系模型是用二维表结构来表示实体及实体间联系的数据模型. 关系模型的优点: ⑴关系模型概念单一.无论实体还是实体间的联系都用关系表示. ⑵关系模型是数学化的模型.它建立在严格的数学理论基础上,如集合论、数理逻辑、关系方法、规范化理论等. ⑶关系模型的存取路径对用户是透明的.从而使关系模型有较高的数据独立性,更好的安全保密性,大大减轻了用户的编程工作.
关系模型的缺点: ⑴由于存取路径对用户是透明的,使关系模型的查询效率往往不如非关系模型. ⑵关系模型在处理如CAD和多媒体数据时有局限性,必须和其他的新技术相结合. ⒌面向对象数据模型 多媒体数据模型能够更好的描述复杂对象,更好地维护复杂的对象语义信息.
⒈6数据库系统的发展 ⒈第一代数据库系统 层次与网状数据库系统,其代表是: ⑴1969年IBM公司研制的层次模型的数据库管理系统IMS. ⑵美国数据库语言协会CODASYL下属的数据库任务组DBTG,所提议的方法.它是数据库网状模型的典型代表. 特点: ⑴支持三级模式的体系结构; ⑵用存取路径来表示数据之间的联系; ⑶独立的数据定义语言; ⑷导航的数据操纵语言;
⒉第二代数据库系统 第二代数据库系统是关系数据库系统. ⑴奠定了关系模型的理论基础,给出了被人们普遍接受的关系模型的规范说明. ⑵提出了关系数据语言,如关系代数、关系演算、SQL语言、QBE等易学易懂的优点. ⑶提出了大量的关系数据库系统原型,攻克了系统实现中的查询优化、并发控制、故障恢复等一系列关键技术.
⒊第三代数据库系统 其中一个重要的发展方向:面向对象数据库. 面向对象数据库与关系数据库的异同点: ⑴相同之处在于: 两者皆支持数据库的持久性、二次存储管理、并发控制、恢复和查询功能. ⑵不同之处在于: 面向对象的范例是以分类为基础,类用于定义存储在数据库内对象结构及行为. 关系范例是以组元或记录为基础的,他被唯一地用来定义存储在数据库内的数据结构.
⑵面向对象数据库系统的优点 1)能有效地表达客观世界和有效地查询信息. 2)可维护性好. 3)能很好地解决阻抗失谐问题. ⑶面向对象数据库系统的缺点 1)技术还不成熟. 2)面向对象技术需要一定的训练时间. 3)理论还需要完善.
小结 本章概述了信息、数据、数据处理、数据库系统以及数据库管理系统的基本概念和数据库管理技术发展的历史现状. 数据库管理技术经历了人工管理、文件管理、数据库、高级数据库技术四个阶段.数据库系统在文件系统的基础上发展而来的,同时克服了文件系统的三个缺陷:数据的冗余度过大、数据不一致和文件间缺乏有机联系.
小结 一个完整的数据库系统应包括数据库、硬件、软件、和用户等几部分. 数据库是指长期存储在计算机内、有组织的、可共享的数据集合.计算机硬件是计算机存在和运行的硬件基础.在计算机软件系统中,数据库管理系统和操作系统是核心软件.数据库的用户就是使用数据库的人员,包括DBA、普通用户和应用程序员. 数据库采用三级模式结构,构成了数据库系统内部的体系结构,两级映像保证了数据库系统的逻辑独立性和物理独立性.
小结 数据模型是对现实世界进行抽象的工具,用于描述现实世界的数据、数据联系、数据语义和数据约束等方面的内容.数据模型分为概念模型和实施模型两大类.前者的代表是E-R模型;后者的代表是层次、网状、关系和面向对象模型.关系模型是当今的主流模型,面向对象模型是代表未来发展方向. 数据库系统的发展与数据模型紧密结合.按照数据模型划分,数据库系统的发展也可以划分为第一、二代的传统数据库系统和以面向对象数据库系统为代表的第三代数据库系统