教学课件·数据库原理及应用_第1页
教学课件·数据库原理及应用_第2页
教学课件·数据库原理及应用_第3页
教学课件·数据库原理及应用_第4页
教学课件·数据库原理及应用_第5页
已阅读5页,还剩395页未读 继续免费阅读

下载本文档

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

文档简介

1、2022/7/20数据库技术及应用1数据库技术及应用2022/7/20数据库技术及应用2第1章 数据库系统概述 数据库系统的基本概念数据库系统数据模型数据库系统结构2022/7/20数据库技术及应用3数据库系统的基本概念数据管理技术的产生和发展信息、数据与数据处理数据库与数据库管理系统2022/7/20数据库技术及应用4数据管理技术对数据进行收集、保存、加工和传播的一系列活动的总和称为数据处理,数据处理的核心问题就是数据管理。数据管理技术是指对数据的分类、编码、存储、检索和维护的技术。2022/7/20数据库技术及应用5人工管理阶段 数据不保存; 没有专用的软件对数据进行管理; 程序中的存储子

2、程序随着存储结构的改变而改变,使得程序依赖于数据;只有程序的概念; 数据面向于应用;对数据的存取以记录为单位,灵活性差。 2022/7/20数据库技术及应用6人工管理阶段2022/7/20数据库技术及应用7文件系统阶段数据可长期保存在外存的磁盘上;数据的物理结构与逻辑结构有了区别,但较简单;文件的形式已多样化;有了存储文件以后,数据不再仅仅属于某个特定的程序,而可以重复使用;对数据的存取基本上还是以记录为单位。2022/7/20数据库技术及应用8文件系统管理数据的缺点数据冗余度大数据的不一致性 程序与数据相互依赖 数据无集中管理 编写应用程序很不方便 2022/7/20数据库技术及应用9文件管

3、理阶段2022/7/20数据库技术及应用10数据库系统阶段 数据库技术为数据管理提供了一种较为完善的高级管理方式。它克服了文件管理方式下分散管理数据的弱点,对所有的数据实行统一、集中的管理。使数据存储独立于使用它的程序,从而实现数据共享。数据库是通用化的相关数据集合,它不仅包括数据本身,而且包括关于数据之间的联系。 为数据库的建立、使用和维护而配置的软件称为数据库管理系统DBMS(Database Management System),它是在操作系统支持下运行的。 2022/7/20数据库技术及应用11数据库系统阶段2022/7/20数据库技术及应用12数据库系统与文件系统的关系 控制方式文件

4、系统中的数据文件由各个应用程序员根据需要组织起来,并由各应用程序负责建立、使用和维护,因此其控制方式是分散的;数据库中的数据文件是由数据库系统统一规划,按照一定的数据模型组织和建立的,由系统统一管理和集中控制。数据结构文件系统中的文件结构简单,不能反映它所代表的现实世界中各事物之间的内在联系;数据库中的数据是一个组织的所有应用所需数据的集成,反映了各数据所代表的现实世界各事物之间存在的内在联系。2022/7/20数据库技术及应用13数据库系统与文件系统的关系 数据独立性文件系统中的数据文件是面向应用的,文件系统是数据相关的。数据库系统是面向数据的系统,它具有高度的数据独立性。数据的维护数据库系

5、统很容易发现故障,排除故障并恢复到故障前的状态;文件系统本身无完整性约束的定义和检查功能,所以它没有故障恢复功能。2022/7/20数据库技术及应用14信息的定义 信息是现实世界事物的存在方式或运动状态的反映。信息具有可感知、可存储、可加工、可传递和可再生等自然属性,信息又是社会上各行各业不可缺少的资源,这也是信息的社会属性。 2022/7/20数据库技术及应用15信息的特征 信息源于物质和能量。信息是可以感知的。信息是可存储的。信息是可以加工、传递和再生的。2022/7/20数据库技术及应用16信息系统信息系统是指为了某些明确的目的而建立的,由人员、设备、程序和数据集合构成的统一整体。信息系

6、统的主要功能是提供信息,以支持一个组织机构的运行、管理和决策。信息系统可分为三类:数据处理系统,管理信息系统和决策支持系统。 2022/7/20数据库技术及应用17数据 数据通常指用符号记录下来的可加以鉴别的信息。数据的概念包括两个方面:数据内容是事物特性的反映或描述;数据是符号的集合。数据是信息的符号表示或称为载体,信息则是数据的内涵,是对数据的语义解释。数据是数据库中存储的基本对象。 2022/7/20数据库技术及应用18数据处理和数据管理数据处理就是指对各种类型的数据进行收集、存储、分类、排序、计算或加工、检索、传输、递交等工作。数据处理通常也称为信息处理。数据管理和数据处理一样,都是计

