版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 数据库概论ER模型本章属于基础知识,主要是对一些概念的理解和记忆。没有难点,相对的重点在于的设计和关系模型的掌握。一、数据管理技术的发展阶段 (识记 ) 数据管理技术共经历了三个阶段:人工管理阶段、文件系统阶段、数据库阶段:1、人工管理阶段的特点:(1) 数据不保存在机器中(2) 没有专用软件对数据进行管理(3) 只有程序的概念,没有文件的概念。2、文件系统阶段的特点与缺陷:(1) 数据可长期保存在磁盘上。(2) 数据的逻辑结构与物理结构有了区别(3) 文件组织呈现多样化(4) 数据不再属于某个特定程序,可以重复使用。其缺陷是:数据冗余性数据不一致性数据联系弱3、数据库阶段的特点采用复
2、杂的数据模型表示数据结构有较高的数据独立性 ( 数据结构分成用户的逻辑结构、整体逻辑结构和物理结构三级)数据库系统为用户提供方便的用户接口, 可以使用查询语言、 终端命令或程序方式操作数据 库。系统提供了四个方面的数据控制功能: 数据库的恢复、 并发控制、数据完整性和数据安全性。 对数据的操作不一定以记录为单位,还可以数据项为单位。数据库技术中的四个名词:DB、DBMS DBS数据库技术。其概念是不同的,要分清。DB数据库(Database),DB是统一管理的相关数据的集合。DBMS 数据库管理系统(Database ManagementSystem),DBM淀位于用户与操作系统之间的一层数据
3、管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBM觉是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMSDBS数据库系统(DatabaseSystem),DBS 是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、 硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。数据库技术:是一门研究数据库结构、存储、管理和使用的软件学科。二、数据描述的术语 (领会 )1、数据描述的三个领域:现实世界、信息世界和机器世界。信息世界中的几个概念: 实体(即客观存在可以相互区别的事物 )、实体集(同类实体的集合 )、 属性(实
4、体的特性 ) 、实体标识符 (唯一标识实体的属性 (集)。机器世界中的四个概念:字段、记录、文件、键 (关键码 )。2、数据描述的两种形式:物理描述和逻辑描述。前者是指数据在存储设备上的存取方式, 后者是指程序员或用户以用以操作的数据形式。3、物理描述用到的术语有:位、字节、字、块、桶、卷4、数据联系的描述:1:1联系:如果实体集 E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,好么实体集 E1对E2的联系称为"一对一联系”,记为"1:1"。1: N联系:如果实体集 E1中每个实体与实体集 E2中任意个(零个或多个)实体有联系,而E2中每个实体至
5、多和 E1中的一个实体有联系, 那么E1对E2的联系是"一对多联系”,记 为"1 : N"。M N联系:如果实体集 E1中每个实体与实体集 E2中任意个(零个或多个)实体有联系, 反之亦然,那么 E1 对 E2 的联系是 "多对多联系 ",记为 "M: N"。三、数据模型1、数据模型的概念 (领会 ) :表示实体类型及实体类型间联系的模型称为 "数据模型"。它可分为两种类型: 概念数据模型 和结构数据模型。2、概念数据模型 (简单应用 ) :它是独立于计算机系统的模型, 完全不涉及信息在系统中的表示, 只
6、是用来描述某个特定组织所关心的信息结构。(应当掌握教材例1.1,设计简单的ER模型)3、结构数据模型:它是直接面向数据库的逻辑结构,是现实世界的第二层抽象。这类模型 涉及到计算机系统和数据库管理系统, 所以称为 "结构数据模型 "。结构数据模型应包含: 数 据结构、数据操作、数据完整性约束三部分。它主要有:层次、网状、关系三种模型。层次模型 (识记):用树型结构表示实体间联系的数据模型网状模型 (识记 ) :用有向图结构表示实体类型及实体间联系的数据模型。关系模型 (领会 ) :是由若干个关系模式组成的集合, 其主要特征是用二维表格结构表达实体 集,用外键表示实体间联系。4
7、、面向对象模型 (识记): 通过对象和类的概念来建立的数据库模型, 是面向对象技术与数据 库技术结合的产物,本节了解一下即可。四、数据库的体系结构 (领会 )1、三级结构模式:数据库的体系结构分为三级:内部级、概念级和外部级: 外部级:单个用户所能看到的数据特性,称外模式。 概念级:涉及到所有用户的数据定义,是全局的数据视图, 称" 概念模式 " 。内部级:最接近于物理存储,涉及到实际数据存储的结构,称"内模式 "。2、两级映象:模式 / 内模式映象:用于定义概念模式和内模式之间勺对应性。一般在内模式中描述。外模式 / 模式映象:用于定义外模式和概念模式
8、间勺对应性。一般在外模式中描述。3. 两级数据独立性: 物理数据独立性:修改内模式时尽量不影响概念模式及外模式,则达到物理数据独立性。 逻辑数据独立性:修改概念模式时尽量不影响外模式和应用程序。4. 用户及用户界面:这里插一句,数据库模式可以理解为数据库结构。五、数据库管理系统 (DBMS 领会 )1、DBMS勺主要功能:1)数据库的定义功能(2)数据库的操纵功能(3)数据库的保护功能(4)数据库的存储管理(5)数据库的维护功能(6)数据字典2、DBMS勺组成:由两大部分组成:查询处理器和存储管理器, 前者包括DDL编译器、DML编译器、嵌入型DML 预编译器、查询运行核心程序。后者包括授权和
9、完整性管理器,事务管理器、文件管理器, 缓冲区管理器。六、数据库系统 (DBS 领会 )DBS由四部分组成:数据库、硬件、软件、数据库管理员。DBS的全局结构及 DBS勺效益,了解一下。第二章 关系模型本章为次重点章, 我们经常使用勺数据库均采用关系模型, 本章主要介绍了关系模型勺关系运算理论,主要在于对关系演算运算的理解,为后面章节的SQL作准备。一、关系模型勺基本概念 ( 识记 )1、关系模型的基本 ?5 语: 用二维表格结构表示实体集、外键表示实体间联系的数据模型称为关系模型。 基本术语有:字eB6?属性)、字段值(属性值)、记录(元组)、二维表格(元组集合、关系或 实例) 。在这里,括
10、号中的表述为关系模型中的术语。 它与表格中术语可以一一对应。 还有, 关系中属性个数称为元数,元组个数为基数。键:由一个或几个属性组成。 (注意键不一定是唯一的一个属性 )。超键:在关系中能唯一标识元组的属性集称为关系模式的超键。( 注意,超键也是一个属性集,不一定只是一个属性 )候选键:不含有多余属性的超键称为候选键。主键:用户选作元组标识的一个候选键为主键。外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S# 就是关系SC的外键。2、关系模式、关系子模式和存储模式关系模式:关
11、系模式实际上就是记录类型。它包括:模式名,属性名,值域名以及模式的主 键。关系模式仅是对数据特性的描述。 ( 这通常在数据库中表现为一个数据表的结构 )关系子模式:就是用户所用到那部分数据的描述。存储模式:关系存储时的基本组织方式是文件,元组是文件中的记录。3、关系模型的三类完整性规则实体完整性规则:要求关系中组成主键的属性上不能有空值。参照完整性规则:要求不引用不存在的实体。用户定义完整性规则:由具体应用环境决定,系统提供定义和检验这类完整性的机制。4、关系模型的形式定义:数据结构、数据操作和完整性规则。、关系代数运算 ( 简单应用 ) 1、关系代数的五个基本操作:并、差、笛卡尔积、投影和选
12、择。并(U ):两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。差(-):同样,两个关系有相同的模式,R和S的差是由属于R但不属于S的元组构成的集合。投影(b):对关系进行垂直分割,消去某些列,并重新安排列的顺序。选择(n ):根据某些条件关系作水平分割,即选择符合条件的元组。2、关系代数的四个组合操作:交、联接、自然联接和除法交(A) : R和S的交是由既属于 R又属于S的元组构成的集合。联接包括0联接和F联接,是选择 RXS中满足i 0 (r+j)或F条件的元组构成的集合,特 别注意等值联接(0为等号"=")。自然联接(R|X|S):在RXS中,选择
13、R和S公共属性值均相等的元组,并去掉RXS中重复的公共属性列。如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。除法(十):首先除法的结果中元数为两个元数的差,以例2.6为例,我们可以直接用观察法来得到结果,把S看作一个块,拿到R中去和相同属性集中的元组作比较, 如果有相同的块, 且除去此块后留下的相应元组均相同, 那么可以得到一条元组, 所有这些元组的集合就是除 法的结果。对于上述的五个基本操作和组合操作, 应当从实际运算方面进行理解和运用, 对其形式定义 可不必深究。注意课本上的例子。3、关系代数表达式及应用在关系代数表达式中, 复合了上述五个基本操作, 在给出相应的表格 (关系)中,
14、应该能够根 据给出的关系代数表达式计算关系值,也要能根据相应查询要求列出关系表达式。在列关系表达式时,通常有以下形式:n ( d .(R X S)或者 n ( d .(R|X|S)首先把查询涉及到的关系取来, 执行笛卡尔积或自然联接操作得到一张大的表格, 然后对大表格执行水平分割 (选择)和垂直分割 (投影)操作。但是注意当查询涉及到否定或全部值时, 就不能用上述形式,而要用到差或除法操作。三、关系演算 ( 领会 ) 关系演算分为元组关系演算或域关系演算,前者以元组为变量,后者以域为变量。 元组演算表达式的一般形式为: t|P(t) ,其含义为:这是一个元组集合, 其中的每个元组t(t 是元组
15、变量 ) 满足公式 P 所规定的条件。 所以在书写演算表达式时, 应该注重理解公式 P 如何表达。域演算表达式的一般形式为:柱仁亦尸亦),其含义为:这是一个域集合,其中每个域变量的取值关系满足公式P所规定的条件。也是注意公式P的表达。以上两类演算需要一定的离散数学基础, 如果不能很深刻的掌握, 问题也不大, 主要应看懂表达式即可,对于给定的表达式和给定的关系,应当能计算表达式的结果(得到一个关系 )四、查询优化查询优化的目的就是为了系统在执行时既省时间又能提高效率,在关系代数运算中, 通常是先进行笛卡尔积或联接运算,再进行选择和投影, 恰当地安排选择、投影和联接的顺序,就 可实现查询优化。优化
16、的策略主要有以下几点:(1)在关系代数表达式中尽可能早地执行选择操作(早选择)(2)把笛卡尔积和随后的选择操作合并成 F 联接运算 (F 联接)(3)同时计算一连串的选择和投影操作 (同时算)(4) 保留同一子表达式的结果(5) 适当对关系文件进行预处理(6) 计算表达式之前先估计一下怎么计算合算。以上几点需要理解。根据表达式优化的算法步骤对给定表达式进行优化第三章关系数据库 SQL语言本章为重点章,应熟悉和掌握SQL的数据定义、数据查询、数据更新的句法及其应用,特别是数据查询的应用。结合上机操作进行理解和掌握。、SQL概述。1、SQL发展历程(识记)SQUAR语言改为SEQUELS言,到现在
17、还在不断完善和发展之中,SQL(结构式查询语言)虽然名为查询,但实际上具有定义、查询、更新和控制等多种功能。2、SQL数据库的体系结构(领会)SQL数据库的体系结构也是三级结构,但术语与传统关系模型术语不同,在SQL中,关系模式称为 "基本表 ",存储模式称为 "存储文件 ",子模式称为 "视图" ,元组称 "行",属性称 "列"。SQL数据库体系的结构要点如下:(1) 一个SQL数据库是表的汇集。(2) 一个SQL表由行集构成,行是列的序列,每列对应一个数据项。(3) 表或者是基本表,或者是视
18、图。基本表是实际存储在数据库中的表,视图由是由若干基 本表或其他视图构成的表的定义。(4) 一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。存 储文件与物理文件对应。 用户可以用SQL语句对表进行操作,包括视图和基本表。(6)SQL 的用户可以是应用程序,也可以是终端用户。3、SQL的组成(识记)SQL由四部分组成:(1)数据定义:SQL DDL定义SQL模式,基本表、视图和索引。数据操纵:SQL DML包括数据查询和数据更新(增、删、改)。(3) 数据控制:包括对基本表和视图的授权、完整性规则的描述,事务控制等。 嵌入式SQL的使用规定。二、SQL的数据定义(简单应
19、用)1、SQL模式的创建和撤消:SQL模式的创建可简单理解为建立一个数据库,定义一个存储空间,其句法是:CREAT SCHEMA<模式名 > AUTHORIZATION <用户名 >撤消SQL模式的句法为:DROP SCHEMA模式名 >CASCADE|RESTRICT方括号中的选项参数 CASCAD表示连锁方式,执行时将模式下所有基本表、视图、索引等元素全部撤消。RESTRICT表示约束式,执行时必须在SQL模式中没有任何下属元素时方可撤消模式。2、SQL提供的基本数据类型数值型:包括 integer 、 smallint 、 real 、 double pre
20、cision 、 float(n),numeric(p , d) 字符串型: char(n) 、 varchar(n) ,前者是定长,后者为变长串 位串型: bit(n),bit varying(n),同上。时间型: date 、 time 。3、基本表的创建、修改和撤消 基本表的创建: ( 可理解为建立表结构 )CREAT TABLE SQL模式名.基本表名(列名,类型,完整性约束 .)完整性约束包括主键子句 (PRIMARY KEY)检查子句(CHECK和外键子句(Foreign KEY).基本表结构的修改ALTER TABLE基本表名 ADD/DROP增加/删除)列名类型名(增加时写出)
21、删除时有子句CASCADE|RESTRICT,前者为连锁删除,后者为约束删除,即没有对本列的 任何引用时才能删除。基本表的撤消DROP TABLE基本表名CASCADE|RESTRICT 4、视图的创建和撤消 创建:CREAT VIEW视图名(列名表)AS SELECT查询语句撤消:DROP VIEW视图名5、索引的创建和撤消创建: CREAT UNIQUE INDEX 索引名 ON 基本表名 (列名表 ASC|DESC)撤消:DROP INDEX索弓|名总结:凡创建都用 CREAT删除都用DROP改变用alter,再跟类型和名字,附加子句很容易了。三、SQL的数据查询(综合应用)这一段是本章
22、的重点内容,应该熟练掌握。首先了解基本句法:1、SELECT-FROM-WHE句型SELECT列名表(逗号隔开)FROM基本表或视图序列 WHERE条件表达式在这里,重点要掌握条件表达式中各种运算符的应用,如 =, >,<,<> 等算术比较运算符、逻辑运算符AND OR NOT集合成员资格运算符:IN,NOTIN,以及嵌套的SELECT语句的用法要特别注意理解。 针对课本的例题和课后习题进行掌握。 在查询时,SELECT语句可以有多种写法,如联接查询、嵌套查询和使用存在量词的嵌套查询等。最好都掌握,但是起码应能写出一种正确的查询语句。2.SELECT 语句完整的句法:S
23、ELECT列名表(逗号隔开)FROM基本表或视图序列WHERE条件表达式(此为和条件子句)GROUP BY列名序列(分组子句) HAVING 组条件表达式 ( 组条件子句 )ORDER BY列名ASC|DESC.( 排序子句) 这段关于完整句法的内容能够理解也就问题不大了。3、SELECT语句中的限定这一段内容主要是对 SELECT语句进一步使用进行的深入学习,领会下列各种限定的使用目 的和方法。要求输出表格中不出现重复元组,则在SELECT后加一 DISTINCTSELECT子句中允许出现加减乘除及列名,常数的算术表达式WHERE子句中可以用 BETWEEN.AND来限定一个值的范围同一个基
24、本表在 SELECT语句中多次引用时可用 AS来增加别名WHER子句中字符串匹配用 LIKE和两个通配符, 吩口下划线查询结果的结构完全一致时可将两个查询进行并(UNION)交(INTERSECT)差 (EXCPT臊作查询空值操作不是用 ='null', 而是用 IS NULL 来测试。集合成员资格比较用IN/NOT IN ,集合成员算术比较用元组0 SOME/ALL可以用子查询结果取名 (表名(列名序列 )来作为导出表使用基本表的自然联接操作是用NATURAL INNER JOIN来实现的。四、SQL的数据更新(简单应用) 简单应用就是掌握基本的句型并能套用在一些简单的查询要
25、求上。1、数据插入:INSERT INTO 基本表名 ( 列名表 )valueS ( 元组值 )或INSERT INTO 基本表名 ( 列名表 )SELECT查询语句其中元组值可以连续插入。用查询语句可以按要求插入所需数据。2、数据删除:DELETE FROM基本表名WHERE条件表达式3、数据修改:UPDATE基本表名SET 列名 =值表达式 , 列名 =值表达式 .WHERE条件表达式4、对视图的更新:(领我们知道, 对视图的查询是和基本表相同的, 但是更新操作则受到下列三条规则的限制: 会一下 )如果视图是从多个基本表使用联接操作导出的,则不允许更新。如果导出的视图使用了分组和聚合操作,
26、也不允许更新。如果视图是从单个基本表使用选择和投影操作导出的,并且包括了基本表的主键或某个候选键,则可以执行操作。 ( 这就相当于在基本表上操作 ) 。这一节的关于增删改的操作要和前面关于数据库模式、 表的增删改操作进行对比学习, 以加 深理解。不要忘记上机实践。第四章 _关系数据库的模式设计本章的理论性较强, 学习时有无从下手的感觉, 在学习时应多加思考, 从概念出发去理解理 论,前后的理论有较强的联系, 因此要逐个理解, 但对于理论的证明等内容则不必深究,本 章重点是函数依赖,无损联接、保持依赖和范式的概念。一、关系模式的设计问题 ( 识记 )关系数据库是以关系模型为基础的数据库, 它利用
27、关系来描述现实世界。 一个关系既可以用 来描述一个实体及其属性, 也可以用来描述实体间的联系。 关系实质上就是一张二维表, 表 的行称为元组,列称为属性。关系模式是用来定义关系的, 这里的关系模式我们可以简单地理解为一个表的结构, 一个关 系数据库包含一组关系, 也就是包含一组二维表, 这些二维表结构体的集合就构成数据库的 模式 (也可以理解为数据库的结构 )。关系数据库设计理论包括三个方面内容: 数据依赖、范式、模式设计方法。核心内容是数据 依赖。泛关系模式:把现实问题的所有属性组成一个关系模式R(U),这个关系模式就称为泛关系模式。数据库模式:把泛关系模式用一组关系模式的集合p来表示时,这
28、个 p就是数据库模式。(表)T记录(行、列.)下面我们总结一下关系模式的相关内容从" 大"到"小" 的排列 泛关系模式t数据库模式t关系数据库t表结构t关系模式实例 关系模式的存储异常 : 数据冗余、更新异常、插入异常和删除异常 二、函数依赖 (FD)1函数依赖的定义(领会):设有关系模式 R(A1, A2, .An)或简记为R(U), X, Y是U的 子集,r是R的任一具体关系,如果对 r的任意两个元组t1,t2,由t1 X=t2X导致 t1Y=t2Y,则称X函数决定Y,或Y函数依赖于X,记为 XY。XY为模式R的一个函 数依赖。这个定义可以这样理解:
29、有一张设计好的二维表,X, Y是表的某些列(可以是一列,也可以是多列),若在表中的第t1行,和第t2行上的X值相等,那么必有t1行和t2行上的Y值 也相等,这就是说 Y函数依赖于X。如下图所示:A1A2A3栏目名(X)课程A6A7网站名(Y) t1 晓津专栏数据库原理计算机自考自考试卷计算机自考t2 晓津专栏数据结构计算机自考自考试卷计算机自考t3 晓津专栏面向对象计算机自考自考试卷计算机自考 在表中,凡栏目名相同的,对应的网站名也必是相同的,则此时说 栏目名函数决定网站名, 或"网站名 "函数依赖于 "栏目名"。但是反过来不一定, 网站名相同时并不一定
30、栏目名相同,所以这里的YX是不成立的。要特别注意的是, 在这张表中, 任何一行的关系均应符合上述条件, 如果有一行不符合函数 依赖的条件,则函数依赖对于这个关系就不成立。还有应该了解的是, 函数依赖是否成立是不可证明的, 只能通过属性的含义来判断, 上述表 是一个关系实例,可以一条条进行验证,但是对于模式设计来说,开始时并没有数据插入, 我们只能从属性的含义出发, 如这个关系模式不仅是指一个站点, 而是包括所有站点, 则有 可能出现相同的栏目名而网站名不是一样的情况,那么”栏目名T网站名”这个函数依赖就不成立了。上述例子可对照课本理论进行领会。2、函数依赖的逻辑蕴涵 ( 识记 )设F是关系模式
31、R的一个函数依赖集,X,Y是R的属性子集,如果从 F中的函数依赖能够推 出 心Y,则称F逻辑蕴涵 心Y,记为F|=XY.如前面的例子,如果还有一属性”网址(Z)",且网站名是唯一的,那么,”网站名t网址”成 立,同时已知"专栏名t网站名”成立,根据我们对事实的掌握,可知”专栏名t网址”也是成立的。所以 在这里,设F=网站名(Y) t网址(Z),专栏名(X) t网站名(Y),贝U F逻辑蕴涵"专栏名(X) T网址(Z)" O而函数依赖的闭包 F+是指被F逻辑蕴涵的函数依赖的全体构成的集合。3、键和FD的关系(领会)键是唯一标识实体的属性集。对于键和函数依赖
32、的关系:有两个条件:设关系模式R(A1,A2.An) , F是R上的函数依赖集,X是R的一个子集,(1) X tA1A2.An F+ (它的意思是 X能够决定唯一的一个元组)(2)不存在X的真子集Y,使得Y也能决定唯一的一个元组,则 X就是R的一个候选键。(它 的意思是X能决定唯一的一个元组但又没有多余的属性集)包含在任何一个候选键中的属性称为主属性,不包含在任何键中的属性为非主属性(非键属性) ,注意主属性应当包含在候选键中。4、函数依赖 (FD) 的推理规则 (简单应用 )前面我们举的例子中是以实际经验来确定一个函数依赖的逻辑蕴涵,但是我们需要一个推理规则才能完全确定 F或F+的所有函数依
33、赖。设有关系模式R(U),X,Y,Z, W均是U的子集,F是R上只涉及到U中属性的函数依赖集, 推理规则如下:自反律:如果Y X U,则XY在R上成立。增广律:如果 XY为F所蕴涵,Z U,则XZ YZ在R上成立。(XZ表示XU Z,下同)传递律:如果 XY和YZ在R上成立,则 XZ在R上成立。合并律:如果XY和XZ成立,那么XtYZ成立。伪传递律:如果 Xty和WTZ成立,那么 WTZ成立。分解律:如果Xty和Z Y成立,那么XtZ成立。5、函数依赖推理规则的完备性 (识记 )函数依赖推理规则系统 (自反律、增广律和传递律 )是完备的。 由推理规则的完备性可得到两个重要结论:属性集X+中的每
34、个属性 A,都有XtA被F逻辑蕴涵,即X+是所有由F逻辑蕴含XtA的属 性A的集合。F+是所有利用Amstrong推理规则从F导出的函数依赖的集合6、函数依赖集的等价和覆盖 (识记 )在关系模式R(U)上的两个函数依赖集 F和G如果满足F+=G+则称F和G是等价的,称F 和G等价也称F覆盖G或G覆盖F。每个函数依赖集F都可以被一个右部只有单属性的函数依赖集G所覆盖。如果函数依赖集合 F满足:(1)F 中每一个函数依赖的右部都是单属性;F中的任一函数依赖 XtA,其F-XtA是不等价的;F中的任一函数依赖 XtA, Z为X的子集。(F-XtA) U ZtA与F不等价。则称 F 为最小函数依赖集合
35、。如果函数依赖集 F和G等价,并且G是最小集,那么称 G是F的一个最小覆盖。这一段并不要求掌握最小集的求法,但是应当通过其求法理解最小集的概念。三、关系模式的分解特性1、模式分解中存在的问题:(识记 )模式分解就是将一个泛关系模式R分解成数据库模式 p,以p代替R的过程。它不仅仅是属性集合的分解, 它是对关系模式上的函数依赖集、 以及关系模式的当前值分解的具体表现。分解一个模式有很多方法, 但是有的分解会出现失去函数依赖、 或出现插入、 删除异常等情 况,而有的分解则不出现相关问题。衡量一个分解的标准有三种: 分解具有无损联接; 分解要保持函数依赖; 分解既要保持依赖, 又要具有无损联接。那么
36、什么是无损联接呢 ?什么又是保持依赖 ?2、无损联接的定义和性质 ( 识记) 设R是一关系模式,分解成p =R1,R2, .,Rk , F是R上的一个函数依赖集。无损联接就是指R中每一个满足F的关系r(也就是一个关系实例)都有r= n R1(r)|X| n R2(r).|X| n R3(r),即 r为它在 Ri上的投影的自然联接。最简单的理解, 也就是说, 分解后的关系自然连接后完全等于分解前的关系, 则这个分解相 对于 F 是无损联接分解。设R的分解为p =R1,R2,F为R所满足的函数依赖集,贝U分解p具有无损联接性的充分必要条件是:R们 RM (R1 -R2)R们 RM (R2 -R1)
37、也就是说,分解后的两个模式的交能决定这两个模式的差集即R1、Rr的公共属性能够函数决定R1或R2中的其他属性,这样的分解就必定是无损联接分解。3、保持函数依赖的分解 (识记)在分解过程中, 要求模式分解的无损联接是必要的, 只有无损联接分解才能保证任何一个关 系能由它的那些投影进行自然联接得到恢复。同时,分解关系模式时还应保证关系模式的函数依赖集在分解后仍在数据库模式中保持不变, 这就是保持函数依赖的问题。 也就是所有分解出的模式所满足的函数依赖的全体应当等价于 原模式的函数依赖集。只有这样才能确保整个数据库中数据的语义完整性不受破坏。四、关系模式的范式 (领会 )1、1NF、2NF 3NF、
38、BCNF的定义:1NF:第一范式。 即关系模式中的属性的值域中每一个值都是不可再分解的值。 如果某个数据库模式都是第一 范式的,则称该数据库模式是属于第一范式的数据库模式。比如有一个关系 串讲笔记 =作者,课程 ,若有这样几行记录:作者课程晓津数据结构、数据库原理阿猫网络与通信这时的第一条记录就表示本关系模式不是 1NF 的,因为课程中的值域还是可以分解的, 它包 括了两门课程,如分为:作者课程晓津数据结构晓津数据库原理就成为第一范式的关系模式。2NF:第二范式。如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称为第二范式模式。在这里要先了解 "非主属
39、性 "、"完全函数依赖 "、"候选键"这三个名词的含义。候选键就是指可以唯一决定关系模式R中某元组值且不含有多余属性的属性集。非主属性也就是非键属性,指关系模式R中不包含在任何建中的属性。设有函数依赖 WA,若存在X W有XA成立,那么称 W>A是局部依赖,否则就称 W>A 是完全函数依赖。在分析是否为第 2 范式时,应首先确定候选键, 然后把关系模式中的非主属性与键的依赖关系进行考察,是否都为完全函数2览担缡牵屹斯叵的J轿 ?NF。如果数据库模式中每个关系模式都是2NF的,则此数据库模式属于 2NF的数据eBF饽J健? 3NF :
40、第三范式。如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R为第三范式的模式。这里首先要了解传递依赖的含义:在关系模式中,如果YX, XA,且X不决定Y和A不属于X,那么YA是传递依赖。注意的是,这里要求非主属性都不传递依赖于候选键。BCNF这个范式和第三范式有联系,它是3NF的改进形式。若关系模式 R是第一范式,且每个属性都不传递依赖于 R的候选键。这种关系模式就是BCNF模式。纵观四种范式,可以发现它们之间存在如下关系:BCNF 3NF 2NF 1NF1NFJ消去非主属性对键的部分函数依赖2NFJ消去非主属性对键的传递函数依赖3NFJ消去主属性对键的传递函数依赖BCN
41、F5、分解成BCNF模式集的算法(识记)对于任一关系模式,可找到一个分解达到3NF,且具有无损联接和保持函数依赖性。而对于BCNF分解,则可以保证无损联接但不一定能保证保持函数依赖集。无损联接分解成BCNF莫式集的算法:置初值p =R; 如果p中所有关系模式都是 BCNF则转(4);(3) 如果p中有一个关系模式 S不是BCNF则S中必能找到一个函数依赖集XA有X不是S的键,且A不属于X,设S1=XA S2=S-A,用分解S1,S2代替S,转;(4) 分解结束。输出 p。在这个过程中,重点在于 (3)步,判断哪个关系不是 BCNF并找到X和A。这里,S的判断 用BCNF的定义,而X不是S的键则
42、依靠分析。6、分解成3NF模式集(识记)算法:(1) 如果R中的某些属性在 F的所有依赖的左边和右边都不出现,那么这些属性可以从R中分出去,单独构成一个关系模式。如果F中有一个依赖 XA有XAR,贝U p =R,转(4) 对于F中每一个XtA,构成一个关系模式 XA如果F有有XtA1,心A2.X An,则可 以用模式 XA1A2.An 代替 n 个模式 XA1,XA2.XAn;(4)w 分解结束,输入 p。这个过程的重点是这一句 ”对于F中每一个XtA,构成一个关系模式 XA",这使我们的分解 十分容易,然后依据合并律(合并律:如果Xty和XtZ成立,那么XtYZ成立)将有关模式 合
43、并即得到所需3NF模式。7、模式设计方法的原则 ( 识记 )关系模式R相对于函数依赖集 F分解成数据库模式 p =R1,R2.Rk, 一般具有下面四项特性:p 中每个关系模式 Ri 上应具有某种范式性质 (3NF 或 BCNF)无损联接性。保持函数依赖集。最小性,即 p 中模式个数应最少且模式中属性总数应最少。一个好的模式设计方法应符合下列三条原则:表达性分离性最小冗余性8、多值依赖。简单了解一下。第五章 _数据库设计与上一章不同, 本章的实用性较强, 详细讲述了数据库应用系统设计的全过程。 重点是概念设计中ER模型的设计方法,逻辑设计中ER模型向关系模型的转换方法。一、数据库设计概述 (识记
44、 )1 、软件生存期:是指从软件的规划、研制、实现、投入运行后的维护、直到它被新的软件 所取代而停止使用的整个期间。它包括六个阶段: (规需设编试运维 )(1) 规划阶段(2) 需求分析阶段(3) 设计阶段(4) 程序编制阶段(5) 调试阶段(6) 运行维护阶段2、数据库系统生存期数据库应用系统的开发也是一项软件工程, 称为数据库工程, 数据库应用系统也有生存期的 概念,通常包括七个阶段:(1) 规划阶段(2) 需求分析阶段(3) 概念设计阶段(4) 逻辑设计阶段(5) 物理设计阶段(6) 实现阶段(7) 运行维护阶段3、数据库设计方法学一个好的数据库设计方法应该能在合理的期限内, 以合理的工
45、作量产生一个有实用价值的数 据库结构。数据库及其应用系统的设计分为以下几个阶段:规划、需求分析、概念设计、逻辑设计、物 理设计。、规划 (识记 ) 数据设计中的规划阶段的主要任务是进行建立数据库的必要性及可性性分析, 确定数据库系 统在组织中和组织中和信息系统中的地位,以及各个数据库之间的联系。三、需求分析 ( 识记 )需求分析阶段应对系统的整个应用情况作全面的、 详细的调查、 确定用户的目标, 收集支持 系统总的设计目标的基础数据和对这些数据的要求, 确定用户需求, 并把这些要求写成用户 和数据库设计者都能够接受的文档。确定用户需求可以通过对不同层次的企业管理人员进行个人访问得到。 还应了解
46、系统将来要 发生的变化,充分考虑系统的可能的扩充和变动,使系统设计更符合未来发展方向。需求分析的步骤大致分为三步:即需求信息的收集、分析整理和评审。数据字典: 是对系统中数据的详尽描述, 它提供对数据库数据描述的集中管理。 它包含以下 几个部分:数据项、数据结构、数据流、数据存储和加工过程。四、概念设计 (识记 )1、概念模型:可以看成是现实世界到机器世界的一个过渡的中间层次。在设计数据库系统 时,要把现实世界的事物通过认识和抽象转换为信息世界的概念模型, 再把概念模型转换为 机器世界的数据模型。2、概念设计的主要步骤:分三步完成: (1) 进行数据抽象,设计局部概念模式; (2) 将局部 概
47、念模式综合成全局概念模式; (3) 评审。3、数据抽象:数据抽象的两种形式:聚集和概括:聚集: 其数学意义就是笛卡尔积的概念, 通过聚集,形成对象之间的一个联系对象。如有一 些对象:"老师,课程 ,班级,上课时间 ",通过聚集可以得到一个联系对象 "课程表" 。聚集表 示的是 "is_part_of" 的关系。概括:是从一类其他对象形成一个对象。如有桃树、李树、杏树等对象,我们通过概括或以 得到一个对象 "树" 。概括表示的是 "is_a" 的关系,如 "李树"是一种 &qu
48、ot;树"。4、基本ER模型的扩展(领会)ER(实体联系)模型是对现实世界的一种抽象,它的主要成份是实体、联系和属性。但是在现实世界中还有一些特殊的语义。需要扩展ER模型的概念才能更好地模拟现实世界。依赖联系: 在现实世界中, 有些实体对一另一些实体有很强的依赖关系, 即一个实体的存在 必须以另一实体的存在为前提。 前者就称为 "弱实体 " ,如在人事管理系统中, 职工子女的信 息就是以职工的存在为前提的, 子女实体是弱实体, 子女与职工的联系是一种依赖联系。 在 ER图中用双线框表示弱实体。用箭头表示依赖联系。子类: 在现实中,存在某个实体类型中所有实体同时也是
49、另一实体类型中的实体,此时,我们称前一实体类型为者的子类,后一实体类型称为超类。子类有一个很重要的性质继承性。在ER图中,超类用两端双线框表示,并用加圈的线与子类相连。5、ER模型的操作(领会)ER模型在数据库概念设计过程中经常需要进行变换,包括实体类型、联系类型和属性的分 裂、合并和增删等。实体类型的分裂包括垂直分割、水平分割。注意在垂直分割时, 键必须在分裂后的每个实体类型中出现。 在联系类型合并时, 所合并的 联系类型必须是定义在相同的实体类型中。6、采用ER方法的数据库概念设计(领会)采用ER方法进行数据库概念设计分成三步进行:首先设计局部ER模式然后把各局部ER模式综合成全局ER模式
50、最后对全局ER模式进行优化五、逻辑设计1、概念设计的结果是得到一个与DBMS6关的概念模式。而逻辑设计的目的是把概念设计阶段设计好的基本ER图转换为与选用的具体机器上的DBM所支持的数据模式相符合的逻辑结构( 包括数据库模式和外模式 )。第六章 _数据库保护本章不是重点章节, 主要内容包括数据库保护的四种措施,数据库的恢复、 并发控制、 完整 性和安全性。了解这些内容及其在SQL语言中的实现方式。一、数据库的恢复 (领会 )1 、事务的概念:事务是一个操作序列。这些操作要么什么都做,要么都不做,是一个不可 分割的工作单位。事务以 BEGINTRANSACTION句开始,以 COMMIT提交)语
51、句或ROLLBACK回退或撤消)语句结束。一个程序的执行可通过若干事务的执行序列来完成。2、事务的性质: 原子性 (atomicity) 、一致性 (consistency) 、隔离性 (isolation) 和持久性(durability) 。称为事务的 ACID性质。通过教材的例子来理解事务的性质。3、故障类型和恢复方法故障类型恢复方法事务故障应用程序自动进行恢复系统故障重新启动时则恢复子系统将所有7钦As终止的事务回退,恢复到正确状态。介质故障通过 DBMSS其他务份磁盘或第三级介质中的内8菰俑Bt制回来4、恢复的基本原则和实现方法 恢复的基本原则很简单,就是 "冗余 &quo
52、t;,即数据的重复存储。实现方法有:(1) 定期对数据库进行复制或转储 (dump) 。注意几个概念:静态转储、动态转储、海量转储 和增量转储。(2) 建立 "日志"文件。(3) 恢复。发生故障时有两种处理方法,如数据库已破坏,则由DBA装入最近备份的数据库然后利用”日志文件”执行REDO重做)操作。如数据库未被损坏,但某些数据不可靠,则系 统会自动执行UNDO操作恢复数据。5、运行记录优先原则 ( 即先记录,再更新,先记完,再结束 )(1) 至少要等相应的运行记录已经写入 "日志"文件后,才能允许事务往数据库在写数据。(2) 直到事务的所有运行记录都已
53、写入运行 "日志"文件后,才能允许事务完成 "ENDTRANSACTION"理。6、SQL中的恢复操作,可上机观察。二、数据库的并发控制 (领会)1、并发控制带来的三类问题:(1) 丢失更新的问题(2) 不一致分析问题(3) " 脏数据"的读出。 (在数据库技术中,未提交的随后又被撤消的数据为 "脏数据"。 )2、 为解决并发控制带来的问题,通常要采用封锁 (locking) 技术,常用的封锁有:排它型封 锁(X封锁)和共享型封锁(S封锁)两种。X封锁的规则称为 PX协议,其内容为:任何企图更新记录R的事务必须先执
54、行 LOCKX(R)操作,以获得对该记录进行寻址的能力,并对它取得X封锁。如果未获得X封锁,那么这个事务进入等待状态,一直到获准X封锁,事务继续进行。简记为:先锁X,再执行,取不到,就等待。PXC协议:它由PX协议及一条规则"X封锁必须保留到事务终点 (COMMIT或ROLLBACK)组成。S封锁的规则称为 PS协议:其内容为:任何要更新记录R的事务必须先执行 LOCKS(R)操作,以获得对该记录寻址的能力并对它取得 S封锁。如果未获准S封锁,那么这个事 务进入等待状态,一直到获准S封锁,事务才继续进行下去。 当事务获准对记录 R的要封锁 后,在记录R修改前必须把 S封锁升级为X封锁
55、。简记为:先锁S,再执行,锁不到,就等待,若要修改则升X。PSC协议:由PS协议和”将S封锁保持到事务终点”组成。3、 活锁:是指某个事务永远处于等待状态,得不到执行的现象。避免活锁的方法是采用" 先来先服务 " 策略。死锁: 有两个或以上的事务处于等待状态, 每个事务都在等待另一个事务解除封锁, 它才能 继续执行下去,结果任何一个事务都无法执行,这种现象就是死锁。解除死锁的方法是由 DBMS的"死锁测试程序”来检查,如发现死锁则牺牲一个事务,并做 回退操作 ,解除它的所有封锁。4、两段封锁法 (识记)两段封锁协议规定所有事务都要遵守下列规则: (1) 在对任何数
56、据进行读写操作之前,事务 首先要获得对该数据的封锁; (2) 在释放一个封锁之后,事务不再获得任何其他封锁。针对课本的例子来理解。三、数据库的完整性 (领会 )1、数据库的完整性是指数据的正确性和相容性。数据库中数据发生错误,往往是由非法更 新引起的。数据库完整性是通过 DBMS勺完整性子系统实现的,它有两个功能:(1) 监督事务的执行,并测试是否违反完整性规则。(2) 如有违反,则采取恰当的操作,如拒绝、报告违反情况,改正错误等方法进行处理。数据库完整性子系统是根据 " 完整性规则集 "工作的,这些完整性规则包括:域完整性规则、域联系的规则、关系完整性规则( 一个比一个大
57、)2、SQL中的完整性约束在SQL中,表达完整性约束的规则有主键约束、外键约束、属性值约束和全局约束等多种形式。主键约束:可用主键子句或主键短语 PRIMARY KEY 来定义。外键约束:可用外键子句来定义如 FOREIGN KEY (S#) REFERNCE S(S#)属性值约束:包括非空值约束(NOT NULL )和基于属性的检查子句(CHECK)及域约束子句如CREAT DOMAIN AGE SMALLINT CHECK (value>10)全局约束:包括基于元组的检查子句(CHECK和断言(CREATE ASSERTION断言名CHECK条件) 。四、数据库的安全性 (识记 )数据库的安全性是指保护数据库防止不合法的使用,以免数据的泄漏、非法更改和破坏。1安全性级别:包括环境级、职员级、OS级、网络级和数据库系统级。2、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青光眼患者定期复查的重要性
- 腰大池引流引流管堵塞护理要点
- 四川省成都市大邑县2026届初三中考冲刺压轴卷(一)数学试题含解析
- 福建省三明市梅列区梅列、永安2026届初三下学期九月联考数学试题含解析
- 江西省吉安市第四中学2026届初三第一次调研考试化学试题理试题含解析
- 2026年四川省广元市苍溪县重点名校初三毕业班摸底考试数学试题含解析
- 湖南省长沙市湖南师大附中博才实验中学2026届初三下第三次阶段过关物理试题试卷含解析
- 脑梗死护理循证实践竞赛课件
- 郑州电子信息职业技术学院《公共艺术项目策划》2024-2025学年第二学期期末试卷
- 脑神经外科患者的宠物治疗
- 管工中级考试操作试题及答案
- 图书馆志愿者培训课件
- 2026年许昌电气职业学院单招职业倾向性测试题库附答案
- 云南省2025年春季学期期末普通高中学业水平合格性考试《信息技术》试卷(解析版)
- 2025年公安部交管局三力测试题库及答案
- 飞灰填埋场安全培训报告课件
- 2025年度社工《社会工作实务》考试题库(附答案)
- GB/T 15072.4-2025贵金属合金化学分析方法第4部分:钯含量的测定
- 安全防护用品使用培训课件
- 矿业可持续供应链管理-洞察及研究
- 英语口语课件自我介绍
评论
0/150
提交评论