全套电子课件:数据库技术与应用-第八套.ppt

上传人(卖家):三亚风情 文档编号:3158691 上传时间:2022-07-25 格式:PPT 页数:348 大小:2.88MB
下载 相关 举报
全套电子课件:数据库技术与应用-第八套.ppt_第1页
第1页 / 共348页
全套电子课件:数据库技术与应用-第八套.ppt_第2页
第2页 / 共348页
全套电子课件:数据库技术与应用-第八套.ppt_第3页
第3页 / 共348页
全套电子课件:数据库技术与应用-第八套.ppt_第4页
第4页 / 共348页
全套电子课件:数据库技术与应用-第八套.ppt_第5页
第5页 / 共348页
点击查看更多>>
资源描述

1、 第1章 数据库概述 1.1 计算机数据管理的发展 1.2 数据库管理系统 1.3 数据库系统 1.4 数据模型 1.5 关系数据库系统 1.6 本章小结 1.7 习题1.1 计算机数据管理的发展 1.1.1 数据管理 1.1.2 数据库技术的产生和发展1.1.1 数据管理 数据 数据是对客观事物的符号表示,通常是以一组“数字”组成用以表征某一自然客体或社会客体的数量或质量的概念,即数据是用以表征物质的存在、相互关系、运动状态和变化规律的一组“数字”的组合。数据与信息 数据和信息的含义并不完全相同。数据是指记载下来的事实,是客观实体属性的值,而信息是一种已经被加工为特定形式的数据,是数据所表达

2、的内容,它能使事物的不确定性减少。1.1.2 数据库技术的产生和发展 人工管理阶段 文件系统阶段 数据库系统阶段 数据仓库阶段数据库系统阶段(1)数据结构化(2)数据独立性高(3)数据的共享性好,冗余度低(4)数据由数据库管理系统统一管理和控制1.2 数据库管理系统 1.2.1 数据库管理系统的定义 1.2.2 数据库管理系统的功能1.2.1 数据库管理系统的定义 数据库管理系统(Database Management System,简称DBMS)是位于用户和操作系统之间的一层数据管理软件,它使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户并发使用及发生故障后的系统恢复

3、。1.2.2 数据库管理系统的功能 1.数据定义功能 2.数据操纵功能 3.数据库的运行管理 4.数据库的建立和维护功能 5.数据组织和管理 6.数据通信功能1.3 数据库系统 1.3.1 数据库系统的定义 1.3.2 数据库系统的组成 1.3.3 数据库系统的模式 1.3.4 数据库语言1.3.1 数据库系统的定义 数据库本身不是独立存在的,它是数据库系统的一部分,在实际应用中,人们所面对的数据库系统。数据库系统(Database System,简称DBS)是指带有数据库的计算机应用系统。1.3.2 数据库系统的组成 数据库系统是计算机应用系统中引入数据库后的系统,简单地讲是由硬件、软件、数

4、据库和人员组成,具体讲一般由硬件系统、数据库管理系统及相关软件、数据库集合和人员组成 数据库系统的组成示意图数据库系统的组成示意图 硬件硬件 操作系统操作系统 DBMS 系统应用系统应用 DBA 用户用户 数据库管理员数据库管理员(Database Administrator,简称DBA)是一个或一组人员,是数据库的全面负责建立、维护和管理数据库系统的人员,具体的职责包括:设计与定义数据库系统 监控数据库的使用和运行 数据库的转储与恢复 数据库的改进和重组 数据库的重构1.3.3 数据库系统的模式 数数 据据 库库 系系 统统 模模 式式 结结 构构 示示 意意 图图 模模 式式 内内 模模

5、式式 应应 用用 A 应应 用用 B 应应 用用 C 应应 用用 D 应应 用用 E 应应 用用 F 外外 模模 式式 1 外外 模模 式式 2 外外 模模 式式 3 1 2 3 数数 据据 库库 外外 模模 式式/模模 式式 映映 象象 模模 式式/内内 模模 式式 映映 象象 1.3.4 数据库语言 1.数据描述语言(DDL)2.数据操纵语言(DML)3.数据控制语言(DCL)4.宿主语言1.4 数据模型 1.4.1 数据处理的三个世界 1.4.2 数据模型的要素 1.4.3 数据模型的分类1.4.1 数据处理的三个世界 数据处理的三个世界数据处理的三个世界 现实现实世界世界 计算机世界(

6、计算机世界(DBMS 支持的数据模型)支持的数据模型)收集、分类和抽象收集、分类和抽象 信息世界(信息世界(E-R 表示)表示)加工、转换加工、转换 信息世界信息世界(或称概念世界)是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,一般使用实体-联系(entity-relationship,缩写为E-R)图表示。信息世界涉及的主要概念有:(1)实体(entity)(2)属性(attribute)(3)码(key)(4)域(domain)(5)实体型(entity type)(6)联系(relationship)一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)信息世界