7、算机系统的最基本的支撑技术。数据库是现阶段数据管理的主要形式。 2022/7/20数据库技术及应用19信息处理 信息处理的基本环节包括:人们将原始信息表示成数据,称为源数据,然后对这些源数据进行汇集、存储、综合、推导。从这些原始的、杂乱的、难以理解的数据中抽取或推导出新的数据,这些新的数据称为结果数据,结果数据对某些特定的人们来说是有价值的、有意义的。2022/7/20数据库技术及应用20信息处理的基本环节 2022/7/20数据库技术及应用21信息的三个领域 (1)现实世界现实世界又称事实世界。现实世界指存在于人们头脑之外的客观世界,就是我们赖以生存的生活环境。(2)观念世界观念世界又称信息

8、世界。它是现实世界在人们头脑中的反映。(3)数据世界数据世界又称计算机世界或机器世界。它是数据库系统的处理对象。现实世界中的事实经过观念世界转换成信息,并经过加工、编码进入计算机世界。2022/7/20数据库技术及应用22数据库 数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库是为满足某部门各种用户的多种应用需要,在计算机系统中按照一定数据模型组织、存储和使用的互相关联的数据集合。 2022/7/20数据库技术及应用23数据库管理系统 数据库管理系统(DBMS)是指数据库系统中对数据进行管理的软件系统,它是数据库系统的核心组成部分,数据库系统的一切操作,包括查询、更新及各种控

9、制,都是通过DBMS进行的。 DBMS是数据库系统的基础,研制DBMS的基本目标是扩大功能,提高性能和可用性,从而提高用户的生产率。 2022/7/20数据库技术及应用24DBMS的主要功能 数据定义功能 数据操纵功能 数据库的建立和维护功能 数据库的运行管理 数据字典 2022/7/20数据库技术及应用25数据库管理系统的工作过程 (1)用户在其应用程序中安排一条读记录的DML语句。该语句给出被涉及的外模式中记录类型名及欲读记录的关键码值。当计算机执行该DML语句时,立即启动DBMS,并向DBMS发出读记录的命令。(2)DBMS接到命令后,首先访问该用户对应的外模式,检查该操作是否在合法授权

10、范围内,若不合法则拒绝执行并向应用程序状态返回区发出不成功的状态信息。若合法则执行下一步。(3)DBMS读取相应的模式描述,并从外模式映像到概念模式。也就是把外模式的外部记录格式映像到概念模式的概念记录格式,决定概念模式应读入哪些记录。(4)DBMS调用相应的内模式描述,并从概念模式映像到内模式,即把概念模式的概念记录格式映像到内模式的内部记录格式,确定应读入哪些物理记录以及具体的地址信息。DBMS向操作系统发出从指定地址读取物理记录的命令。2022/7/20数据库技术及应用26数据库管理系统的工作过程 (5)操作系统执行读命令,按指定地址从数据库中把记录读入到数据库的系统缓冲区,并在操作结束

11、后向DBMS作出回答。(6)DBMS收到操作系统读操作结束的回答后,参照概念模式,将读入系统缓冲区中的内容变换成概念记录,再参照外模式,变换成用户要求读取的外部记录。(7)DBMS把导出的外部记录从系统缓冲区送到应用程序的“程序工作区”中。(8)DBMS向运行日志数据库发出读一条记录的信息。以备以后查询使用数据库的情况。(9)DBMS将操作执行成功与否的状态信息返回给用户。(10)应用程序根据返回的状态信息决定是否使用工作区中的数据。2022/7/20数据库技术及应用27数据库系统数据库系统的特点和功能数据库系统的组成2022/7/20数据库技术及应用28数据库系统定义 数据库系统(DataB

12、ase System,简称DBS)是指在计算机系统中引入数据库后的系统,其功能层次由低到高依次为数据库、数据库管理系统、应用开发工具、应用系统、数据库管理员和用户。 2022/7/20数据库技术及应用29数据库系统结构2022/7/20数据库技术及应用30数据库系统的优越性灵活性。简易性。面向用户。数据控制。加快应用系统开发速度。程序设计方便。修改方便。标准化。2022/7/20数据库技术及应用31数据库系统的特点 数据共享 数据的结构化 数据的独立性 可控冗余度 数据由DBMS统一管理和控制 标准化 2022/7/20数据库技术及应用32数据库系统的功能结构 2022/7/20数据库技术及应

13、用33数据库系统的功能 提供高级的用户接口 查询处理和优化 数据目录管理 并发控制 恢复功能 实施安全性保护 完整性约束检查 访问控制 2022/7/20数据库技术及应用34数据库系统的组成 数据集合:数据集合是某一组织中各种应用所需数据的集成,并为这些应用所共享。 硬件和软件:一定的硬件和软件环境是保证数据库系统顺利工作的必要条件。系统人员和用户:数据库管理员、程序设计人员和终端用户。 2022/7/20数据库技术及应用35数据库系统的软件 DBMS和支持DBMS运行的操作系统。DBMS是为数据库的建立、使用和维护配置的软件。具有与数据库接口的高级语言及其编译系统,便于开发应用程序。以DBM

14、S为核心的应用开发工具。应用开发工具是系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代语言等各种软件工具。它们为数据库系统的开发和应用提供了良好的环境。为特定应用环境开发的数据库应用系统。2022/7/20数据库技术及应用36数据库管理员的职责 决定数据库的信息内容。充当数据库系统与用户的联络员。决定数据存储结构和访问策略。决定数据库的保护策略。监视系统的工作,响应系统的某些变化,改善系统的“时空”性能,提高系统的效率。2022/7/20数据库技术及应用37数据模型数据模型的组成要素概念模型层次模型网状模型关系模型数据模型设计2022/7/20数据库技术及应用38现实世界中

