《自考04735数据库系统原理考点讲义汇总.docx》由会员分享,可在线阅读,更多相关《自考04735数据库系统原理考点讲义汇总.docx(151页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2目录数据库系统原理 1数据库系统原理考试标准与考核内容3Chapter 1 数据库系统概述 4第零节 数据库系统概述5第一节 数据库基本概念 5第二节 数据管理技术的发展6第三节 数据库系统的结构8第四节 数据模型11Chapter 2 关系数据库13第一节 关系数据库概述14第二节 关系数据模型14第三节 关系数据库的规范化理论18Chapter 3 数据库设计21第一节 数据库设计概述21第二节 数据库设计的基本步骤23第三节 关系数据库设计方法25Chapter 4 SQL 与关系数据库基本操作29第一节 SQL 概述 30第二节 MySQL 预备知识 31第三节 数据定义33第四节
2、数据更新36第五节 数据查询38第六节 视图42Chapter 5 数据库编程45第一节 存储过程45第二节 存储函数48Chapter 6 数据库安全与保护50第一节 数据库完整性51第二节 触发器53第三节 安全性与访问控制55第四节 事务与并发控制59第五节 备份与恢复61Chapter 7 数据库应用设计与开发实例 64第一节 需求描述与分析64第二节 系统设计65第三节 系统实现69第四节 系统测试与维护71Chapter 8 数据管理技术的发展 73第一节 数据库技术发展概述73第二节 数据仓库与数据挖掘75第三节 大数据管理技术7623数据库系统原理考试标准与考核内容通关宝典(又
3、称全书讲义),是图灵学院全体老师们结合近年考试动态,经过 对官方教材和考试大纲的透彻研究,总结出数据库系统原理的核心考点。通过 数位教师的努力, 为学员们准备的一份备考利器。本通关宝典是根据官方教材,提炼出重要的考点、知识点, 为广大学员在最短 的时间内掌握本教材核心内容提供了可能。全书为以下板块:考点频率图:展现全书各章节的重要程度, 为大家集中精力解决主要矛盾指 明方向;章节思维导图:建立知识框架,才不会迷路方向,提纲挈领,快速把握章节 内容;正文部分:以知识点形式划分,方便碎片化时间学习,各个击破,准确把握 学习进度;题型解析:本章节最常考的题型,用最直观的方式,领会答题的奥义。人生最大
4、的遗憾,往往并不是没有去做,而是没有坚持;明明只要再坚持努力 一丢丢,却选择放弃,与成功失之交臂。每个时代都悄悄犒赏会学习的人。拾起梦想的翅膀,背上奋斗的行囊,携手共 进,为自己的人生,揭开美丽的新篇章。自考学习路漫长,在图灵, 为翱翔。早起奋斗,何人诉衷肠。通关宝典来帮忙,知识点, 难相忘。慷慨激昂赴考场,做考题,心不慌。行云流水,答题露 锋芒。待到成绩发榜日, 谈笑间,功名扬。34Chapter 1数据库系统概述45第零节 数据库系统概述数据库管理技术的发展概述了数据管理的人工管理、文件系统和数据库系统三 个发展阶段。数据库系统的特点概括为数据结构化、数据冗余度小、数据共享性好、数据独 立
5、性高、数据库保护五个方面。第一节 数据库基本概念模块零 数据库基本概念数据库中常用的四个基本概念:数据、数据库、数据库管理系统和数据库系统。模块一 数据数据(Data)是描述事务的符号记录,是指用物理符号记录下来的、可以鉴别 的信息。多种表现形式: 包括数字、字母、文字、特殊字符组成的文本数据,也可以是 图形、 图像、 动画、影像、声音、 语言等多媒体数据。数据的解释是对数据含义的说明,也称为数据的语义,即数据所蕴含的信息。 数据与其语义密不可分, 没有语义的数据是没有意义和不完整的。 因此,数据 是信息存在的一种形式,只有通过解释或处理的数据才能成为有用的信息。模块二 数据库数据库(DB)是
6、指长期储存在计算机中的有组织的、可共享的数据集合,且数 据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高 的数据独立性,系统易于扩展,并可以被多个用户共享。数据库中存储的数据具有永久存储、有组织和可共享三个基本特点。模块三 数据库管理系统数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操 作系统之间。它负责科学有效地组织和存储数据,并帮助数据库的使用者能够 从大量的数据中快速地获取所需数据,以及提供必要的安全性和完整性等统一 控制机制,实现对数据有效的管理与维护。数据库管理系统的主要功能包括以下几个方面:1.数据定义功能;2.数据操纵功能;3.数据库的运行
7、管理功能;4.数据库的建立和维护功能;5.数据组织、存储和管理功能;6.其他功能:主要包括与其他软件的网络通信功能、不同数据库管理系统之间的数据传输以及相互访问功能等。56模块四 数据库系统数据库系统是指在计算机中引入数据库技术之后的系统。通常, 一个完整的数据库系统包括数据库、数据库管理系统以及相关实用工 具、应用程序、数据库管理员和用户。数据库管理员(DBA):不同于普通数据库用户,他们是专门负责对数据库进 行维护,并保证数据库正常、高效运行的人员;用户:数据库系统的服务对象,其通常包括程序员和数据库终端用户两类用户,程序员通过高级程序设计语言和数据库语言编写数据库应用程序,应用程 序会根
8、据需要向数据库管理系统发出适当的请求,再由数据库管理系统对数据 库执行相应的操作,而终端用户则是从客户机或联机终端上以交互方式向数据 库系统提出各种操作请求。并由数据库管理系统响应执行,而后访问数据库中 的数据。数据库系统如下图所示:第二节 数据管理技术的发展模块零 数据管理技术的发展1.数据管理可以从两个方面来理解: 一是针对组织业务的管理,负责制定并执 行整个组织中关于数据的定义、组织、保护与有效使用的策略、过程和计划;二是依靠技术,负责实现数据作为一种资源的集中控制管理。 2.将收集的数据进行适当的构造,这称为数据组织。3.数据的组织分为逻辑组织和物理组织两种。数据的逻辑组织是用户或应用
9、程 序所使用的数据结构形式,而物理组织则是数据在物理存储设备上的结构形 式,这两者之间可以相互独立。674.为了备用,需要将数据归类进行存储;为了向用户提供信息,存储的数据要 能够方便地被选择提取,这称作检索。5.为了保护数据的正确性和安全性等,必须建立一些相应的规则和执行这些规 则的过程来控制数据的存与取,以实现数据库管理的目标。6.保管的数据是那些需要长期、多次使用的数据,但随着时间的推移,数据组 织单位的内外环境会发生变化,因而存储的数据在规模和结构方面都可能变 化,所以数据管理还必须能够对其进行维护。7.数据管理的任务:进行数据收集、组织、控制、存储、选取、维护,实现在 适当的时刻、以
10、适当的形式、给适当的人、提供适当的数据,它是数据处理的 中心问题,而数据处理则是指对各种数据进行收集、存储、加工和传播的一系 列活动的总和。8.数据管理技术共经历了人工管理、文件系统和数据库系统三个阶段。模块一 人工管理阶段人工管理阶段的特点如下:1.数据不保存;2.应用程序管理数据;3.数据面向应用。模块二 文件系统阶段1.文件系统是将数据的逻辑结构和物理结构分离,由“存放方法”实现逻辑结 构与物理结构之间的映射。2.应用程序只涉及数据的逻辑结构,系统决定数据的物理结构,两者之间可以 有差别。3.当物理结构发生改变时,不会导致应用程序的修改,这称为数据的物理独立 性。4.数据的物理独立性使应
11、用程序脱离数据的物理结构,使其适用性得以提高。 同时,应用程序的编程人员不必关心数据的物理存储细节,因而其生产效率相 应也得到提高。5.相对于人工管理数据的方法,文件系统管理数据有了很大的改进,具有数据 可长期保存和专门管理的特点,它提供了物理数据独立性,使应用程序与数据 的具体物理存储结构分离,并通过数据的抽取、排序、合并等可以为应用程序 提供新的文件,从而使数据共享成为可能;但是在文件系统中,不能实现数据 的普通共享,只能实现文件级的共享,而不能在记录或数据项级实现数据的共 享。文件的逻辑结构是根据它的应用而设计的,数据的逻辑结构与应用程序之 间相互依赖。模块三 物理设计中的数据描述1.数
12、据库管理系统-数据库应用技术产生,出现了统一管理数据的、专门的软件 系统。2.与人工管理、文件系统两种数据管理方法相比较,数据库系统具有以下特点:(1)数据集成; 是数据库管理系统的主要目的。78(2)数据共享性高; 不只是同一数据可以被多个不同用户存取,还包含了并发 共享。(3)数据冗余小; 并非所有的冗余都可以或者应该被消除。(4)数据一致性; 通过消除或控制数据冗余,可以在一定范围内避免数据的不 一致性。引起不一致的根源是数据冗余。(5)数据独立性高; 数据定义与使用数据的应用程序分离称为数据独立。 1)数据定义的修改,在一定范围内不会引起应用程序的修改。这种独立称为数据 的逻辑独立。
13、2)可改变数据的存储结构或存取方法以响应变化的需求而无需修 改现有的应用程序,这称为数据的物理独立。(6)实施统一管理与控制;主要包括数据的安全性、完整性、并发控制与故障 恢复等,即数据库保护。 1)数据的安全性;2)数据的完整性; 3)并发控制; 4)故障恢复。(7)减少应用程序开发与维护的工作量;数据库方法表现在应用方面的一个优 点是:在数据库上开发与维护新的应用所花费的代价和时间大大减少。第三节 数据库系统的结构模块零 数据库系统的结构若从数据库管理员(DBA)的视角来看,数据库系统可分为内部系统结构和外 部体系结构,其中内部体系结构通常采用三级模式结构。模块一 数据库系统的三级模式结构
14、知识点零 数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统是由模式、外模式和内模式三级构 成的。 如下图所示:知识点一 模式在三级模式结构中,模式也称为概念模式或逻辑模式,它是数据库中全体数据 的逻辑结构和特征的描述,是所有用户的公共数据视图。89DBMS 提供模式描述语言来严格地定义模式,不仅要定义数据的逻辑结构,还 要定义数据之间的联系,定义与数据相关的安全性、完整性等要求。知识点二 外模式在三级模式结构中,外模式也称为子模式或用户模式,它是数据库用户能够看 见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻 辑表示。外模式实际上是用于满足不同数据库用户需求
15、的数据视图,即用户视图。相应 地, DBMS 提供子模式描述语言来严格地定义子模式。知识点三 内模式在三级模式结构中,内模式也称为存储模式,它是对数据库中数据物理结构和 存储方式的描述,是数据在数据库内部的表示形式。内模式实际上是整个数据库的最底层表示,它不同于物理层,是数据库管理员 (DBA)所见到的,特定的 DBMS 所处理的数据库的内部结构,即内部视图或 存储视图相应的 DBMS 提供内模式描述语言来严格地定义内模式,即定义所有内部记录 类型、索引和文件的组织方式,以及所有数据控制方面的细节。知识点四 三级模式结构的两层映像与数据独立性构成数据库系统三级模式结构的三个模式分别是对数据的三
16、级抽象,它们彼此 间具有如下特点:1.一个数据库的整体逻辑结构和特征的描述(概念模式)是独立于数据库其他 层次结构(内/外模式)的描述,其实数据库的核心,也是数据库设计的关键。 2.一个数据库的内部存储模式依赖于概念模式,但存储模式独立于外部模式, 也独立于具体的存储设备。3.用户逻辑结构(外模式)是在全局逻辑结构描述的基础上定义的,它面向具 体的应用程序,独立于内部模式和存储设备。4.特定的应用程序是在外模式的逻辑结构上编写的,它依赖于特定的外模式,与数据库的模式和存储结构独立外模式/模式映像:所谓映像,就是一种对应规则,它指出映像双方是如何进行 转换的。模式/内模式映像:定义了数据库全局逻
17、辑结构与物理存储之间的对应关系,这 种映像定义通常是在模式中加以描述的。模式/内模式映像是唯一的。模块二 数据库系统的运行与应用结构知识点零 数据库系统的运行与应用结构数据库常见的运行与应用结构有:客户/服务器结构、 浏览器/服务器结构。知识点一 客户/服务器结构在客户/服务器结构中,命令行客户端、图形化界面管理工具、应用程序等称为 “客户端”、“前台”或“表示层”,主要完成与数据库使用者的交互任务;而数据库管理系统则称为“服务器”、“后台”或“数据层”,其主要负责数据管理。这种操作数据库的模式称为客户/服务器(C/S)模式,它的一般处理流程如下图:,10在客户/服务器模式中,客户端和服务器可
18、以同时工作在同一台计算机上,这种 工作方式称为“单机方式”;也可以“网络方式”进行运行。知识点二 浏览器/服务器结构浏览器/服务器结构是一种基于 Web 应用的客户/服务器结构,也称为三层客户/ 服务器结构。在数据库系统中,它将与数据库管理系统交互的客户端进一步细分为“表示层”和“处理层”。表示层是数据库使用者的操作和展示界面,处理层也称为 中间层。浏览器/服务器(B/S)模式的处理流程如下图所示:1011第四节 数据模型模块零 数据模型数据模型是对现实世界数据特征的抽象,描述的是数据的共性内容。模块一 数据特征与数据模型组成要素数据具有静态和动态两种特征。其中,数据的静态特征包括数据的基本结
19、构、 数据间的联系以及对数据取值范围的约束;数据的动态特征是指对数据可以进 行符合一定规则的操作。数据模型通常由数据结构、数据操作和数据约束三个要素组成。数据结构描述的是系统的静态特性,即数据对象的数据类型、内容、属性以及 数据对象之间的联系、数据操作描述的是系统的动态特性,是对各种对象的实例允许执行的操作的集 合,包括操作以及有关的操作规则。数据约束描述数据结构中数据间的语法和语义关联,包括相互制约与依存关系 以及数据动态变化规则,以保证数据的正确性、有效性与相容性。模块二 数据模型的分类知识点零 数据模型的分类数据模型是模型化数据和信息的工具,也是数据库系统的核心和基础。两类数据模型:第一
20、类是概念层数据模型,第二类是逻辑层数据模型和物理层 数据模型。知识点一 概念层数据模型概念层数据模型也称为数据的概念模型或信息模型,它用来描述现实世界的事 物,与具体的计算机系统无关,且独立于任何 DBMS,但容易向 DBMS 所支持 的逻辑数据模型转换。基本概念:实体:客观存在并可相互区别的事物称为实体。属性:实体所具有的某种特性称为实体的属性。码或键:可唯一标识实体的属性集称为码或键。实体型:具有相同属性的实体必然具有共同的特征和性质。实体集:同型实体的集合称为实体集。联系:实体内部的联系通常是指实体各属性之间的联系,实体之间的联系是指 不同实体之间的联系。概念模型的表示方法:用 E-R
21、图来描述现实世界的概念模型,实体用矩形表示;属性用椭圆形表示;联系用菱形表示。知识点二 逻辑层数据模型逻辑层是数据抽象的中间层,描述数据整体的逻辑结构。主要的逻辑数据模型有层次模型、网状模型、关系模型、面向对象模型。1.层次模型:数据库最早使用的数据模型。特点:有且仅有一个结点没有父结点,它称作根结点;其他结点有且仅有一个父结点。2.网状模型:以网状结构表示实体与实体之间的联系。11123.关系模型:用二维表结构来表示实体及实体间联系的模型,并以二维表格的 形式组织数据库中的数据。优点如下:关系模型是建立在严格的数学概念基础 上的;关系模型的概念单一,统一用关系来表示实体以及实体之间的联系,对
22、 数据的检索和更新结果同样也是用关系来表示;关系模型的存取路径对用户透 明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作 和数据库开发建立的工作。4.面向对象模型:与数据库相结合所构成的数据模型称为面向对象模型。知识点三 物理层数据模型物理层数据模型,也称为数据的物理模型,其描述数据在存储介质上的组织结 构,是逻辑模型的物理实现,即每一种逻辑模型在实现时都有与其相对应的物 理模型。从现实世界到概念模型的转换是由数据库设计人员完成的;从概念模型到逻辑 模型的转换可以由数据库设计人员完成,也可以用数据库设计工具协助设计人 员完成;从逻辑模型到物理模型的转换是由数据库管理系统完成
23、的。1213Chapter 2 关系数据库1314第一节 关系数据库概述关系数据库的基本特征是使用关系数据模型组织数据,这种思想源于数学。关系数据库的优点:包括高级的非过程语言接口、较好的数据独立性等,为商 品化的关系数据库管理系统的研制做好了技术上的准备。第二节 关系数据模型模块零 关系数据模型关系数据库系统是支持关系模型的数据库系统。作为一种数据模型,关系模型 同样包含三个组成要素,分别是关系数据结构、关系操作集合和关系完整性约 束。模块一 关系数据结构关系模型只包含单一的数据结构,即关系。在关系模型中,现实世界的实体以 及实体间的各种联系,均是使用关系来表示。在用户看来,关系模型是把数据
24、库表示为关系的集合, 且关系数据库是以二维 表格的形式组织数据。知识点一 表也称为关系,是一个二维的数据结构,它由表名、构成表的各个列及若干行数 据组成。每个表有一个唯一的表名,表中每一行数据描述一条具体的记录值。知识点二 关系一个关系逻辑上对应一张二维表, 可以为每个关系取一个名称进行标识。关系可以有三种类型,即基本关系、查询表和视图表。基本关系通常又称为基 本表或基表,是实际存在的表,它是实际存储数据的逻辑表示;查询表是查询 结果;视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的 数据。知识点三 列表中的列,也称作字段或属性。表中每一列有一个名称,称为列名、字段名或 属性名。
25、每一列表示实体的一个属性,具有相同的数据类型。在一个数据库中,表名必须唯一;在表中,字段名必须唯一,不同表中可以出 现相同的字段名;表和字段的命名应尽量有意义,并尽量简单。知识点四 属性表中的一个列即为一个属性,给每一个属性起一个名称即属性名。 与之同义的术语是“列”。表中属性的个数称为关系的元或度。列的值称为属性值;属性 值的取值范围称为值域。知识点五 行表中的行,也称作元组或记录。表中的数据是按行存储的。表中的一行数据即 为一个元组或一条记录,其每行由若干字段值组成。每个字段值描述该对象的 一个属性或特征。1415知识点六 元组表中的一行即为一个元组。知识点七 分量元组中的一个属性值,称为
26、分量。知识点八 码或键如果在一个关系中,存在这样的属性,使得在该关系的任何一个关系状态中的 两个元组,在该属性上值的组合都不相同,即这些属性的值都能用来唯一标识 该关系的元组,则称这些属性为该关系的码或键。知识点九 超码或超键如果在关系的一个码中移去某个属性,它仍然是这个关系的码,则称这样的码 或键为该关系的超码或超键。一般每个关系至少有一个默认的超码或超键,即该关系的所有属性的集合,也 是这个关系的的最大超码或超键。知识点十 候选码或候选键如果在关系的一个码或键中,不能从中移去任何一个属性,否则它就不是这个 关系的码或键。则称这样的码或键为该关系的候选码或候选键。 一个关系的候 选码或候选键
27、是这个关系的最小超码或超键。有些情况下,需要几个属性才能唯一确定一条记录。知识点十一 主码或主键在一个关系的若干个候选码或候选键中指定一个用来唯一标识关系的元组,则 称这个被指定的候选码或候选键为该关系的主码或主键。知识点十二 全码或全键一个关系模式的所有属性集合是这个关系的主码或主键,则称这样的主码或主 键为全码或全键。知识点十三 主属性和非主属性关系中包含在任何一个候选码中的属性称为主属性或码属性,不包含在任何一 个候选码中的属性称为非主属性或非码属性。知识点十四 外码或外键当关系中的某个属性不是这个关系的主码或候选码,而是另一关系的主码时, 称该属性为这个关系的外码或外键。知识点十五 参
28、照关系和被参照关系参照关系也称为从关系,被参照关系也称为主关系,它们是指以外码相关联的 两个关系。以外码作为主码的关系称为被参照关系;外码所在的关系称为参照 关系。被参照关系与参照关系是通过外码相联系的,这种联系通常是一对多的 联系。知识点十六 域域表示属性的取值范围。知识点十七 数据类型表中每个列都有相应的数据类型,它用于限制该列中存储的数据。每个字段表 示同一类信息,具有相同的数据类型。知识点十八 关系模式同数据模型一样,数据库也有型和值之分。在关系数据库中,关系模式是型,关系是值,即关系模式是对关系的描述。1516关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的。这是因为 关系
29、操作在不断地更新着数据库中的数据。人们常常会把关系模式和关系都笼统地称为关系。知识点十九 关系数据库关系数据库是以关系模式作为数据的逻辑模型,并采用关系作为数据组织方式 的一类数据库,其数据库操作建立在关系代数的基础上。 在一个给定的应用领 域中,所有关系的集合构成一个关系数据库。关系数据库对关系是有限定的,具体要求如下:1.每一个属性都是不可分解的。2.每一个关系仅仅有一种关系模式。3.每一个关系模式中的属性必须命名,在同一个关系模式中,属性名必须是不 同的。4.同一个关系中不允许出现候选码或候选键值完全相同的元组。 5.在关系中元组的顺序是无关紧要的,可以任意交换。6.在关系中属性的顺序是
30、无关紧要的,可以任意交换。模块二 关系操作集合知识点一 基本的关系操作关系模型中常用的关系操作包括查询(Query)操作和插入(Insert)、删除 (Delete)、修改(Update)操作两大部分。查询操作分为:选择、投影、连接、除、并、差、交、笛卡尔积等。 五种基本操作:选择、投影、并、差、笛卡尔积。关系操作的特点是集合操作方式,即操作的对象和结果都是集合、这种操作方 式也称为一次一集合的方式。知识点二 关系数据语言的分类关系操作是通过关系语言来实现的。关系语言的特点是高度非过程化,即:用户不必请求数据库管理员为其建立特 殊的存取路径,存取路径的选择由 DBMS 的优化机制来完成;用户也
31、不必求助 于循环和递归来完成数据的重复操作。关系操作的能力可以用两种方式来表示:代数方式和逻辑方式。 关系代数、元组关系演算和域关系演算均是抽象的查询语言。结构化查询语言 SQL 充分体现了关系数据语言的特点和优点,是关于数据库的 标准语言。关系数据语言可以分为三类:关系代数语言。关系演算语言以及兼具两者双重 特点的语言。共同特点是:语言具有完备的表达能力,是非过程化的集合操作 语言,功能强,能够独立使用也可以嵌入高级语言中使用。知识点三 关系代数操作包含三大要素:操作对象、操作符、操作结果。在关系代数操作中,操作 对象和操作结果均为关系。关系代数直接应用关系的运算来表达操作目的,而代数用到的
32、运算符包括集合 运算符合专门的关系运算符两类,如下表所示:1617关系代数操作经过有限次复合的式子称为关系代数操作表达式,简称为关系代 数表达式。A.传统的集合运算是二目运算,关系看成元组的集合,其运算关系是从关系的“水平”方向,即 行的角度来进行,具体有并、差、交、笛卡尔积 4 种运算。1.并: 假设有两个关系 R1 和 R2,R1 和 R2 的并运算产生一个新关系 R3 。R3 是 由属于关系 R1 或 R2 的所有不同元组所组成,记为 R3=R1R2。2.差:假设有两个关系 R1 和 R2 ,R1 和 R2 的差运算产生一个新关系 R3 。R3是由属于关系关系 R1,但不属于 R2 的元
33、组组成,记为 R3=R1-R2。3.交:假设有两个关系 R1 和 R2 ,R1 和 R2 的交运算产生一个新关系 R3 。R3是由既属于关系 R1,同时又属于 R2 的元组组成,记为 R3=R1R2。4.笛卡尔积: 假设有两个关系 R1 和 R2,且 R1 为 m 元关系, R2 为 n 元关系, R1 和 R2 的笛卡尔积产生一个新关系 R3,记作 R3=R1R2。R3 是由 R1 和 R2 的所有元组连接而成的具有(m+n)个分量的元组组成。B.专门的关系运算不仅涉及行,而且涉及列,它可分为一元专门关系操作和二元专门关系操作。 一元专门关系操作包括对单个关系进行垂直分解的投影运算和进行水平
34、分解选 择运算;二元专门关系操作则是对两个关进行操作,包括连接运算和除运算。 (1)选择(SELECT)选择运算表示为: ,其中, F 为条件表达式, R 为指定的被运算关系名。形式如下:SELECT 关系名 WHERE 条件1718其中,条件是由常数、属性名或列名、比较操作符及逻辑操作符组成的条件表 达式。(2)投影(PROJECTION)投影运算表示为: A(R),其中, R 为被运算关系名, A 为属性序列。形式 如下:PROJECTION 关系名(属性名 1,属性名 2 , ,属性名 n)(3)连接(JOIN)连接运算表示为:连接运算是选取两个指定关系中的属性满足给定条件的元组连接在一
35、起来组成 一个新关系,其形式为:JOIN 关系名 1AND 关系名 2WHERE 条件条件是由比较操作符和属性名或列名组成的条件表达式。连接操作中有两种最为常用的连接,即等值连接和自然连接。 (4)除(DIVISION)除运算表示为: RS,其中 R 和 S 代表两个不同的关系。 在除运算中,若被除 关系为 m 元关系,除关系为 n 元关系,则运算结果为一个 m-n 元关系。模块三 关系的完整性约束知识点零 关系的完整性约束数据库的数据完整性是指数据库中数据的正确性、相容性和一致性。关系模型中有三类完整性约束,分别是实体完整性约束、参照完整性约束和用 户定义完整性约束。知识点一 实体完整性约束
36、实体完整性约束是指关系的主属性,即主码的组成不能为空,也就是关系的主 属性不能是空值 NULL。知识点二 参照完整性约束参照完整性约束就是定义外码和主码之间的引用规则, 它是对关系间引用数 据的一种限制。描述定义:若属性 F 是基本关系 R 的外码,它与基本关系 S 的 主码 K 相对应,则对 R 中每个元组在 F 上的值只允许两种可能, 即要么取空值, 要么等于 S 中某个元组的主码值。知识点三 用户定义完整性约束用户定义的完整性约束是针对某一应用环境的完整性约束条件,它反映了某一 具体应用所涉及的数据应满足的要求。知识点四 关系模型完整性约束的检验为了维护关系数据库中数据的完整性,在对关系
37、数据库执行插入、删除和更新 操作时,需要检验是否满足上述三类完整性约束。第三节 关系数据库的规范化理论关系数据库的规范化理论是关系数据库设计的理论依据。模块一 关系模式中可能存在的冗余和异常问题关系模式可能会存在的如下问题:18191. 数据冗余2. 更新异常3. 插入异常4. 删除异常模块二 函数依赖与关键字知识点一 定义 2.1函数依赖是指关系中属性间的对应关系。定义 2.1 设 R 为任一给定关系,如果对于 R 中属性 X 的每一个值, R 中的属性 Y 只有唯一值与之对应,则称 X 函数决定 Y 或称 Y 函数依赖于 X,记作 X Y。其中 X 称为决定因素。知识点二 定义 2.2完全
38、函数依赖定义 2.2 设 R 为任一给定关系, X 、Y 为其属性集,若 X Y,且对 X 中的任 何真子集 X,都有 X,Y,则称 Y 完全函数依赖于 X。知识点三 定义 2.3部分函数依赖定义 2.3 设 R 为任一给定关系, X 、Y 为其属性集,若 X Y,且 X 中存在一 个真子集 X,满足 X,Y,则称 Y 部分函数依赖于 X。知识点四 定义 2.4传递函数依赖定义 2.4 设 R 为任一给定关系, X 、Y 、Z 为其不同属性子集,若 X Y ,Y X ,Y Z,则有 X Z,称为 Z 传递函数依赖于 X。知识点五 定义 2.5关键字的定义定义 2.5 设 R 为任一给定关系,
39、U 为其所含的全部属性集合, X 为 U 的子集, 若有完全函数依赖 X U,则 X 为 R 的一个候选关键字。模块三 范式与关系规范化过程一个低一级范式的关系模式通过模式分解可以转换为若干个高一级范式的关系 模式的集合,这种过程就叫规范化。知识点一 定义 2.6第一范式定义 2.6 设 R 为任一给定关系,若果 R 中每个列与行的交点处的取值都是不可 再分的基本元素,则 R 为第一范式。第一范式是一个不含重复组的关系,其中不存在嵌套结构。不满足第一范式的 关系为非规范关系。知识点二 定义 2.7第二范式定义 2.7 设 R 为任一给定关系,若 R 为 1NF,且其所有非主属性都完全函数依赖于
40、候选关键字,则 R 为第二范式。知识点三 定义 2.8第三范式1920定义 2.8 设 R 为任一给定关系,若 R 为 2NF,且其每一个非主属性都不传递函 数依赖于候选关键字,则 R 为第三范式。知识点四 定义 2.9BCNF定义 2.9 设 R 为任一给定关系, X 、Y 为其属性集, F 为其函数依赖集,若 R 为 3NF,且其 F 中所有函数依赖 X Y(Y 不属于 X)中的 X 必包含候选关键 字,则 R 为 BCNF。模块四 关系规范化理论的应用关系规范化理论主要应用于数据库设计中的概念设计阶段。在实现设计中当将 E-R 图向关系模型转换时,还可以用它来分析并发现概念设计中可能存在
41、的遗 漏或不当之处,特别是联系实体是否不单独转换为一独立关系而集成到与之相 联的基本实体中去处理时,规范化理论是最有效的评价准则。2021Chapter 3数据库设计第一节 数据库设计概述模块一 数据库的生命周期数据库的生命周期可分为两个阶段:数据库分析与设计阶段、数据库实现与操 作阶段。数据库分析与设计阶段包括环节:需求分析、概念设计、逻辑设计和物理设计。数据库实现与操作阶段包括:数据库的实现、操作与监督、修改与调整三个子 阶段。模块二 数据库设计的目标设计的目标:满足应用功能需求和良好的数据库性能。满足应用功能需求:指用户当前与可预知的将来应用所需求的数据及其联系 , 应全部准确地存储在数
42、据库之中,从而可满足用户应用中所需要的对数据进行 的存、取、删、改等操作。良好的数据库性能:主要是指对数据的高效率存取和空间的节省,并具有良好 的数据共享性、完整性、 一致性及安全保密性。2122模块三 数据库设计的内容内容包括两个方面:1.数据库结构设计:是针对给定的应用环境进行数据库的模式或子模式的设计,包括数据库的概念结构设计、逻辑结构设计和物理结构设计。 模式定义并 给出各应用程序共享的结构,是静态的, 一经形成通常不会改变。2.数据库行为设计:是确定数据库用户的行为和动作,而用户的行为和动作是 对数据库的操作,它们通常是通过应用程序来实现的。 行为设计是动态的。模块四 数据库设计的方
43、法数据库设计方法(有效的指导原则) ,概括分为三类:1.直观设计法:最原始的数据库设计方法;2.规范设计法:(1)新奥尔良设计方法(2)基于 E-R 模型的数据库设计方法(3)基于第三范式的设计方法3.计算机辅助设计法:通常通过人机交互的方式来完成。(例如 CASE 工具)模块五 数据库设计的过程数据库设计的阶段包括:1.需求分析阶段;2.结构设计阶段:包括概念结构设计、逻辑结构设计和物理结构设计; 3.行为设计阶段:包括功能设计、事务设计和程序设计;4.数据库实施阶段:包括加载数据库数据和调试运行应用程序; 5.数据库运行和维护阶段。数据库设计过程实际上是一个反复修改、反复设计的迭代过程。如
44、下图所示:2223第二节 数据库设计的基本步骤数据库设计的基本步骤:需求分析、概念结构设计、逻辑结构设计、物理结构 设计、数据库实施、数据库的运行和维护,这些是数据库设计中最重要的任务。数据库设计的特点是结构设计与行为设计分离。模块一 需求分析需求分析是数据库设计的起点。目标是了解与分析用户的信息及应用处理的要求,并将结果按一定格式整理而 形成需求分析报告。该分析报告是后续过程的依据。数据库设计人员进行需求分析的基本方法是听取数据库应用部门工作人员的报 告,并与之座谈。需求分析的四个步骤:即确定数据库范围、分析数据应用过程、收集与分析数 据和编写需求分析报告。知识点一 确定数据库范围数据库设计的第一项工作就是要确定数据库范围。即确定数据库应支持哪些应 用功能。知识点二 应用过程分析是指了解并分析数据与数据处理间的关系。应用过程分析的结果是数据库结构设计的重要依据。数据应用过程可以借助数据流图或