7、建模最常用的工具是实体-联系图(E-R图)。实体型,用矩形表示,矩形框内写明实体名;属性,用椭圆形表示,并用无向边将其与相应的实体连接起来;联系,用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型。学生学生 学号学号 姓名姓名 出生日期出生日期 性别性别 专业专业 m 产品产品 组成 零件零件 n 信息世界建模 (a)实体及属性实体及属性图图 J#PROJECJNAMEDATE PART WEIGHT COLOR P#PNAME SUPPLIESADR SNAME S#TOTAL(b)实体及联系实体及联系图图 P-P n m P-S n m J#P

8、ROJECJNAMEDATE QUANTITY PART WEIGHT COLOR P#PNAME SUPPLIESADR SNAME S#1.4.2 数据模型的要素 数据结构 数据结构用于描述系统的静态特性。数据操作 数据操作用于描述系统的动态特性。数据的约束条件 数据的约束条件是一组完整性规则的集合;完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。1.4.3 数据模型的分类 按照数据模型描述的角度不同,数据模型可以分为:概念模型和数据库支持的数据模型。目前最常用的数据模型有层次模型、网状模型和关系

9、模型。随着技术发展,面向对象模型越来越受到关注。层次模型和网状模型统称为非关系模型。在非关系模型中,实体用记录表示,实体之间的联系用转换成记录之间的两两联系。1.4.3 数据模型的分类1.层次模型 层次模型是数据库系统中最早出现的数据模型,它的数据结构是一棵“有向树”。层次模型的特征是:有且仅有一个结点没有父结点,它就是根结点;其他结点有且仅有一个父结点。在层次模型中,每个结点描述一个实体型,称为记录型。一个记录型可有许多记录值,简称为记录。结点之间的有向边表示记录之间的联系。如果要存取某一记录型的记录,可以从根结点开始,按照有向树层次逐层向下查找,查找路径就是存取路径。1.4.3 数据模型的

10、分类2.网状模型 用网状结构表示实体及其之间联系的模型称为网状模型。网中的每一个结点代表一个记录类型,联系用链接指针来实现。广义地讲,任何一个连通的基本层次联系的集合都是网状模型。它取消了层次模型的两点限制,网状模型的特征是:可以有一个以上的结点没有父结点;允许结点有多于一个的父结点。1.4.3 数据模型的分类3.关系模型 关系模型是用二维表格结构来表示实体以及实体之间联系的数据模型。关系模型的数据结构是一个“二维表框架”组成的集合,每个二维表又可称为关系,因此可以说,关系模型是“关系框架”组成的集合。目前大多数DBMS都是关系模型的,所以它是我们主要讨论的数据模型。关系模型的特征是:描述的一

11、致性,不仅实体用关系描述,实体之间的联系也用关系描述;可用关系直接表示多对多的联系;关系必须是规范化的,即每个属性是不可分的数据项,不允许表中有表。关系模型是建立在数学概念基础上的,有较强的理论基础。1.4.3 数据模型的分类4.面向对象数据模型 根据数据模型的三要素:数据结构、数据操作和数据约束条件,将面向对象数据模型与关系数据模型做一简单比较。(1)在关系数据模型中基本数据结构是表,相当于面向对象数据模型中的类;关系模型中的数据元组相当于面向对象数据模型中的实例(对象),它们的区别在于OO模型的类中还包括方法,关系数据模型中只有实体的属性而没有对实体的操作。(2)在关系数据模型中,对数据库

12、的操作都归结为对关系的运算,而在面向对象数据模型中对类的操作分为两部分:一部分是封装在类内的操作即方法,另一部分是类间相互沟通的操作即消息。(3)在关系数据模型中有域、实体和参照完整性约束,完整性约束条件可以用逻辑公式表示,称为完整性约束方法。在面向对象数据模型中这些用于约束的公式可以用方法或消息表示,称为完整性约束消息。1.5 关系数据库系统 1.5.1 关系数据结构 1.5.2 关系操作集合 1.5.3 完整性约束1.5.1 关系数据结构 1.关系(1)域(2)笛卡儿积(3)关系 列是同质的,即列中的每一个分量来自同一个域。不同的列可以来自相同的域,但属性名不能相同。列的顺序无所谓,可以任