15、客观对象的抽象过程 为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,人们常常将现实世界抽象为信息世界,然后将信息世界转换为机器世界。2022/7/20数据库技术及应用39数据模型的组成要素 数据结构数据结构是指数据库中数据对象以及数据对象之间的联系,是对系统静态特性的描述。 数据操作数据操作是指对数据库中各种对象允许执行的操作的集合,包括操作及有关的操作规则。 数据的约束条件数据的约束条件是一组完整性规则的集合。 2022/7/20数据库技术及应用40概念模型 概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设

16、计人员和用户之间进行交流的语言;概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解。 2022/7/20数据库技术及应用41信息世界中的基本概念 实体:现实世界中客观存在并可相互区别的“事物”被称为实体。属性:实体具有的某种或若干种特性或特征称为属性。实体型:具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。实体集:同一类型的实体集合被称为实体集,即具有同一类属性的客观存在的事物的集合。 2022/7/20数据库技术及应用42信息世界中的基本概念 域:域是属性所取的值的变

17、化范围。即同一实体集中各实体同一属性具有的值在一定范畴之内,这一范畴称为该属性的值域,简称为域。键:一个属性值或一组属性值如能唯一标识该实体集中的各实体,则称为该实体的键。 联系:联系一般指实体相互之间关系的抽象表示,亦即现实世界中事物之间的语义关系。 2022/7/20数据库技术及应用43实体之间的联系 一对一联系:如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A、B间存在着“一对一”的联系 2022/7/20数据库技术及应用44实体之间的联系 一对多联系:如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实

18、体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A、B间有一对多联系。 2022/7/20数据库技术及应用45实体之间的联系 多对多联系:如果两个实体集A、B中的每一个实体都和另一个实体集中的任意多个(包括零个)实体有联系,则称这两个实体集是多对多的联系,则称实体集A、B间具有多对多联系。2022/7/20数据库技术及应用46层次模型 层次模型是数据库系统中最常用的数据模型之一。它采用层次模型作为数据的组织方式,属于格式化数据模型。这种模型的特征是:有且仅有一个结点无双亲,这个结点称为根结点。其他结点有且仅有一个双亲。2022/7/20数据库技术及应用47层次模型示意图20

19、22/7/20数据库技术及应用48网状模型在层次模型的基础上,取消层次模型的限制,将树的结构变成图的结构,层次模型就转化成了网状模型。广义讲,任意一个连通的基本层次联系的集合就是一个网状模型。 在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:可以有一个以上的结点无双亲;至少有一个结点有多于一个的双亲。2022/7/20数据库技术及应用49网状模型示意图2022/7/20数据库技术及应用50关系模型 关系模型的基本组成是关系。它把记录集合定义为一张二维表,即关系。表的每一行是一个记录,表示一个实体,也称为一个元组。每一列是记录中的一个数据项,表示实体的一个属性。 2022/7/20

20、数据库技术及应用51关系模型示例2022/7/20数据库技术及应用52数据模型设计 数据库设计的核心问题之一就是要设计一个好的数据模型。 数据与记录项:在数据模型中,用数据描述的实体有对象与属性之分。描述对象的数据称为记录,而描述属性的数据称为项。 型与值:由于实体分为总体与个体两级,所以它的数据也分为“型”(表示总体)与值(表示个体)两级。记录与文件:记录类型是数据项型的一个有序组,记录值是数据项值的同一有序组;文件是记录型与值的总和。 数据模型:数据模型是一种形式化描述数据、数据之间联系以及有关语义约束的方法,是数据库系统中用以提供信息表示和操作手段的形式框架。 2022/7/20数据库技

21、术及应用53数据库系统结构概念数据模型只用于数据库的设计,逻辑数据模型和物理数据模型用于DBMS的实现。数据模型是描述数据的手段,而数据模式是用给定数据模型对具体数据的描述。在DBMS中,由于数据用多级数据模型来描述,相应地也有多级数据模式。DBMS提供模式描述语言(模式DDL)来严格地定义数据模式,美国国家标准协会(ANSI)的ANSI/X3/SPARC报告把数据模式分为三级。2022/7/20数据库技术及应用54数据库系统的三级模式结构 模式:模式是所有概念记录类型的定义,因此它是数据库中全部数据逻辑结构的描述,即数据库中所有记录类型的整体描述,也称逻辑模式。 外模式:外模式也称子模式或用

22、户模式,它是用户与数据库系统的接口。 内模式:内模式也称存储模式,一个数据库只有一个内模式。内模式要定义所有的内部记录类型,定义一些索引、数据在存储器的安排以及安全性、恢复和其他管理方面的细节。 2022/7/20数据库技术及应用55三级模式结构的特征 一个数据库的全局逻辑描述(概念模式)是独立于数据库的其他所有结构描述的。在定义一个数据库的各层次结构时,全局逻辑结构(概念模式)应首先定义。内模式是依赖于全局逻辑结构的,其目的是具体地将概念模式中所定义的全部数据及其联系进行适当的组织并加以存储,以实现较好的运行效率。用户的局部逻辑结构(外模式)是独立于存储模式和存储设备的,它必须在数据库的全局

