数据库管理与应用.ppt_第1页
数据库管理与应用.ppt_第2页
数据库管理与应用.ppt_第3页
数据库管理与应用.ppt_第4页
数据库管理与应用.ppt_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

本节提要,一、数据库基本概念 数据库 数据库管理系统 数据库系统 二、数据库体系结构与工作原理 组成 体系结构 三、关系数据库,参考书,1.冯玉才,数据库系统基础(第二版),武汉,华中理工大学出版社,1993 2.萨师煊 王珊,数据库系统概论,北京,高等教育出版社,1997.9 3. 张健沛, 数据库原理及应用系统开发, 1999年4月 4.史济民 汤观全 编著,Visual Foxpro 及其应用系统开发,北京,清华大学出版社,2000.1,第四章 资源信息系统数据库原理与应用设计,数据库技术是本世纪60年代开始兴起的一门信息管理自动化的新兴学科,是计算机科学的一个重要分支。数据库技术是一门综合性的软件技术,是编译原理、数据结构、操作系统和程序设计许多软件知识的综合应用。随着计算机技术的蓬勃发展,数据库技术的应用越来越广泛,几乎深入到各个领域、各个部门。本章首先介绍数据库基本知识,有关数据的基本概念和持征,然后介绍资源数据库的结构设计,数据库开发最后资源数据库的应用情况。,一、数据库基本概念,数据 描述事物的符号记录称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等。数据本质上是对信息的一种符号化表示、是用来载荷信息的。 数据处理也称为信息处理。数据处理实际上就是利用计算机对各种形式的数据进行处理。它包括:数据采集、整理、编码和输入,有效地把数据组织到计算机中,由计算机对数据进行一系列储存、加工、计算、分类、检索、传输、输出等操作过程。数据处理的目的是从大量原始的数据中抽取和推导出对人们有价值的信息以作为行动和决策的依据。 数据管理 数据管理是指数据的收集、整理、组织、存储、检索、维护和传送等各种操作,是数据处理中的基本环节,是任何数据处理任务必须具有的共同部分。 数据管理是数据库系统的基本功能,数据管理概述,人类活动的整个历史,离不开对信息和数据的收集、保存和处理。像银行、统计、仓库等部门的工作人员,无时无刻不在和大量的数据打交道。然而,随着社会的不断进步,人类社会积累的信息,正以“几何级数”的速度增长。因此人们过去传统的、落后的数据处理方法,已经远远适应不了形势发展的需要了。所以长期以来,如何妥善地保存和管理数据一直是人们十分关注的课题。人们对数据处理现代化的要求日益迫切。,数据管理技术的发展历程,人工管理阶段 数据不保存 应用程序管理数据 数据不共享 数据不具独立性,数据管理:人工管理阶段、文件系统阶段、数据库系统阶段,文件系统阶段 数据保存 文件系统管理数据 数据共享差,冗余大 数据独立性差,数据管理技术的发展历程,数据库系统克服了以前所有处理方式的缺点,试图提供一种完美的、更高级的数据管理方式。它的基本思想是解决多用户数据共享的问题,实现对数据的集中统一管理,具有较高的数据独立性,并为数据提供各种保护措施。这一时期,数据库管理软件作为用户与数据的接口,程序和数据的关系如图所示。,数据库系统中应用程序与数据库之间的关系,数据库系统阶段: 数据结构化:,数据管理技术的发展历程,文件中记录内部有结构,但记录间无联系,数据管理技术的发展历程,数据库系统实现整体数据结构化,数据管理技术的发展历程,与人工管理和文件系统相比,数据库系统主要有以下持点: 数据结构化 在数据库系统中,数据不再针对某一应用,而是面向整个组织,实现了整体数据的结构化,用数据模型描述数据结构。这是数据库系统与文件系统的本质区别。 数据共享性高,冗余度低 从整体角度看待和描述数据,数据不再是面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享减低了数据冗余度,节省存储空间,而且可以避免数据的不一致性。 数据独立性高 数据库系统具有高度的物理独立性和一定的逻辑独立性。物理独立性是指用户的应用程序与数据库的物理结构是相互独立的,即当数据的物理存储改变时,应用程序不用改变。逻辑独立性是指用户曲应用程序与数据库的逻辑结构是相互独立的,即当数据的逻辑结构改变时,应用程序不用改变。 数据由DBMS统一管理和控制 数据库管理系统(DBMS:Chta Data Base Management System)作为用户与数据库之间的中间层软件,不仅提供数据定义、数据操纵、数据库运行、数据库维护等功能,而且提供数据控制功能,包括数据安全性控制、数据完整性控制、并发控制和数据库恢复等控制。,三个发展阶段特点的比较,1.1数据库技术概述,主流数据库产品 Oracle DB2 Sybase Informix Microsoft SQL Server 2000 Vsiual FoxPro Access SQL anywhere,小型数据库系统,1.2数据库相关概念,数据库(DB)是长期存储在计算机内、有组织的、可共享的数据集合。 数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。因此,它具有较小的冗余度,较高的数据独立性和易扩展性。 数据库本身不是独立存在的,它是组成数据库系统的一部分,在实际应用中,人们面对的是数据库系统(DBS)。,(1)数据库,(2)数据库系统,数据库系统是指具有管理和控制数据库功能的计算机系统。 数据库系统简称DBS(database system),它包括和数据库有关的整个系统:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户等等。当然,人们也常把除人以外与数据库有关的硬件和软件系统称为数据库系统。,数据库管理系统(data base management system,缩写为DBMS),数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于指挥计算机进行有效的组织和存储数据、管理和处理数据。它位于用户与计算机操作系统之间,主要功能: 数据定义功能 数据操纵功能 数据库的运行管理功能 数据库的建立和维护功能 数据字典功能 数据通信功能,(3)数据库管理系统,数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。数据库管理系统使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。,(3)数据库管理系统,1.3数据库系统的组成,数据库系统是引进数据库技术后的计算机系统,由5部分组成: 硬件系统 数据库集合 数据库管理系统 相关软件 数据库管理员和用户,1)硬件,硬件硬件系统是整个数据库系统的基础,包括CPU、内存和外部设备等。要求足够大的内存,用以存放操作系统、数据库管理系统的核心模块、数据缓冲区等;要求足够大的外存,用以存储数据,日志文件等。 有足够大的内存以存放操作系统、DBMS的核心模块、数据缓冲区和应用程序; 有足够大的直接存取设备存放数据(如磁盘),有足够的存储设备来进行数据备份; 要求计算机有较高的数据传输能力,以提高数据传送率。,2)软件,软件 主要包括 操作系统 DBMS 各种宿主语言、实用程序及各种应用程序 DBMS是管理数据库的软件系统,它是在操作系统的文件系统基础上发展起来的,而且DBMS是在操作系统支持下工作。应用程序是数据库的特定用户根据自己的数据处理业务,利用应用开发工具而开发的应用系统,供最终用户直接操作,数据库集合是若干个设计合理、满足应用需要的数据库。 一个数据库有四个主要成分:数据、联系(Relationship)、约束(Constraint)和模式(Schema)。数据是所存储的逻辑实体在计算机中的二进制表示;联系表示数据项之间的某种对应;约束是定义正确数据状态的断言;一种模式描述数据库中数据的组织和联系。,3)数据库集合,4)数据库管理员,数据库管理员 数据库管理员(DBA:DataBase Administrator)是管理和控制数据库系统,使之始终处于最佳状态的人员。DBA是相关人员中最重要的人员。DBA的具体职责包括 (1)决定数据库中信息的内容和结构; (2)决定数据库的存储结构和存取方法; (3)定义数据的安全性要求和完整性约束条件; (4)监督和控制数据库的使用和运行;,5)数据库用户,数据库系统中存在一组管理、开发、使用数据库的用户。有的用户需要从数据库中查询信息;有的用户要为查询信息的用户编写处理程序;有的用户专门来管理维护数据库等。通常,将这些用户根据他们的工作分成三类,说明如下: 终端用户。这类用户使用数据库系统提供的终端命令语言或者菜单驱动、表格驱动。图形显示和报表生成等对话方式来存取数据库中的数据。这类人员一般为不精通计算机和程序设计的各级管理人员。 应用程序员。这类人员是负责设计和编制应用程序的人员。他们通常使用C语言、数据库语言或4GL(第四代语言)等来设计和编写应用程序,对数据库进行存取操作,所编应用程序供终端用户使用。,为了便于更直观地了解数据库系统,可以把数据库与图书馆做一比较: 图书馆是存储和借阅图书的部门,而数据库系统则是存储数据并负责用户访问数据的机构。正像图书馆不能简单地与书库等同起来一样,我们也不能把数据库系统仅仅理解成存储数据的集合,而应该理解成一个系统。,数据库系统与图书馆比较,1.4数据库系统的特点,数据库系统的特点如下: 1)数据共享; 2)面向全组织的数据结构化; 3)数据独立性; 4)可控数据冗余度,1)数据共享,这是数据库系统区别于文件系统的最大特点之一,也是数据库系统技术先进性的重要体现。共享是指多用户、多种应用、多种语言互相覆盖地共享数据集合,所有用户可同时存取数据库中的数据。数据库是面向整个系统的,以最优的方式服务于一个或多个应用程序(用户),实现数据共享。,2)面向全组织的数据结构化。,在数据库中,数据不再像文件系统那样从属于特定的应用,而是按照某种数据模型组织成为一个结构化的整体。它不仅描述了数据本身的特性,而且也描述了数据与数据之间的种种联系,这使数据库具备复杂的结构。 数据结构化有利于实现数据共享。比如,一个学校,可以把学校所有的各个应用(人事、学籍、科研、财务、后勤等)的数据组织到一个数据库中,并且结构化。数据实现集中统一的存储与管理,各种应用存取各自相关的数据于集,满足各种应用要求,实现数据共享。,3)数据独立性,文件系统管理中,应用程序严重依赖于数据文件,如果把应用程序使用的磁带顺序文件改成为磁盘索引文件,则必须对应用程序进行修改。而数据库技术的重要特征就是数据独立于应用程序而存在,数据与程序相互独立,互不依赖,不因一方的改变而改变另一方,这大大简化了应用程序的设计与维护的工作量。,4)可控数据冗余度,数据共享、结构化和数据独立性的优点可使数据存储不必重复,不仅可以节省存储空间,而且从根本上保证了数据的一致性,这也是有别文件系统的重要特征。 从理论上讲,数据存储完全不必重复,即冗余度为零,但有时为了提高检索速度,常有意安排若干冗余,这种冗余由用户控制,称为可控冗余度。可控冗余要求任何一个冗余的改变都能自动地对其余冗余加以改变,这个过程叫做传播更新。,5)统一数据控制功能,数据库是系统中各用户的共享资源,因而计算机的共享一般是并发的,即多个用户同时使用数据库。因此,数据库管理系统必须提供以下四个方面的数据控制功能,保证整个系统的正常运转。 数据安全性控制。数据的安全性是指采取一定安全保密措施确保数据库中的数据不被非法用户存取而造成数据的泄密和破坏。 数据完整性控制。数据的完整性指数据的正确性、有效性与相容性。系统要提供必要的功能,保证数据库中的数据在输入、修改过程中始终符合原来的定义和规定。 并发控制。当多个用户并发进程同时存取,修改数据库中数据时,可能会发生互相干扰而得到错误结果,并使数据库完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。 数据恢复。当系统发生故障造成数据或当对数据库数据的操作发生错误时,系统能进行应急处理,把数据库恢复到正确状态。,二、数据结构的关系模型与关系数据库,数据库是用数据模型对现实世界进行抽象和描述的。,三个世界的关系,在上图中,我们给出了数据处理的抽象和转换过程。从图示中可以看出,在数据处理中,数据加工经历了现实世界(Real World)、信息世界(Information World)和计算机世界(Computer World)三个不同的世界,经历了两级抽象和转换。所以说,数据模型是现实世界的两极抽象和转换的结果。,“三个世界”即现实世界、信息世界和计算机世界。存在于人们头脑之外的客观世界称为现实世界;信息世界是现实世界在人们头脑中的反映,人们把它用文字和符号记载下来;信息世界中的信息在计算机世界是以数据形式存储的。 在现实世界中,各种事物或事件千差万别且都是彼此关联的,任何事物或事件都不是独立存在的。数据库是模拟现实世界中某应用环境(一个企业、单位或部门)所涉及的信息(各种图、表、单据等)集合,是一个统一的、集中的数据管理机构。这个集合或者包含了信息的一部分,或者包含了信息的全部。这种模拟是通过数据模型来进行的。一个好的数据模型必须能够反映现实世界中各种事物及其复杂的联系。现实世界中各种事物及其复杂的联系是不能直接输入到计算机的数据库中的,因此,在实际的数据处理中,我们首先将现实世界的事物及其联系抽象为信息世界的信息模型,然后再将信息模型抽象转换为计算机世界的数据模型。,2.1数据模型,数据库领域过去和现在最常见的数据结构模型有三种: 层次模型(Hierarchical Model) 网状模型(Network Model) 关系模型(Relational Model)。 自2O世纪80年代以来,计算机厂商推出的数据库管理系统的产品几乎都是基于关系模型的,下面将着重介绍关系模型。,2.2关系模型及其相关概念,1) 关系模型的表达 用二维表结构来表示实体及实体间联系的模型称为关系模型(Relational Model)。,关系 关系是笛卡尔积的一个有意义的子集,即满足一定规范要求的二维表。每个关系都有一个关系名。 元组(Tuple) 二维表格中的一行,也称为记录。 属性(Attribute) 二维表格中的一列,也称为字段或数据项,属性包括属性名、属性值和属性值类型三部分内容。 属性名 属性的名称(给属性起的名)。 属性的值域 属性的取值范围称为值域(Domain)。 分量 元组中的一个属性值。 主关系键 关系中的某个属性组(由一个或多个属性组成),它的值能够唯一地标识一个元组。主关系键也称为主码、主键。,属性和值域 在二维表中的列(字段、数据项)称为属性(Attribute);列值称为属性值;属性值的取值范围称为值域(Domain)。 元组、关系和关系模式 在二维表中,行(记录的值)称为元组(Tuple);元组的集合称为关系;而行定义(记录的型)称为关系模式。关系模式和关系也常常通称为关系。,2)关键字,关键字(Key) 在关系的诸属性中,能够用来唯一标识元组的属性(或属性组合)称为关键字。关系中的元组由关键字的值来唯一确定。 关键字是一个语义概念。对图4-钻遇地层关系和表钻孔关系,关键字分别是钻孔编号层号和钻孔编号。 在一个关系中,关键字的值不能为空,即关键字的值为空的元组在关系中是不允许存在的。 有些关系的关键字是由单个属性组成的,还有一些关系的关键字常常是由若干个属性的组合而构成的,即这种关系中的元组不能由任何一个属性唯一标识,必须由多个属性的组合才能唯一标识。,钻孔基本信息,候选关键宇(Candidate Key) 如果在一个关系中,存在多个属性或属性组合都能用来唯一标识该关系的元组,这些属性或属性组合都称为该关系的候选关键字。 主关键字(Primary Key) 在一个关系的若干个候选关键字中,经指定具有唯一标识作用的属性或属性组合,称为该关系的主关键字。例如,在钻遇地层关系中,当风化带类型字段的值在每层中都是唯一的话,则“(钻孔编号,层号)”和“(钻孔编号,风化带类型)”是该关系的两个候选关键字,根据唯一标识作用的条件,可选择“(钻孔编号,层号)”作为该关系的主关键字。 非主属性(Non Primary Attribute) 关系中不组成关键字的属性均为非主属性。 外部关键字(Foreign Key) 当关系中的某个属性或属性组合虽不是该关系的关键字或只是关键字的一部分,但却是另一个关系的关键字时,称该属性或属性组合为这个关系的外部关键字。例如,对表4-1中的钻孔关系,钻机编号不是关键字,但钻机编号是钻机关系的关键字,所以钻机编号是钻孔关系的外部关键字。,1)关系操作,(1)传统的集合操作 并(Union) 关系R与关系S的并,它是属于R或属于S的元组组成的集合,结果为n列属性的关系。 交(Intersection) 关系 R与关系 S的交,它是既属于 R又属于 S的元组组成的集合,结果为n列属性的关系。 差(Difference) 关系R与关系S的差,它是属于R而不属于S的元组组成的集合,结果为n列属性的关系。 广义笛卡尔积(Extended Cartesian product) 关系 R(假设为 n列)和关系 S(假设为m列)的广义笛卡尔积是一个(n十m)列元组的集合,每一个元组的前n列是来自关系R的一个元组,后m列是来自关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1k2个元组。,(2)专门的关系操作,选择(Selection) 选择操作是指在关系中选择满足某些条件的元组。例如,要找出年龄为21岁的所有学生的数据,可以用21岁为条件,对学生基本信息表做选择操作。 投影(Projection) 投影操作是在关系中选择某些属性列。例如,要找出所有教师的姓名、电话,则可以对教师基本信息表做投影操作,将表数据投影到教师名和电话列。 连接(Join) 连接操作是从两个关系的笛卡尔积中,选取属性间满足一定条件的元组。,(1)实体完整性规则 实体完整性(Entity Integrity Rule)是指关系的主属性,即主码的组成不能为空,也就是关系的主属性不能是空值(null)。 (2)参照完整性规则 如果在基本关系 R1的属性中,包含与另一基本关系R2的主属性K相对应的属性组F,则称F为基本关系 R1的外主属性。参照完整性(Reference Integrity Rule)就是指在含有外主属性F的关系R1中,外主属性值(F值)只能在空值和另一个关系R2的对应主属性值(K值)之间进行选择的特性。 (3)用户定义的完整性规则 用户定义的一般完整性规则,是针对某一应用环境的完整性约束条件,它反映了某一具体应用所涉及的数据应满足的要求。,2)关系模型的完整性,2.3关系数据库,采用关系型数据结构模型来组织数据的数据库称为关系数据库。 关系数据库的概念简单清晰、语言高度非过程化,用户不需了解复杂的存取路径,不需说明“怎么干”,而只需指出“干什么”就能方便地操作数据库。经过近30年的发展,目前已经涌现出许多性能优良的商品化管理系统(RDBMS),例如著名的 DBZ、ORACLE、INGRES、SYBASE、INFORMIX等。关系数据库产品至今也从单一的集中式系统,发展成为可在网络环境中运行的分布式系统;从封闭式系统逐步发展成为开放式系统,从联机事务处理发展到支持信息管理、辅助决策。,三、数据库的结构与工作原理,三层模式,两级变换,14数据模式,模型 人们对实体或对象的抽象描述,可以用文字或图形来描述 模式 用计算机语言来描述或定义的模型或对象 模式为数据库管理系统各部件所定义的各种数据库视图。一种模式将数据存储的物理外表与逻辑表示分开。,内部模式:定义数据在物理数据存储区中如何组织以及放在何处; 概念模式:按照适当的数据库数据模型(如关系模型或对象模型)定义所存储数据的结构; 外部模式:为特定用户(们)所定义的数据库的一个或多个视图。 一个数据模型是数据库的一种抽象定义,它提供一种描述数据的表示法。,在数据库系统中,用户看到的数据与计算机中存放的数据是两回事。用户只能看到外层,而其他两层是看不到的。它们之间实际上经过两次抽象和转换: 一次是把所有用户的数据综合抽象成一个统一的全局数据共同视图,即中间层,以实现数据共享和减少数据冗余; 第二次是把全局数据的共同视图抽象为计算机的数据实际存储,即把全局数据按照存储的最优组织形式进行物理存放,以提高性能和存放效率。当计算机向用户提供数据时则做相反的变换。 因此,对于一个数据库系统而言,实际上只有物理数据库是存在的,概念层数据库只是物理数据库的一种抽象描述,用户层数据库则是用户与数据库的接口。,关系模式,关系模式就是关系的框架,也称表框架,相当于记录格式。它是对关系结构的描述。一个关系模式实际上确定了这个关系的二维表的形式(二维表的框架)。 当一个关系模型被确定之后,就可以用DBMS提供的关系数据定义语言来描述和定义关系模型和组成模型的每一个关系,其中每一个被定义的关系模式包括关系名、属性名、属性的数据类型、属性宽度、属性值的约束等,最后指出每个关系的主键。,关系模式,用关系DBMS提供的关系数据定义语言来描述关系二维表的框架(相当于记录格式),这有点像我们做表填写数据时,首先要画出表框(每栏的栏名对应属性名,宽度对应属性的长度等)的情形。为了便于在书面上讨论和描述关系模式,将关系模式用下面最简单的式子表示出来: R(A1,A2,An) 学生(学号,姓名,年龄) 其中,R为关系名,A1,A2,An为属性名。 关系数据库模式是关系数据库结构的语言描述(即程序化),是一组关系模式的集合。,学生(学号,姓名,年龄,性别,籍贯,电话),2.数据库管理系统的功能及 操作过程,数据库管理系统(DBMS)执行对数据的操作,它通常具备以下几种功能。 数据库定义功能 数据操纵功能 数据库运行和控制功能 数据的安全性保护 并发控制 数据库恢复 数据库的建立和维护功能 数据字典功能 数据通信功能,数据库定义功能 DBMS 提供数据定义语言(DDL:data definition language),用户通过它可以方便地对数据库中的相关内容(如数据库结构、基本表、视图和索引)进行定义。用DDL编写的概念模式、外模式和内模式分别称为源概念模式、源外模式和源内模式。各种源模式通过相应的模式编译程序转换为机器内部代码表示形式,分别称为目标概念模式、目标外模式和目标内模式。这些目标模式是对数据库结构的描述,并被保存在数据字典中。,数据操纵功能 DBMS向用户提供数据操纵语言(DML:data manipulation language),利用DML来书写命令,可以实现对数据库的各种基本操作,例如,对数据库中数据的查询、插入、删除和修改;也可以补充实现对数据库的各种特殊操作,例如,对数据进行各种统计、分析、处理和可视化输入输出的操作。 在现行的数据库产品中,DBMS一般同时拥有自主型(如XBASE)与宿主型(如COBOL,FORTRAN,PASCAL,VB或C等高级语言)两种类型。,数据库运行和控制功能 这是DBMS功能的核心部分,包括通过数据安全性、完整性、并发性和数据恢复等的控制,来对数据库进行有效的管理,以便确保数据库数据正确有效和数据库系统的正常运行。,数据的安全性保护 是指为防止不合法的使用造成数据泄密和破坏,使每个用户只能按规定对某些数据以某些方式进行使用和处理。例如,划分不同的用户权限,有的用户只能查询而不能修改数据,而有的用户却有修改权等。数据的完整性约束是对数据的正确性、有效性和相容性要求,即将数据有

温馨提示

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

评论

0/150

提交评论