13、意交换。行的顺序无所谓,可以任意交换。任意两个元组不能完全相同。分量必须取原子值,即每一个分量都是不可分的数据项。2.关系模式 3.关系数据库1.5.2 关系操作集合 1.实体完整性(entity integrity)实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。2.参照完整性(referential integrity)参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的KS主码相对应,则对于R中每个元组在F上的值必须为空值(F的每个属性均为空)或者等于S中某个元组的主码值。3.用户定义完整性(user-defined integrity)用户定义完整

14、性规则:针对具体应用,关系中的元组的取值必须满足用户规定的约束条件。1.5.3 完整性约束 在现实世界里的E-R模型在计算机世界里可以用支持关系模型的DBMS来实现,实体及实体之间的联系均表示成关系,而这些关系的集合就构成了关系数据库。关系数据库也有型和值之分。关系数据库的型是对关系数据库的描述,包括若干域和定义在这些域上的关系模式,也可称为关系数据库模式。关系数据库的值,是某一时刻对应的关系的集合,也可称为关系数据库。通常,关系数据库模式和关系数据库统称为关系数据库。1.6 本章小结 本章概述了数据库系统的基本概念和基本结构。本章首先介绍了计算机数据管理的发展,阐明了数据与信息的异同。数据管

15、理是数据处理的中心问题。随着计算机硬件和软件的发展,数据管理经历了人工管理、文件系统和数据库系统三个发展阶段。本章介绍了数据库管理系统和数据库系统的有关概念。数据库管理系统是位于用户和操作系统之间的一层数据管理软件。数据库系统三级模式和两层映象的系统结构保证了数据库系统中能够具有较高的逻辑独立性和物理独立性。数据库语言包括数据描述语言、数据操纵语言、数据控制语言和宿主语言。数据模型是数据库系统的核心和基础。本章介绍了组成数据模型的三个要素、概念模型和三种主要的数据库模型。这几种最常用的数据模型是层次模型、网状模型和关系模型。其中层次模型和网状模型统称为非关系模型。实体联系模型是最常用的概念模型

16、,关系模型是当今的主流模型,本章重点介绍了关系数据库系统。第2章 关系数据库标准语言SQL 2.1 SQL的特点 2.2 SQL数据定义功能 2.3 SQL数据查询功能 2.4 SQL数据操纵功能 2.5 视图 2.6 数据控制 2.7 本章小结 2.8 习题 2.1 SQL的特点 2.1.1 综合统一 2.1.2 高度非过程化 2.1.3 面向集合的操作方式 2.1.4 以同一种语法结构提供两种操作方式 2.1.5 语言简洁,易学易用 2.1.1 综合统一结构化查询语言(Structured Query Language,简称SQL)是关系数据库的标准语言。SQL集数据定义、数据查询、数据操

17、纵和数据控制功能于一体,充分体现了关系数据库语言的特点和优点,语言风格统一,可以独立完成数据库生命周期中的全部活动。2.1.2 高度非过程化用SQL进行数据操作,用户无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。2.1.3 面向集合的操作方式 SQL采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。2.1.4 以同一种语法结构提供两种操作方式SQL既是自含式语言,又是嵌入式语言。n作为自含式语言,它能够独立地用于联机交互的使用方式。n作为嵌入式语言,SQL语句能够嵌

18、入到高级语言(例如C、COBOL、FORTRAN、PL/1)程序中,供程序员设计程序时使用。2.1.5 语言简洁,易学易用 SQL功能极强,但由于设计巧妙,语言十分简洁,完成数据定义、数据操纵、数据控制的核心功能只用了9个动词:CREATE、DROP、ALTER、SELECT、INSERT、UPDATE、DELETE、GRANT、REVOKE。而且SQL语法简单,接近英语口语,因此容易学习,容易使用。2.2 SQL数据定义功能 2.2.1 创建、删除、修改基本表 2.2.2 创建、删除、修改索引 2.2.1 创建、删除、修改基本表 创建基本表是数据库中最基本的操作,其格式为:CREATE TA

19、BLE(列名 数据类型 列级完整性约束条件,列名 数据类型 列级完整性约束条件,表级完整性约束条件);2.2.1 创建、删除、修改基本表 修改已建立好的基本表,包括增加新列、增加新的完整性约束条件、修改原有的列定义或删除已有的完整性约束条件等,其一般格式为:ALTER TABLE 表名ADD 新列名 数据类型 完整性约束DROP 完整性约束名MODIFY 列名 数据类型;2.2.1 创建、删除、修改基本表 删除基本表的一般格式为:DROP TABLE 表名;2.2.2 创建、删除、修改索引 建立索引的一般格式为:CREATE UNIQUE CLUSTER INDEX 索引名ON 表名(列名 次

20、序,列名 次序);删除索引的一般格式为:DROP INDEX 索引名;2.3 SQL数据查询功能 2.3.1 单表查询 2.3.2 连接查询 2.3.3 嵌套查询 2.3.4 集合查询2.3.1 单表查询 选择表中的若干列 选择表中的若干元组 对查询结果排序 使用集函数 对查询结果分组2.3.2 连接查询 等值与非等值连接查询 自身连接 外连接 复合条件连接2.3.3嵌套查询 带有IN谓词的子查询 带有比较运算符的子查询 2.3.4 集合查询 SELECT语句的查询结果是元组的集合,所以多个SELECT语句的结果可进行集合操作。集合操作主要包括并操作UNION、交操作INTERSECT和差操作