23、逻辑结构描述的基础上定义。应用程序是在外模式的数据结构上编制的,因此,它必须依赖于特定的外模式。2022/7/20数据库技术及应用56数据库系统的二级映像 数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:外模式/模式映象和模式/内模式映象。正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 2022/7/20数据库技术及应用57数据库系统的三级模式结构 2022/7/

24、20数据库技术及应用58外模式/模式映象模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映象,它定义了该外模式与模式之间的对应关系。这些映象定义通常包含在各自外模式的描述中。2022/7/20数据库技术及应用59模式/内模式映象数据库中只有一个模式,也只有一个内模式,所以模式/内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简

25、称数据的物理独立性。 2022/7/20数据库技术及应用60The end2022/7/20数据库技术及应用61第2章 关系数据库系统结构关系模型的数据模式关系代数关系的完整性规则关系数据库的规范化数据库存储技术2022/7/20数据库技术及应用62关系数据库系统的特点 简单明了的数据模型。具有严禁的理论基础。实体表示方法和实体之间联系的表示方法一致。处理多对多的联系方便。使用的关系数据语言功能强大。2022/7/20数据库技术及应用63关系模型的数据模式关系数据结构关系操作和关系数据语言2022/7/20数据库技术及应用64关系模型的数据模式 关系数据库系统是支持关系模型的数据库系统。关系模

26、型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系模型的数据结构非常单一,在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。关系模型允许定义三类完整性约束:实体完整性、参照完整性、和用户定义的完整性。 2022/7/20数据库技术及应用65关系数据结构 关系模型的数据结构很单一,就是关系,它是建立在集合代数基础上的。在关系数据库中,关系模型是型,关系是值,关系模式是对关系的描述。 2022/7/20数据库技术及应用66术语关系。一个关系实质上是一张二维表,每个关系有一个关系名。在计算机里,一个关系存储为一个文件。元组。

27、表中的行称为元组,每一行为一个元组,对应存储文件中的一个记录值。属性。表中的列称为属性,每一列有一个属性名,属性值相当于记录中的数据项或者字段值。域。属性的取值范围称为域,即不同元组对同一个属性的取值所限定的范围,或称为属性的值域。每一个属性都对应一个值域,不同的属性也可以有相同的值域。2022/7/20数据库技术及应用67术语关系模式。对关系的描述称为关系模式,一个关系模式对应一个关系文件的结构。其格式为: 关系名(属性名1,属性名2,属性名n)。笛卡儿积。设一组域D1,D2,Dn(n2),允许有相同的域,这一组域D1,D2,Dn的笛卡儿积为:D1D2Dn =(d1,d2,dn)| diDi

28、,i=1,2,n,其中每一个元素(d1,d2,dn)叫作一个n元组或简称元组,元组中的每一个值di叫作一个分量。2022/7/20数据库技术及应用68关系中的键 主键:关系有一个重要的性质,即在任何关系中,不能有两个完全相同的元组。确定了主键的值,就能唯一地确定一个元组。主键可以为单个属性,也可以为属性的组合。 候选键:凡是在一个关系中具有主键特性的属性或属性组,均称为候选键。因为它们都具有被选为主键的条件,所以一个关系可能有多个候选键,但只能选其中一个为主键。 外键:当关系中的某个或某些属性由另一个关系的主键构成时,则该属性或属性组称为外键。 2022/7/20数据库技术及应用69关系的性质

29、 任意两个元组(两个行)不能完全相同。关系中元组(行)的次序是不重要的,可以任意交换。属性(列)的次序也是不重要的,可以任意交换。同一列中的分量,必须来自同一个域,是同类型的数据。属性必须有不同的名称,但不同的属性可以出自相同的域,即它们的分量可以取值于同一个域。每一个分量必须是原子的,即是不可再分的数据项。2022/7/20数据库技术及应用70关系操作 关系模型中常用的关系操作包括:选择、投影、连接、除、并、交、差等查询操作和增加、删除、修改操作两大部分。查询的表达能力是其中最主要的部分。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。 2022/7/20数据库技术及应用71关系数

30、据语言 数据库操作语言包括查询和增加、删除、修改两大部分功能。查询的表达方式是数据操纵语言中最主要的部分。关系的数据操纵语言按照表达查询的方式可以分为两大类。用对关系的运算来表达查询的方式称为关系代数。用谓词来表达查询要求的方式称为关系演算。2022/7/20数据库技术及应用72关系代数传统的集合运算专门的关系运算2022/7/20数据库技术及应用73关系代数 关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。所以运算对象、运算符、运算结果是运算的三大要素。关系代数的运算

31、对象是关系,运算结果亦为关系。关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。 2022/7/20数据库技术及应用74关系代数运算符 2022/7/20数据库技术及应用75传统的集合运算 传统的集合运算是二目运算,包括并、差、交、广义笛卡儿积四种运算。 当并、差、交用于关系运算时,参加运算的关系必须是相容的和可并的,即它们应有相同的目n(即两个关系都有n个属性),且相应的属性值来自同一个域。 两个分别为n目和m目关系R和S的广义笛卡儿积是一个(n+m)目的关系,关系中的每一个元组的前n列是关系R中的一个元组,后m列是关系S中的一个元组。 2022/7/20数

32、据库技术及应用76专门的关系运算 专门的关系运算,包括选择、投影、连接和除。选择是一种单目运算,操作对象仅有一个关系,其作用是在关系的水平方向上选取符合给定条件的子集。 投影是一种单目运算,其作用为在关系的垂直方向上选取含有给定属性的子集。 连接是一种二目运算,即操作对象有两个关系,其作用是按照给定的条件,把两个关系中的所有元组按一切可能的组合方式拼接起来。 除是一种二目运算,用文字表示为: 。 2022/7/20数据库技术及应用77关系的完整性规则数据完整性由完整性规则来定义,关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性

33、。 2022/7/20数据库技术及应用78实体完整性 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。实体完整性规则是对关系中的主属性值的约束,规定关系中的元组在组成主键的属性上不能有空值。基本关系的所有主属性都不能取空值,而不仅是主键整体不能取空值。 2022/7/20数据库技术及应用79实体完整性规则的说明实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。现实世界中的实体是可区分的,即它们具有某种唯一性标识。相应地,关系模型中以主键作为唯一性标识。主键中的属性即主属性不能取空值。2022/7/20数据库技术及应用80参照完整性 参照完整性规则:若