21、MINUS。2.4 SQL数据操纵功能 2.4.1 插入数据 2.4.2 修改数据 2.4.3 删除数据2.4.1 插入数据 插入单个元组 INSERT语句的格式为:INSERT INTO(,)VALUES(,)插入子查询结果子查询不仅可以嵌套在SELECT语句中,用以构造查询的条件,也可以嵌套在INSERT语句中,用以生成要插入的批量数据。INSERT INTO(,)子查询;2.4.2 修改数据 修改数据语句的一般格式为:UPDATE表名SET=,=WHERE 条件;其功能为:修改指定表中满足WHERE子句条件的元组。其中SET子句给出表达式的值用于取代相应的属性列值。如果省略WHERE子句

22、,则表示要修改表中的所有元组。可修改某一元组的值,也可修改多个元组的值,子查询也可以嵌套在UPDATE语句中,用以构造修改的条件。2.4.3 删除数据 删除数据语句的一般格式为:DELETEFROM 表名WHERE 条件;删除某个元组的值 删除多个元组的值 带子查询的删除语句 更新操作与数据库的一致性 2.5 视图 2.5.1 定义和删除视图 2.5.2 查询视图 2.5.3 更新视图2.5.1 定义和删除视图 建立视图 格式:CREATE VIEW视图名(,列名)AS子查询 WITH CHECK OPTION;删除视图 格式:DROP VIEW;2.5.2 查询视图 视图定义后,用户就可以像

23、对基本表一样对视图进行查询了。对视图的查询时,首先进行有效性检查,检查查询的表、视图等是否存在。如果存在,则从数据字典中取出视图的定义,把定义中的子查询和用户的查询结合起来,转换成等价的对基本表的查询,然后再执行修正后的查询。这一转换过程称为视图消解。2.5.3 更新视图 由于视图是不实际存储数据的虚表,因此对视图的更新最终要转换为对基本表的更新。为防止用户通过视图对数据进行增加、删除、修改时,有意无意地对不属于视图范围内的基本表数据进行操作,可在定义视图时加上 WITH CHECK OPTION子句。这样在视图上增删改数据时,DBMS会检查视图定义中的条件,若不满足条件,则拒绝执行该操作。2

24、.6 数据控制 数据控制也称为数据保护,包括数据的安全性控制、完整性控制、并发控制和恢复。关于数据保护的概念将在第4章中详细介绍,本节主要介绍SQL的数据控制功能。授权 收回权限2.7 本章小结 SQL的数据定义部分包括对SQL模式、基本表、视图、索引的创建和撤消。SQL的数据操纵分成数据查询和数据更新两部分。SQL的数据查询是用SELECT语句实现,兼有关系代数和元组演算的特点。SQL的数据更新包括插入、删除和修改等三种操作,在视图中只有行列子集视图是可以更新的。嵌入式SQL涉及到SQL语句的宿主语言程序中的使用规定,以解决两种语言的不一致和相互联系的问题。同时还介绍了动态SQL语句。第3章

25、 关系数据理论 3.1 数据存储异常 3.2 函数依赖 3.3 关系模式的规范化 3.4 关系模式的分解 3.5 本章小结 3.6 习题 3.1数据存储异常 3.1.1 关系模式的数学表示 3.1.2 一个实例 3.1.1关系模式的数学表示 关系模式是对关系的描述,可以将关系模式形式定义成一个五元组:R(U,D,DOM,F)。其中:R为关系名;U为一组属性,即组成R的全部属性的集合;D为域的集合,即属性取值范围的集合;DOM为U与D之间的映象;F为属性组U上的数据依赖关系的集合。3.1.2 一个实例 一个教师授课管理系统,在实际当中进行教师授课的人工管理,通常是制作一张表。管理人员通过查询该表

26、,来了解某个教师可以教授哪些课程以便安排教学任务、通知授课老师。对这个实际问题,我们把它设计成一个教师授课管理的计算机系统。3.2 函数依赖 数据依赖通过一个关系中属性之间值的相等与否体现出来的数据间的相互关系,是现实世界事物之间的相互关联性的一种表达,是属性固有语义的体现。大多数数据依赖都是函数依赖n平凡函数依赖与非平凡函数依赖n完全函数依赖与部分函数依赖n传递函数依赖n主码与候选码3.3 关系模式的规范化一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。n第一范式 如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。n第二范式

27、 若关系模式R1NF,且每一个非主属性都完全函数依赖于码,则R2NF。n第三范式 关系模式R(U,F)中若不存在候选码X、属性组Y及非主属性Z(ZY),使得XY,YZ,(Y X),成立则R(U,F)3NF。nBC范式 关系模式R(U,F)1NF。若对于R的每一个函数依赖 XY,若YX,则 X必含有码,那么R(U,F)BCNF。n第四范式 关系模式R(U,F)1NF,如果对于R的每个非平凡多值依赖XY(YX),X都含有码,则称R(U,F)4NF。n如果在4NF的基础上,进一步投影分解,消除了连接依赖,就成为了5NF。3.3 关系模式的规范化规范化小结:规范化:把低一级的关系模式通过模式分解,转化

28、为若干个高一级范式的关系模式的集合的过程。目的:解决关系模式存在的插入、删除异常、修改复杂,数据冗余等问题。基本思想:“分离”,“一事一地”。让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念就把它“分离”出去。实质:概念的单一化。3.4 关系模式的分解 3.4.1 关系模式分解的标准 3.4.2 无损连接性 3.4.3 保持函数依赖 3.4.1 关系模式分解的标准规范化过程中将一个关系模式分解为若干个关系模式,应该保证分解后产生的模式与原来的模式等价。通常关系模式分解等价标准是:要求分解是具有无损连接性 要求分解是保持函数依赖的 3.4.2 无损连接性 设关系模式R(U,F

29、)(其中U为R的属性的集合,F为R的函数依赖集合)分解为若干个关系模式R1(U1,F1),R2(U2,F2),RK(UK,FK),其中:U=U1U2UK,且不存在,Fi是F在Ui上的投影。若R与R1,R2,RK自然连接的结果相等,则称关系R的这个分解具有无损连接性(lossless join)。只有具有无损连接性的分解才能保证不丢失信息。3.4.3 保持函数依赖 设关系模式R(U,F)(其中U为R的属性的集合,F为R的函数依赖集合)分解为若干个关系模式R1(U1,F1),R2(U2,F2),RK(UK,FK),其中:U=U1U2UK,且不存在,Fi是F在Ui上的投影。若F所逻辑蕴涵的函数依赖一

30、定也由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴涵,则称关系R的这个分解是保持函数依赖的(preserve dependency)。3.5 本章小结 函数依赖是对关系中属性值之间多对一的描述,也是对关系中值的一种约束。它是对关键码概念的扩充。范式是衡量模式优劣的标准。范式的级别越高,其数据冗余和操作异常现象就越少。关系模式的规范化过程就是把低一级的关系模式通过模式分解,转化为若干个高一级范式的关系模式的集合的过程。其目的是解决关系模式存在的插入、删除异常、修改复杂,数据冗余等问题。关系模式在分解时,应该保证分解后产生的模式与原来的模式等价。通常关系模式分解等价分别用无损连接性和保持函数依赖

31、两个特征来衡量。4.1 数据库安全性 4.2 数据库完整性 4.3 数据库并发控制 4.4 数据库恢复 4.5 本章小结 4.6 习题4.1 数据库安全性 4.1.1 数据库的安全策略 4.1.2 保证数据库安全的一般方法4.1.1 数据库的安全策略 数据库安全策略是涉及信息安全的高级指导方针,这些策略根据用户需要、安装环境、建立规则和法律等方面的限制来制定。数据库系统安全性策略主要是一些基本性安全的问题,如访问控制、伪装数据的排除、用户的认证、可靠性,这些问题是整个安全性问题的基本问题。4.1.2 保证数据库安全的一般方法 用户标识与系统鉴定 机制 过程 存取控制 视图保护 审计 数据加密

32、4.2 数据库完整性 4.2.1 完整性概述 4.2.2 完整性约束条件与DBMS的完整性机制4.2.1 完整性概述 数据库的完整性是指保证数据库数据的正确性、有效性和相容性,防止错误的数据进入数据库。数据完整性与安全性 数据库的完整性规则 4.2.2 完整性约束条件与DBMS的完整性机制 完整性约束条件 DBMS的完整性控制机制的功能4.3 数据库并发控制 4.3.1 事务并发控制的基本单位 4.3.2 并发控制 4.3.3 封锁 4.3.4 死锁及死锁避免的方法 4.3.1 事务并发控制的基本单位 事务的定义 事务的特性 原子性 一致性 隔离性 持久性 4.3.2 并发控制 并发控制是指在