34、属性(属性组)F是关系R的外键,它与关系S的主键Ks相对应(关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主键值。2022/7/20数据库技术及应用81用户定义的完整性用户定义的完整性是针对某一具体关系数据库的约束条件。这是针对某一具体数据的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据必须满足的语义要求。用户定义的完整性通常是定义对关系中除主键与外键属性之外的其他属性取值的约束,即对其他属性的值域的约束。 2022/7/20数据库技术及应用82关系完整性的操作 当执行插入操作时,首先检查实体完整性规则

35、,插入行在主键属性上的值,是否已经存在。 当执行删除操作时,一般只需要检查参照完整性规则。 当执行更新操作时,先执行删除操作,再执行插入操作,即上述两种情况的结合。 2022/7/20数据库技术及应用83关系数据库的规范化数据库逻辑设计的一个有力工具就是关系数据库的规范化。规范化就是一系列规则,用于检验数据库逻辑设计的正确性,它可以帮助用户避免一些不完善的数据库设计存在的问题。 2022/7/20数据库技术及应用84不完善的关系模式 数据冗余 信息内容有限 不一致的数据 更新异常(不一致性的危险) 插入异常 删除异常 2022/7/20数据库技术及应用85函数依赖 函数依赖是最重要的数据依赖,

36、类似于变量之间的单值函数关系。函数依赖XY的定义为:对于X的每一个具体值,Y有唯一的具体值与之对应,则称Y函数依赖于X,或X函数决定Y,X称做决定因素。 2022/7/20数据库技术及应用86部分函数依赖 设XY是关系模式的一个函数依赖,如果存在X的真子集X,使得XY成立,则称Y部分依赖于X,否则,称Y完全依赖于X。 2022/7/20数据库技术及应用87传递函数依赖在同一关系模式中,如果存在非平凡的函数依赖XY,YZ,而不存在YX,则称Z传递依赖于X。 2022/7/20数据库技术及应用88关系数据库的规范化 关系数据库的规范化主要有三种标准的规范化规则。如果一个数据库设计符合第n个规则(n

37、=1,2,3),就称它满足第n范式。或者说,关系模式要满足一定的条件,不同程度的条件称做不同的范式。 2022/7/20数据库技术及应用89第1范式第1范式(1NF)每个属性值都是不可再分的最小数据单位。关系模式的最低要求的规则是元组的每个分量必须是不可分的数据项,这叫做第1范式,简称1NF,是最基本的规范化。 2022/7/20数据库技术及应用90第2范式第2范式(2NF)非主属性不部分依赖于关系的主键。在第1范式的基础上进一步增加一些规则,则为第2范式。其定义为:在第1范式基础上,关系的每一个非主属性完全依赖于主键。第2范式就是不允许关系模式的属性之间有这样的函数依赖XY,其中X是键的真子

38、集,Y是非主属性。即不允许有非主属性对健的部分函数依赖。 2022/7/20数据库技术及应用91第3范式第3范式(3NF)属性不依赖于关系的非主属性。在第2范式的基础上,每一个非主属性都不传递依赖于键,则为第3范式。第3范式就是不允许关系模式的属性之间有这样的非平凡函数依赖XY,其中X不包含键,Y是非主属性。X不包含键有两种情况,一种情况X是键的真子集,这是第2范式所不允许的,另一种情况X不是键的真子集,这是第3范式所不允许的。 2022/7/20数据库技术及应用92BCNF范式Boyce-Codd(BCNF)范式所有属性都不传递依赖于关系的任何候选键。BCNF是3NF的进一步规范化,即限制条

39、件更严格。其定义为:如果关系模式的所有属性都不传递依赖于关系的任何候选键,则称关系属于BCNF范式。 2022/7/20数据库技术及应用93数据库存储技术物理存储介质记录的存储结构文件组织2022/7/20数据库技术及应用94物理存储介质 内存一般不能用来存储持久数据;另外,内存储器存储单位数据的成本要比辅助存储器高得多。在当前技术条件下,采用多级存储器是不可避免的。目前,用得最多的辅助存储器是磁盘。磁盘上的数据划分为大小相等的物理块。每个物理块间须留有间隙,以便在磁盘初始化时写入控制信息,用以识别和选择后续的物理块。磁盘和内存交换数据也是以物理块为单位的,即每次访问磁盘,至少存取一个物理块。

40、 2022/7/20数据库技术及应用95记录的物理表示 定位法:每个字段按其最大可能长度分配固定长的位置,数据从左向右填入,多余的部分添以空格符。 相对法:各个字段不是分配固定长的空间,而是用特殊的字符分开,例如用?或%隔开。用此法表示的记录是变长的。计数法:在每个字段的开始,加上一个定长的字段,表示该字段的长度。 2022/7/20数据库技术及应用96记录的分配 连续分配法:将一个文件的块分配在磁盘的连续空间上,块的次序也就是它们存储的次序。 链接分配法:物理块不一定分配在磁盘上的连续区域,各物理块用指针链接。 聚簇(簇集)分配法:这是上面两种方法的结合,把文件分为若干聚簇。所谓聚簇是物理上

41、邻接的若干物理块,聚簇以指针链接。 索引分配法:每个文件有一个逻辑块号与其物理块地址对照的索引。通过索引,可以查看文件中任一块的地址。 2022/7/20数据库技术及应用97数据压缩技术 消零或空格符法:数据中常常出现一串零或空格符,可用一个特殊符号和一个表示零或空格个数的数字表示。 串型代替法:对于反复出现的字符串可用一个省略符代替,在转换时,须查串型表。 2022/7/20数据库技术及应用98文件组织 数据库实现的基础是文件,对数据库的任何操作最终要转化为对文件的操作。所以在数据库物理组织中,基本的问题是如何设计文件组织或者利用操作系统提供的基本的文件组织方法,即如何利用基本的文件组织方法

42、来实现数据库组织。 2022/7/20数据库技术及应用99数据库中需要存储的信息 数据描述。即数据外模式、模式、内模式。数据本身。数据之间的联系。存取路径。2022/7/20数据库技术及应用100数据字典的组织 数据字典的特点是数据量比较小(与数据本身比较)、使用频繁,因为任何数据库操作都要参照数据字典的内容。数据字典在网状、层次数据库中常常用一个特殊的文件来组织。数据字典按不同的内容在逻辑上组织为若干张表,在物理上就对应若干个文件而不是一个文件。 2022/7/20数据库技术及应用101数据库对文件的要求 DBMS为了实现其功能,须在文件目录、文件描述块、物理块等部分附加一些信息,而传统的文

43、件系统是不提供这些信息的。在数据库系统中,往往要求即席访问、动态修改。这就要求文件结构能适应数据的动态变化,提供快速访问路径。数据库中的文件是供所有数据库用户共享的,甚至有些用途是不可预知的。如果采用操作系统的文件管理系统作为DBMS的物理层的实现基础,则DBMS对操作系统的依赖太大,不利于DBMS的移植。数据库中文件的数据量变化较大,有些文件在数据模式刚定义时几乎是个空架子,随着应用的开展,数据不断地消长。数据库中的文件结构应能适应这样的变化。2022/7/20数据库技术及应用102The end2022/7/20数据库技术及应用103第3章 关系数据库设计 数据库设计的基本步骤数据库应用程

44、序编制及调试数据库的完整性数据库的安全性2022/7/20数据库技术及应用104数据库设计的基本步骤需求分析概念设计与E-R模型逻辑结构设计数据库物理设计2022/7/20数据库技术及应用105数据库设计的特征 反复性:数据库设计需要反复推敲和修改才能完成。 试探性:数据库设计的结果一般不是惟一的,设计的过程往往是个试探的过程。 分步进行:数据库设计常常由不同的人员分阶段进行。这样做,一是由于技术上分工的需要,二是为了分段把关,逐级审查,保证设计的质量和进度。 2022/7/20数据库技术及应用106数据库设计的基本过程 2022/7/20数据库技术及应用107数据库设计过程中需要注意的问题

45、(1)实现用户所需要的功能(2)制作能重复使用的构件(3)使用开发管理工具(4)指定用户组和权限(5)提供一致的用户界面(6)在应用系统中加入诊断功能2022/7/20数据库技术及应用108需求分析 需求分析人员既要对数据库技术有一定的了解,又要对单位的情况比较熟悉,一般由数据库技术人员和本单位的有关工作人员合作进行。需求分析的结果整理成需求说明,需求说明是数据库技术人员和应用单位的工作人员取得共识的基础,必须得到单位的有关管理人员的确认。进行需求分析时,要调查清楚用户的实际要求,与用户达成共识,然后再分析与表达这些需求。 2022/7/20数据库技术及应用109调查用户需求的步骤 调查组织机

46、构情况。包括了解该组织的部门组成情况、各部门的职责等,为分析信息流程做准备。调查各部门的业务活动情况。包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么,这是调查的重点。明确对数据库系统的各项需求。在熟悉了业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要求、处理要求、完全性与完整性要求,这是调查的又一个重点。确定新系统的边界。对之前调查的结果进行初步分析,确定哪些功能由计算机完成,哪些工作由人工完成。由计算机完成的功能就是新系统应该实现的功能。 2022/7/20数据库技术及应用110数据流图 数据流程是业务流程及业务中数据

47、联系的形式描述。 数据流图是从“数据”和“处理”两方面表达数据处理过程的一种图形化的表示方法。 2022/7/20数据库技术及应用111数据字典 数据字典是面向数据库设计人员和用户的,它是用DBMS或专用软件实现的一个应用系统。用数据字典管理元数据,不但可以减少设计者的负担,也有利于保持数据的一致性(如避免重复或重名)和提供各种统计数据,因而可以提高数据库设计的质量。数据字典详细描述系统中的全部数据,它是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。 2022/7/20数据库技术及应用112数据项

48、 数据项是不可再分的数据单位,对数据项的描述通常包括以下内容: 数据项名数据项含义说明别名数据类型长度取值范围取值含义与其他数据项的逻辑关系数据项之间的联系2022/7/20数据库技术及应用113数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。数据结构通常由以下几部分组成。数据结构名含义说明组成:数据项或数据结构2022/7/20数据库技术及应用114数据流数据流是数据结构在系统内传输的路径。数据流包含以下各项:数据流名说明数据流来源(说明该数据流来自哪个过程)数据流去向(说明该数据流将到哪个过程去)

49、组成:数据结构平均流量(单位时间内的传输次数)高峰期流量(高峰时期的数据流量)2022/7/20数据库技术及应用115数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。对数据存储的描述通常包括以下几项。数据存储名说明编号输入的数据流(说明该数据流的来源)输出的数据流(说明该数据流的去向)组成:数据结构数据量存取频度(指单位时间内存取几次、每次存取多少数据等信息)存取方式(包括是批处理还是联机处理,是检索还是更新,是顺序检索还是随机检索等)2022/7/20数据库技术及应用116处理过程处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信

50、息,通常包括以下内容。处理过程名说明输入:数据流输出:数据流处理:简要说明(主要说明该处理过程的功能及处理要求)2022/7/20数据库技术及应用117概念设计与E-R模型 概念模型不依赖于具体的计算机系统,是纯粹反映信息需求的概念结构。在需求分析的基础上,用概念数据模型,例如E-R数据模型,表示数据及其相互间的联系。概念数据模型是面向现实世界的数据模型,因而也易于为用户所理解。 概念设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。 2022/7/20数据库技术及应用118概念模型的特性 有丰富的语义表达能力。能表达用户的各种需求,包括描

51、述现实世界中各种事物和事物之间的联系,能满足用户对数据的处理要求。易于交流和理解。概念模型是DBA、应用系统开发人员和用户之间的主要交流工具。易于变动。概念模型要能灵活地加以改变,以反映用户需求和环境的变化。易于向各种数据模型转换,易于从概念模型导出与DBMS有关的逻辑模型。2022/7/20数据库技术及应用119设计概念模型的策略 自顶向下。首先定义全局概念结构的框架,再作逐步细化。自底向上。首先定义每一局部应用的概念结构,然后按一定的规则把它们集成,从而得到全局概念结构。这也是最常用的一种策略。由里向外。首先定义最重要的那些核心结构,再逐渐向外扩充。混合策略。把自顶向下和自底向上结合起来的

52、方法。 2022/7/20数据库技术及应用120概念模型的表示方法 在概念模型的表示方法中,最常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-Relationship Approach)。该方法是数据库逻辑设计的一种简明扼要的方法,也称为E-R模型。 E-R图提供了表示实体型、属性和联系的方法。2022/7/20数据库技术及应用121采用E-R方法的概念模型设计 设计局部概念模型 设计全局概念模型 概念模型的优化与评审 2022/7/20数据库技术及应用122设计局部概念模型 确定局部概念模型的范围。以用户为起点,在需求分析结果的基础上划分局部结构范围。定义实体。确