33、多用户的环境下,对数据库进行并发操作进行规范的机制。其目的是为了避免对数据的丢失修改、读脏数据与不可重复读等,从而保证数据的正确性与一致性。并发操作可能产生的问题 并发操作的调度 4.3.3 封锁 封锁类型 排它锁 共享锁 封锁粒度 封锁协议 保证数据一致性的三级封锁协议共享锁 保证并行调度可串行化的两段锁协议 4.3.4 死锁及死锁避免的方法 活锁和死锁 避免死锁的方法 一次封锁法 顺序封锁法 死锁的诊断和解除 4.4 数据库恢复 4.4.1 数据库故障 4.4.2 数据库恢复的一般方法 4.4.1 数据库故障 事务故障 系统故障 介质故障 计算机病毒4.4.2 数据库恢复的一般方法 转储

34、静态转储和动态转储 海量转储和增量转储 日志文件 日志文件的作用 登记日志文件 恢复事务 4.5 本章小结 数据库的安全性是指保护数据库,防止用户不合法使用所造成的数据泄露、修改或破坏。数据库的安全性可以通过用户身份鉴定和访问控制来实现。数据库的完整性是指保证数据库数据的正确性、有效性和相容性,防止错误的数据进入数据库。完整性可以用完整性约束来表示。数据库的并发控制以事务为单位,通常使用封锁技术实现并发控制。本章介绍了两类最常用的封锁和三级封锁协议。数据库系统中可能发生的故障大致可以分为事务故障、系统故障、介质故障和计算机病毒。数据库转储和登记日志文件是恢复中最经常使用的技术。5.1 数据库设

35、计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计 5.6 数据库实施 5.7 数据库运行和维护 5.8 本章小结 5.9 习题5.1 数据库设计概述 5.1.1 数据库设计的内容 5.1.2 数据库设计的基本步骤 5.1.3 数据库设计方法5.1.1 数据库设计的内容 数据库设计的内容主要包括:数据库的结构特性设计 数据库结构特性设计是指数据库结构的设计,设计结果能否得到一个合理的数据模型,这是数据库设计的关键。由于数据库的结构特性是静态的,一般情况下不会轻易变动,所以数据库的结构特性设计又称为数据库的静态结构设计。首先要将现实世界中的事物以及事物间

36、的联系用E-R图表示出来,再将各个分E-R图进行汇总,得出数据库的概念结构模型,然后将概念结构模型转化为数据库的逻辑结构模型表示,最后进行数据库物理设计,并建立数据库。数据库的结构特性设计起着关键的作用。行为特性设计 数据库的行为特性设计是指应用程序、事务处理的设计。数据库的行为特性设计是基于数据库用户的行为和动作进行设计,而用户行为总是更新数据库内容的操作,用户行为特性是动态的,所以数据库的行为特性设计又称为数据库的动态特性设计。首先要将现实世界中的数据用数据流程图和数据字典表示,并详细描述其中的数据操作要求,进而得出系统的功能模块结构和数据库的子模式。5.1.2 数据库设计的基本步骤 1.

37、需求分析阶段 2.概念结构设计阶段 3.逻辑结构设计阶段 4.物理结构设计阶段 5.数据库实施阶段 6.数据库运行和维护阶段5.1.3 数据库设计方法 早期的数据库设计采用手工试凑法进行,随着计算机技术的飞速发展,人们也在不断努力探索各种各样非手工的数据库设计方法,并提出了多种数据库设计的准则和规范,这些设计方法被称为规范设计法。非手工方法的主要代表有基于LRA方法、New orleans 方法、E-R模型方法等。其中New orleans 方法,即新奥尔良法是规范设计中比较著名的一种方法。本章节中所介绍的数据库设计的基本步骤正是按照新奥尔良法所提出的数据库设计的六个阶段进行操作的。数据库工作

38、者们十几年来一直致力于研究和开发数据库设计工具,以减轻数据库设计人员的工作量,辅助他们更好的完成设计任务,特别是大型数据库的设计更需要自动设计工具的支持。5.2 需求分析 5.2.1 需求分析的主要任务 5.2.2 需求分析的主要工作 5.2.3 需求分析应注意的问题5.2.1需求分析的主要任务 需求分析的主要任务是详细调查现实世界的组织机构情况,充分了解系统概况和发展前景,明确用户的各种需求,收集支持系统目标的基础数据及其处理方法,确定新系统的功能和边界。调查是需求分析的重要手段,只有通过对用户的调查研究,才能获取数据库系统所需数据情况和数据处理要求。调查的具体内容包括:1.数据库信息内容