53、定每个实体类型的属性和键。注意,实体、属性和联系事实上并没有标准可以从形式上截然区分。定义联系。防止并且消除冗余的联系,对联系命名和确定键。确定属性。确定属性的原则是:属性是不可再分解的语义单位,实体与属性间应是1:n的关联,隶属不同实体型的属性间无直接关联,不宜隶属任一实体型的属性应作为联系的属性。逐一画出所有的局部E-R图,附以相应的说明文件。2022/7/20数据库技术及应用123设计全局概念模型 确定公共实体类型。检查存在于多个局部E-R图的公共实体类型。合并局部E-R图。把局部E-R图逐一合并到全局E-R图中,对每个局部E-R图,首先合并公共实体类型,其次合并那些有联系的局部结构,最

54、后加入其他独立的局部结构。消除不一致因素。局部E-R图间存在的不一致又称冲突。通常有以下几种冲突。命名冲突属性冲突结构冲突优化全局E-R图。经合并得到的全局E-R图需要进行优化。画出全局E-R图,附以相应的说明文件。2022/7/20数据库技术及应用124概念模型的优化与评审 优化目标实体类型个数尽可能少;实体类型所含属性尽可能少;实体类型间联系无冗余。评审步骤用户评审开发人员评审 2022/7/20数据库技术及应用125逻辑结构设计 在逻辑设计阶段,将概念设计阶段所得到的以概念数据模型表示、与DBMS无关的数据模式,转换成以DBMS的逻辑数据模型表示的逻辑(概念)模式,并对其进行优化。数据库

55、的逻辑设计也不简单是个数据模型的转换问题,而是进一步深入解决数据模式设计中的一些技术问题,例如数据模式的规范化、满足DBMS的各种限制等。数据库逻辑设计的结果以数据定义语言(DDL)表示。除数据库的逻辑模式外,还得为各类用户或应用设计其各自的逻辑模式,即外模式。 2022/7/20数据库技术及应用126E-R模型向关系数据模型的转换 一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。一个1:1联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并。一个1:n联系可以转换为一个独立的关系模式,也可以与联系的任意n端实体所对应的关系模式合并。

56、一个m:n联系转换为一个关系模式。与该联系相连的各实体的键以及联系本身的属性均转换为关系的属性,而关系的键为各实体键的组合。三个或三个以上的实体间的多元联系转换为一个关系模式。具有相同键的关系模式可以合并。2022/7/20数据库技术及应用127关系数据库的逻辑结构设计过程 从E-R图导出初始关系模式。将E-R图按规则转换成关系模式。规范化处理。消除异常,改善完善性、一致性和存储效率,一般达到第三范式要求即可。模式评价。模式评价的目的是检查数据库模式是否满足用户的要求,包括功能评价和性能评价。 优化模式。优化包括对于设计过程中疏漏的要新增关系或属性,性能不好的要采用合并、分解或选用另外结构等工

57、作。形成逻辑结构设计说明书。2022/7/20数据库技术及应用128逻辑结构设计说明书 应用设计指南:包括访问方式、查询路径、处理要求、约束条件等。物理设计指南:包括数据访问量、传输量、存储量、递增量等。模式及子模式的集合:该部分可用DBMS语言描述,也可列表描述。2022/7/20数据库技术及应用129外模式的设计 外模式是用户所看到的数据模式,各类用户有各自的外模式。外模式不简单地是逻辑模式的子集,虽然它来自逻辑模式,但在结构和形式上可以不同于逻辑模式。外模式的主要作用如下:提供一定的逻辑数据独立性;更好地适应不同用户对数据的需求有利于数据保密2022/7/20数据库技术及应用130数据库

58、物理设计 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构。对物理结构进行评价,评价的重点是时间和空间效率。2022/7/20数据库技术及应用131关系模式的存取方法存取方法是快速存取数据库中数据的技术。数据库管理系统一般都提供许多种存取方法。常用的存取方法有三类:索引方法聚簇方法分区设计方法。 2022/7/20数据库技术及应用132不适宜建立索引的条件不出现或很少出现在查询条件中的属性。属性值很少的属性。属性值分布严重不均匀的属性。经常更新的属性或表。因为更新时索引需要维护。过长的属性,例如超过30个字节。因为在过长的属性上建立索引,索引所占的存储空间较大,而且索引级数也随之增

59、加,有诸多不利之处。太小的表,例如小于六个物理块的表。2022/7/20数据库技术及应用133适宜建立索引的条件如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引)。如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引。对于以读为主或只读的表,只要需要,且存储空间允许,可以多建索引。2022/7/20数据库技术及应用134聚簇存取方法聚簇就是把有关的元组集中在一个物理块内或物理上相邻的区域内,以提高某些数据访问的速度。具有同一聚簇键值的

60、元组,尽可能放在同一个物理块中。如果放不下,可以向预留的空白区发展,或链接多个物理块。 2022/7/20数据库技术及应用135适宜建立聚簇的情况 通过聚簇键进行访问或连接是该表的主要应用,与聚簇键无关的其他访问很少,或是次要的。对应每个聚簇键值的平均元组数既不太少,也不太多。聚簇键的值应相对稳定,以减少修改聚簇键所引起的维护开销。2022/7/20数据库技术及应用136分区设计方法 数据库系统一般有多个磁盘驱动器,有些系统还带有磁盘阵列。数据在多个磁盘组上的分布也是数据库物理设计的内容之一,这就是分区设计方法。分区设计的原则如下:减少访盘冲突,提高I/O的并行性。分散热点数据,均衡I/O负荷

温馨提示

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

评论

0/150

提交评论