39、2.数据处理内容 3.数据安全性和完整性要求5.2.2需求分析的主要工作需求分析阶段的工作主要有下面四部分组成:1.分析用户活动,产生用户活动图这一步主要是了解现实社会的机构组织及用户当前的业务活动情况,搞清楚其业务流程,对一个比较复杂的处理,可划分为若干子处理,分析之后画出用户活动图。2.确定系统范围,产生系统范围图这一步主要是确定系统的边界。哪些功能由人工完成,哪些功能由计算机实现。由计算机完成的功能就是新系统应该实现的功能。3.分析用户活动涉及的数据,产生数据流图这一步主要是深入分析用户的业务处理,以数据流图形式表示出数据的流向和对数据所进行的加工。4.分析系统数据,产生数据字典5.2.

40、3 需求分析应注意的问题需求分析阶段一定要收集未来应用所涉及的数据。如果数据库设计人员仅仅按照当前应用来设计,新数据的加入就会在操作中显得十分困难,不仅会影响数据库的概念结构,而且将影响逻辑结构和物理结构。所以设计人员必须有前瞻性,充分考虑到未来应用可能的扩充和改变,使设计易于变动。需求分析必须有用户的积极参与。由于用户缺少计算机专业知识,有时不能准确表达自己的要求;而设计人员缺少用户的专业知识,不易理解用户的真正需求,这就是确定用户最终需求成为一件非常困难的事情。只有两者加强沟通,互相交流,及时反馈用户意见,才能够较好的完成需求分析。因此,用户的积极参与是数据库设计中不可缺少的环节。5.3

41、概念结构设计 5.3.1 概念模型 5.3.2 概念设计的策略和主要步骤 5.3.3 数据抽象方法 5.3.4 E-R方法简介 5.3.5 采用E-R方法的数据库概念设计5.3.1 概念模型 表达概念设计结果的工具称为概念模型。通常是将客观对象首先抽象为概念模型,然后再把概念模型转换成机器世界中的数据模型。所以概念结构的设计在数据库设计中是非常重要的一步。通常对概念模型有以下要求:概念模型是对现实世界的抽象和概括,应有丰富的语义表达能力,能表达用户的各种需求,包括描述现实世界中各种对象及其复杂的联系,及用户对数据库对象的处理要求等。概念模型应简洁明晰,易于交流和理解。概念模型要求方便应用系统开

42、发人员和用户之间交流意见,使用户能积极参与数据库的设计工作。概念模型应易于变动。概念模型要能灵活地加以修改和补充,以适应用户需求和应用环境的变化。概念模型应易于向关系、层次和网络等各种数据模型转换,易于从概念模型导出与数据库管理系统有关的逻辑模型。5.3.2 概念设计的策略和主要步骤 设计概念结构的策略主要有以下几种:自顶向下:首先定义全局概念结构框架,然后逐步细化为完整的全局概念结构。自底向上:首先定义每一局部应用的概念结构,然后按一定的规则把它们集成,从而得到全局概念结构。由里向外:首先定义最重要的那些核心概念结构,再逐渐向外扩充生成其它概念结构,直至完成总体概念结构。混合策略:混合策略是

43、把自顶向下和自底向上结合起来的方法,它先采用自顶向下的策略设计一个全局概念结构的框架,然后以它为骨架,再自底向上设计局部概念结构,并把他们集成。5.3.2 概念设计的策略和主要步骤 最常用的策略是自底向上设计策略,其主要步骤如下所示:进行数据抽象,设计局部概念模式。局部用户的信息需求是构建全局概念模式的基础。因此,首先要根据用户的需求为其建立相应的局部概念结构。将局部概念模式综合成全局概念模式。在把局部概念模式综合的过程中,主要处理各局部模式对各种对象定义不一致的问题。把各个局部结构合并,还会产生冗余问题,或导致对信息需求的再调整与分析,以确定确切的含义。进行评审、改进。消除了所有冲突后,就可

44、以把全局概念结构提交评审。评审分为用户评审和系统开发人员评审。前者的重点在于确认全局概念模式是否完整准确地反映用户信息需求;而后者则侧重于确认全局结构是否完整,成份划分是否合理,是否存在不一致性等。如果在评审中发现问题,应及时改进。5.3.3 数据抽象方法 进行数据抽象是完成概念设计的第一步。所谓抽象是对现实世界中的人、事、物的人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,形成某种模型。抽象有两种形式,一种是系统状态的抽象,即抽象对象;另一种是系统转换的抽象,即抽象运算。在数据库设计中,概念设计的目的就是要定义抽象对象的关系结构。以下介绍数据抽象的三

45、种基本方法,分类、聚集和概括。1.分类 2.聚集 3.概括5.3.4 E-R方法简介 概念设计方法最著名,最实用的是P.P.S.Chen于1976年提出的“实体-联系法”(Entity-Relationship Approach,简称E-R方法)。这种方法将现实世界的信息结构统一用属性,实体以及实体之间的联系,即E-R图来描述。E-R方法的基本术语和E-R图的表示如1.4节所示。5.3.5 采用E-R方法的数据库概念设计 采用E-R方法的数据库概念设计可分为三步进行:设计局部E-R模型 设计全局E-R模型 全局E-R模型优化5.4 逻辑结构设计 5.4.1 E-R图转换为数据模型 5.4.2

46、关系规范化 5.4.3 数据模型的优化 5.4.4 设计外模式5.4.1 E-R图转换为数据模型 逻辑结构设计将信息世界的概念模型E-R图转化为计算机世界的数据模型,需要遵循以下原则:1.实体转换为关系 每个实体可以转换为一个单独的关系模式,实体的属性就是关系的属性,实体的码就是关系的码。2.联系转换为关系模式(1)m:n型的联系(2)1:n型的联系(3)1:1型的联系(4)多元联系转换为关系模式(5)实体自联系转换为关系模式 3.具有相同码的关系模式可合并5.4.2 关系规范化关系规范化是指将E-R图转换为数据模型后,通常以规范化理论为指导,对关系进行分解或合并,这是关系模式的初步优化。一般

47、按照以下步骤进行:考察关系模式的函数依赖关系。按照需求分析得到的语义关系,将各个关系模式中的函数依赖关系提炼出来,并进行极小化处理,消除冗余。按照数据依赖理论,将关系模式分解,至少达到第三范式,即消除部分函数依赖和传递依赖。并不是规范化程度越高关系就越优,因为规范化程度越高,系统就会越经常做连接运算,这是以效率为代价的。一般地说,第三范式就足够了。5.4.3 数据模型的优化 为了进一步提高数据库应用系统的性能,还可以对产生的关系模式进行进一步优化,即修改、调整和重构。根据需要,可以添加适当的“冗余”,以提高效率。例如,实体班级和学生的关系为1:n,经过规范化后,学生中加入属性“所在班级”,通过

48、对相同班号的学生求和就可以得到某班的人数,可是这种求班级人数的工作是经常做的,而且对于班级来说,其人数也是非常重要的属性,因此,可以在班级中加入属性“人数”,虽然这是冗余字段,可是能提高数据库的整体效率,这是很值得的。如果一个关系的某个属性可以由本关系的其它属性计算得到,这绝对是冗余属性;如果一个关系的某个属性是由其它关系的属性计算得来的,则这个属性在某些时候可以加在此关系中。5.4.4 设计外模式 外模式是保护数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据对他们来说是不可见的。同时,对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该

49、外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。当模式改变时,由数据库管理员对数据库外模式/模式映像作相应改变,可以使外模式保持不变。从而应用程序不必修改,保证了数据的逻辑独立性。在设计外模式时,要注意以下几点:按照用户习惯进行命名,包括关系名、属性名。外模式与模式的属性本质即使相同也可以取不同的名字。针对用户的不同级别定义不同的外模式,以保护系统的安全性。构造必要的外模式,以简化用户操作。5.5 数据库物理设计 5.5.1 物理结构设计 5.5.2 评价物理结构5.5.1 物理结构设计 1.存储记录的格式设计 对数据项类型特征做分析,对存储记录进行格式化,决定如何进行数

50、据压缩或代码化。可使用“垂直分割法”,对含有校对属性的关系,按其中属性的使用频率不同进行分割;或使用“水平分割方法”,对含有较多记录的关系,按某些条件进行分割。并把分割后的关系定义在相同或不同类型的物理设备上,或在同一设备不同区域上。2.存储方法设计 顺序存放,平均查询次数为记录个数的二分之一。杂凑存放,查询次数由杂凑算法决定。索引存放,要确定建何种索引,及建立索引的表的属性。聚簇存放,记录聚簇是指将不同类型的记录分配到相同的物理区域中去 3.访问方法设计 为存储在物理设备上的数据提供存储结构和查询路径,与DBMS有很大关系。4.完整性和安全性考虑 根据逻辑设计说明书中提供的对数据库的约束条件

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(全套电子课件:数据库技术与应用-第八套.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|