收藏 分销(赏)

郑州大学数据库原理终极总结版讲解学习.docx

上传人:精*** 文档编号:3786411 上传时间:2024-07-18 格式:DOCX 页数:20 大小:375.95KB
下载 相关 举报
郑州大学数据库原理终极总结版讲解学习.docx_第1页
第1页 / 共20页
郑州大学数据库原理终极总结版讲解学习.docx_第2页
第2页 / 共20页
郑州大学数据库原理终极总结版讲解学习.docx_第3页
第3页 / 共20页
郑州大学数据库原理终极总结版讲解学习.docx_第4页
第4页 / 共20页
郑州大学数据库原理终极总结版讲解学习.docx_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、郑州大学数据库原理终极总结版精品文档第一章 数据库系统基本概念数据库(Database,简称DB),是一个有结构的、集成的、可共享的、统一管理的数据集合。数据库管理系统(DataBase Management System,DBMS)是用来管理数据库的一种商品化软件。l 所有访问数据库的请求都由DBMS来完成的。 l DBMS提供了操作数据库的许多命令(语言),即SQL语言。DBMS 的主要功能:l 数据定义的功能。DBMS提供数据定义语言(Data Definition Language,DDL)。通过DDL,可以方便地定义数据库中的各种对象。如定义Students表结构。l 数据操纵的功能

2、。DBMS提供数据操纵语言(Data Manipulation Language,DML)。通过DML,实现数据库中数据的基本操作。如向Students表中插入一行数据。l 安全控制和并发控制的功能。如控制非法用户访问数据库。l 数据库备份与恢复的功能。对数据库进行定义备份,以便数据库遭遇意外时,能恢复。数据库系统数据库系统的组成:数据库由若干张相互关联的表格组成。数据库系统各个部件之间的关系l 用户与数据库应用(即应用程序)交互;l 应用程序与DBMS交互;l DBMS访问数据库中的数据,返回给应用程序; l 应用程序按用户的习惯显示得到的数据。数据库系统管理数据特点:l 数据是集成的、共享

3、的。-数据库系统中所有的数据都集中存储在一个数据库中。l 数据重复小。l 数据独立性好。-应用程序不依赖任何数据的结构与访问技术。 l 数据结构化,易于按用户的视图表示。模式:就是数据的一种抽象描述。数据库的三级模式:外模式、概念模式、内模式。1. 内模式是数据库中数据的存储结构、存储方法、存取策略等的描述,也称物理模式、存储模式。2. 概念模式是数据库中数据的逻辑结构的描述,也称模式、概念结构。3. 外模式是单个用户用到的数据逻辑结构的描述,通常也称视图、子模式。 一个数据库只有一个内模式,一个概念模式,但可以有多个外模式。 实际的物理数据库与内模式对应,用户使用外模式。二级映射1)外模式到

4、概念模式的转换,表示为“外模式/概念模式”映射。2)概念模式到内模式的转换,表示为“概念模式/内模式”映射。 数据库管理系统(DBMS),不仅提供三级模式的定义语言,而且还提供了三级模式之间相互转换的机制,即二级映射机制。外模式概念模式映象的用途:l 保证数据的逻辑独立性 当概念模式改变时,数据库管理员修改有关的外模式概念模式映象,使外模式保持不变 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。概念模式内模式映象的用途:l 保证数据的物理独立性 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改概念模式内模式映象

5、,使概念模式保持不变 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。数据独立性的定义与内容数据独立性是指应用程序不因物理存储的改变而改变。数据独立性包含逻辑独立性和物理独立性。逻辑独立性是指概念模式改变时,外模式保持不变,从而使应用程序保持不变。当数据库的概念模式改变时,DBMS只要改变外模式到模式的映射,就可保持外模式不变。从而使应用程序保持不变。物理独立性是指内模式改变时,概念模式保持不变。因为当内模式改变(如数据库的存储设备或存储结构改变)时,DBMS只要通过改变概念模式到内模式映射,从而使概念模式保持不变,实现了数据的物理独立性。第二章 关系数据库2.1 关系模

6、型的数据结构 关系:一张满足某些约束条件的二维表,如表2-1 Students关系。关系模型的数据结构是关系。 元组:关系中的一行称为一个元组。对应表中的一行,存放的是客观世界的一个实体,如表Students关系中的一行,存放的是一个学生的数据 。 属性:关系中的一列,称为一个属性。对应表中的一列。一个属性表示实体的一个特征,如表 Students关系中的Sno属性表示学生实体的学号特征值。 域 :关系中一个属性的取值范围。例如,Ssex的取值范围是M, F,代表性别为男性和女性。 关系的候选码与主码 表中某一列(或若干列的最小组合)的值能惟一标识一个行,称该列或列组为候选码。 对于一个表,可

7、能有多个候选码 。 如果一个表有多个候选码,数据库设计者通常选择其中一个候选码作为区分行的惟一性标识符,称为主码(primary key,PK)。关系模式 关系模式是关系的形式化描述(没有具体的值)。 最简单的表示为:关系名(属性名1,属性名2,属性名n)关系数据库 关系数据库是相互关联的表或者说关系的集合(一个DATABASE是Table的集合) 一个关系用一个关系模式表示,所有关系模式集合构成数据库的模式,它是数据库整体逻辑结构的描述。2.2 关系的完整性l 关系模型的完整性指的是完整性规则,是对关系的某种约束条件。l 完整性规则包括实体完整性规则、参照完整性规则和用户自定义完整性规则三大

8、类。l 实体完整性和参照完整性是关系模型必须满足的两个完整性规则。 实体完整性规则:若属性A(指一个或一组属性)是基本关系R的主属性,则A不能取空值。参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性均为空值)或者等于S中某个元组的主码值。用户自定义完整性规则:是表格设计者为了保证表中某些行、列的数据满足具体应用要求而自定义的一些规则。2.3 关系模型的数据操作关系代数l 关系代数中,运算的对象是关系(表),运算的结果是一个新关系(表)。l 关系的运算包含两部分,即传统的集合运算和特殊的关系运算。

9、l 传统的集合运算:(并运算),(差运算),(交运算),(笛卡儿积运算)。l 4个特殊的关系运算:(选择),(投影),(连接),(除)。1) 传统的关系运算 两个表的兼容性。所谓兼容,即两个表的表头结构相同,且对应列的数据类型相同。 并、差、交运算都要求有两个表参加运算,并且两个表是兼容的。 2) 专门的关系运算 包含:选择运算、投影运算和连接运算。 选择运算:从指定的R表中选择某些满足条件的行构成一个新表。记作F(R) 投影运算:从指定的表R中选择某些列构成一个新表。记作A(R)。 连接运算:从R与S的笛卡儿积RS中选择满足连接条件的行。记作 := AB(RS)两种特殊的连接:等值连接和自然

10、连接。 等值连接:连接条件用=, 则AB A=B 自然连接:若等值连接的连接条件中的列名相同,且结果表中消除了重复列,则把此种等值连接称为自然连接,记作RS。 自然连接中不必标注连接条件。自然运算与等值连接的区别: 自然连接要求连接的两个表有相同的列(公共列),等值连接则不要求。 自然连接结果表中去掉了重复的列,等值连接却可能包含重复的列。笛卡儿积:简称积运算,也是二元运算,即要求有两个表参加运算,但这两个表可以不兼容。笛卡儿积运算定义:给定两个表R和S,R和S的积运算的结果是一个新表,新表中的行由R中的每一行和S中的每一行组合而成。记作RS。新表可能包含重复的列,因此不一定是一个关系 。用关

11、系代数表示查询。解题步骤:1) 根据题意确定要输出的列以及这些列所在的表,由此确定被操作的表名称,可能有多个。2) 根据题意,确定选择条件以及选择条件中用到的列在哪个表中,这里又确定一些被操作的表名称。 3) 根据1、2两步确定的表名称形成所有要操作的表名集。 4) 若表名集中只有一个表,则如果要输出的列是这个表的全部列,就只用选择运算;否则先用选择,后用投影选取要输出的(属性)列。5) 如表名集中有两个或多个表,则一般用自然连接将它们连接起来,如果发现不存在公共列,即几个表不能进行自然连接,则要在表名集中加入一个或多个中间表,中间表中含有能进行自然连接的公共列,从而使得表名集中全部表可以进行

12、自然连接;将选择条件作用于自然连接后产生的新表上,之后一般用投影操作选取要输出的列。第三章 关系数据库语言SQLSQL语言分为三种子语言,分别是 : 数据定义语言(DDL)用于定义数据库、表、视图等。主要有CREATE、ALTER、DROP语句。 数据操纵语言(DML)用于插入、修改、删除和查询数据。主要有:INSERT、DELETE 、UPDATE 、SELECT语句 。 数据控制语言(DCL)用于管理数据库用户对数据库中表、视图等的使用权限。主要有GRANT、REVOKE语句 。3.1 查询语句基本结构 语法:SELECT FROM WHERE GROUP BY HAVING ORDER

13、BY 3.2 单表查询 单表查询指的是在一个源表中查找所需的数据。因此,单表查询时,FROM子句中的 只要给出一个源表表名。WHERE子句 WHERE 中常用的运算符:比较运算符和逻辑运算符。# 比较运算符用于比较两个数值之间的大小是否相等。常用的比较运算符有:=(等于)、(大于)、=(大于等于)、=(小于等于)、!=或(不等于)、!( (不大于)、!( (不小于)共9种。# 逻辑运算符主要有: 范围比较运算符:BETWEEN AND ,NOT BETWEEN AND 集合比较运算符:IN ,NOT IN 字符匹配运算符:LIKE,NOT LIKE 空值比较运算符:IS NULL,IS NOT

14、 NULL 条件连接运算符:AND,OR,NOT 3.3 多表连接查询 多表查询指的是从多个源表中检索数据。因此,多表查询时,FROM子句中的要给出所有源表表名,各个表名之间要用逗号分隔。多表查询的FROM子句格式 FROM 例如,若一个查询用到三个表,表名分别为Students、Enrollment,Courses。 则FROM子句为: FROM Students,Enrollment,Courses多表查询中的WHERE子句多表查询中往往要有多表的连接条件,当然还有表的一个或多个行选择条件,两者用AND操作符组合。 3.4 子查询 子查询是一个SELECT查询语句,但它嵌套在SELECT、

15、INSERT、UPDATE、DELETE 语句或其他子查询语句中。 子查询可分为:非相关子查询和相关子查询。3.5数据更新 用SQL的插入语句(INSERT语句)、修改语句(UPDATE语句)、删除语句(DELETE语句)来向表中插入、修改、删除数据。3.6视图 视图的建立、查询、更新第四章 数据库安全性l 实现数据库系统安全性的技术和方法 存取控制技术 视图技术 审计技术l 自主存取控制功能 通过SQL 的GRANT语句和REVOKE语句实现l 角色 使用角色来管理数据库权限可以简化授权过程 CREATE ROLE语句创建角色 GRANT 语句给角色授权第五章 数据库完整性l 数据库的完整性

16、 数据的正确性和相容性l 数据的完整性和安全性是两个不同概念 数据的完整性防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据防范对象:不合语义的、不正确的数据 数据的安全性保护数据库防止恶意的破坏和非法的存取防范对象:非法用户和非法操作为维护数据库的完整性,DBMS必须:1) 提供定义完整性约束条件的机制2) 提供完整性检查的方法3) 违约处理第六章 规范化规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。1.函数依赖 定义6.1:设一个关系模式R(U),R是关系的名称,U是关系R的所有属性的集合,X

17、和Y为属性集U上的子集。若对于任一元组在X上的每一个值,都有Y上的一个惟一值与之对应,则称X函数决定Y,或称Y函数依赖于X,记作XY。X称为这个函数依赖的决定因子。 2. 平凡函数依赖与非平凡函数依赖 定义6.2:设一个关系模式R(U),R是关系的名称,U是关系R的所有属性的集合。X和Y为属性集U上的子集,如果XY,Y是X的子集,则称XY是平凡的函数依赖。如果Y不是X的子集,则称XY是非平凡的函数依赖。3. 完全函数依赖与局部函数依赖 定义6.3:设一个关系R(U),R是关系的名称,U是关系R的所有属性的集合,X和Y为属性集U上的子集。若XY,同时X的一个真子集X且也能够函数决定Y,即存在XY

18、,则称X部分函数决定Y,或Y部分函数依赖于X,记作: 。 否则若不存在一个真子集X,使得X也能够函数决定Y,则称X完全函数决定Y,或者Y完全函数依赖于X。记作: 。4. 传递函数依赖 定义6.4:设一个关系R(U),R是关系的名称,U是关系R的所有属性的集合,X、Y和Z为属性集U上的子集。若XY,YZ,且,则存在 称X传递函数决定Z,或者说Z传递函数依赖于X。 例如:S(Sno,Sname,Ssex,Sage,Dno,Dname) 有Sno Dno, Dno Dname 则有:第一范式(1NF) 定义6.5:如果一个关系R的所有属性都是不可再分的基本数据项,则称关系R属于第一范式,记作R 1N

19、F。 最低程度的规范化关系的异常分析满足1NF的关系是一个规范化的关系,但它是规范化程度最低的关系,这样的关系仍然存在: (1)数据冗余与更新异常 (2)插入异常 (3)删除异常 第二范式(2NF) 定义6.6:如果关系R 1NF,并且关系R的每一个非主属性完全函数依赖于码,则R属于第二范式,记作:R2NF。 第三范式(3NF) 定义6.7:关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(Z Y), 使得XY,YZ成立, Y X,则称R 3NF。 若R3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。 BC范式(BCNF) 定义6.8 :关系模式R1NF,若XY且Y X时X必含

20、有码,则R BCNF。 等价于:关系模式R中,如果每一个决定属性因素都包含码,则R BCNF。 可以证明:若RBCNF,则R3NF。反过来,若R3NF,则R未必属于BCNF。 多值依赖 定义6.9 :设R(U)是一个属性集U上的一个关系模式, X、 Y和Z是U的子集,并且ZUXY。关系模式R(U)中多值依赖 XY成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。4NF 定义6.10:关系模式R1NF,如果对于R的每个非平凡多值依赖XY(YX),X都含有码,则R4NF。 如果R 4NF, 则R BCNFa) 不允许有非平凡且非函数依赖的

21、多值依赖b) 允许的非平凡多值依赖是函数依赖l 关系数据库的规范化理论是数据库逻辑设计的工具l 目的:尽量消除插入、删除一场,修改复杂,数据冗余l 基本思想:逐步消除数据依赖中不合适的部分 实质:概念的单一化l 关系模式规范化的基本步骤 1NF 消除非主属性对码的部分函数依赖消除决定属性 2NF集非码的非平 消除非主属性对码的传递函数依赖凡函数依赖 3NF 消除主属性对码的部分和传递函数依赖 BCNF 消除非平凡且非函数依赖的多值依赖 4NF 不能说规范化程度越高的关系模式就越好 在设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式

22、 上面的规范化步骤可以在其中任何一步终止数据依赖的公理系统1、逻辑蕴涵 设F是关系模式R的函数依赖集,X、Y是R的属性子集。对R的任一个关系r,若函数依赖XY均成立,则称F逻辑蕴涵XY。2、Armstrong公理A1自反律:若YXU,则XY为F所蕴涵。 简写:若YX,则XYA2增广律:若XY为F所蕴涵,且ZU,则XZYZ为F所蕴涵。简写:若XY,则XZYZA3传递律:若XY和YZ为F所蕴涵,则XZ为F所蕴涵。简写:若XY、YZ,则XZ属性集的闭包引理6.2:设F为属性集U上的一组函数依赖,X,Y U, XY能由F根据Armstrong公理导出的充分必要条件是Y XF+ 。于是判定XY能否由F根

23、据Armstrong公理导出的问题,就转化为求出XF+,判定Y是否为XF+的子集的问题。求属性集闭包XF+的算法分析:由定义,要求出所有这样的属性A:XA能由F经数次使用Armstrong公理推出。A应具备何种特征? 由公理的自反律,A可以是X中的属性,根据传递律,A可以是F中某个函数依赖的右部,而该函数依赖的左部属性应属于X的闭包。 算法思想:采用逐步扩张X的策略求X的闭包。方法是:扫描F,找出左部属性属于当前X的闭包的函数依赖,将右部属性加入当前X的闭包。经若干次扩张,直到当前闭包集不再扩大为止。极(最)小函数依赖集(覆盖)满足下列条件的函数依赖集F,称为极小依赖集(1)F中每个函数依赖的

24、右部仅含有一个属性;【右部都是单属性】(2)F中不存在这样的函数依赖XA,使得F与F-XA等价;【不存在多余的函数依赖】(3)F中不存在这样的函数依赖XA,X有真子集Z使得F与(F-XA) ZA等价。【左部没有多余的属性】对F极小化处理1. 分解:将右部多属性函数依赖分解成单属性函数依赖。将F中所有形如XA1A2Ak(k2)的函数依赖用XAi | i=1,2, k 取代。这样每个函数依赖的右部都为单属性,由合并和分解规则知该函数依赖集与F等价。2. 去多余依赖:对第一步处理后的F,逐一检查F中各函数依赖 XA,令G=FXA,若A XG+ ,则从F中去掉XA。3. 去左部多余属性: 逐一检查第二

25、步处理后的F中各函数依赖 XA,设X=B1B2Bm,逐一考察Bi,若 A(XBi)F+ ,则以XBi取代X。 这样得到的函数依赖集仍与F等价,且去掉了左部多余的属性。模式的分解 分解准则 分解后的模式应和原来的模式“等价”。根据以上分析,可提出以下不同标准: 1) 分解具有“无损连接性” 2) 分解要“保持函数依赖” 3) 分解既要“保持函数依赖”,又要具有“无损连接性”无损连接性定义 设r = R1, R2, Rk 是R的一个分解。若对R的任何一个关系r都有r= pU1(r) pU2(r) pUk(r) ,成立,则称r具有无损连接性,简称r为无损分解。定理(补充):设r = R1, R2 是

26、R的一个分解。 那么r是无损分解的充分必要条件是 F逻辑蕴涵(U1U2)(U1U2) 或(U1U2)(U2U1)。U1U2U1U2 F+ 或 U1U2U2U1 F+ 关系模式为R, U= A, B, C , F = AB, CB , (1) r1 = R1(A, B), R2(B, C) (U1U2)(U1U2)为:B A(U1U2)(U2U1)为:B C 因为 不包含A,也不包含C,所以BA和BC不为F所蕴涵 r1不是无损分解关系模式为R, U= A, B, C , F = AB, CB , (2) r2 = R1(A, C), R2(B, C) (U1U2)(U1U2)为:C A(U1U2

27、)(U2U1)为:C B因为CB F,所以 r2是无损分解 保持函数依赖定义: 设r = R1, R2, , Rk 是R的一个分解,若 F+ = (F1F2Fk)+,则称r保持函数依赖。无损连接分解 不一定是 保持函数依赖的分解保持函数依赖的分解 不一定是 无损连接分解算法6.3:分解关系模式为保持函数依赖的3NF(1)将F极小化(处理后的函数依赖集仍记为F);(2)把不在F中出现的属性从U中分离出去,组成一个关系模式(剩余的属性仍记为U);(3)若有XAF,且XA=U,则r =R,算法终止;(4)按左部相同的原则对F分组, 每组的全部属性形成一个属性集Ui。若有UiUj(ij)就去掉Ui。设

28、最后保留下来U1,U2,Uk,则r =R1(U1, F1), R2(U2, F2), Rk(Uk, Fk),算法终止。其中Fi为F在Ui上的投影。求候选码的方法1、先找出仅在左边出现,没有在右边出现过的属性(L 类),以及不属于任何一边的属性(N 类),构成一个属性集合 X(L 类,N 类)。求出 X+,若 X+U,则X是唯一候选码,算法终止。 2、如果上述的X不是码,取 LR 类(在左右两边都出现过的属性)的每一个属性加入 X 集合,求每个闭包,判断其是否为候选码。3、再取 LR 类的每2个属性组合,加入X集合,求每个闭包,判断其是否为候选码。4、再取 LR 类的每 3 个属性组合,加入X集

29、合,求每个闭包,判断其是否为候选码。5、以此类推,直到 X 集合包含所有属性,或者已找出所有的候选码。注意:子集从小到大找,大的子集中不要包含已找出的候选码转换为3NF既保持函数依赖又具有无损连接性的分解算法算法思想:在算法6.3分解的基础上,增加一个模式,该模式以原模式的一个码作为属性组,使该模式起到正确连接其它各模式的作用。算法6.4:输入:关系模式R;输出:R的一个分解t =R1,R2,Rp,每个Ri均为3NF, 且 t 既保持函数依赖又具有无损连接性;(1)用算法6.3将R分解为r=R1(U1),R2(U2),Rk(Uk);(2)求R的一个码X;(3)若X是某个Ui的子集,输出 t =

30、 r; 否则, 输出t = r R*(X) ;算法结束。例题:设有关系模式R(ABCDEG),F= ABC,CDG,BDA (1)求 R 的所有候选码。 (2)R最高属于第几范式。 (3)将 R 分解为 3NF,且既保持函数依赖又具有无损连接性。解:(1) R的所有候选码 L类属性:没有 ; N类属性:E, (E)+=E LR类属性:A,B,C,D(AE)+=A,B,C,D,E,G(BE)+=A,B,C,D,E,G(CE)+=C,E(DE)+=D,E(CDE)+=C,D,E,GR的所有候选码为:AE、BE(2) R的所有候选码为:AE、BE,非主属性为C、D、G 因为非主属性和候选码之间没有存

31、在函数依赖关系,所以该 关系模式最高属于第一范式。(3)(1)做保持函数依赖的3NF的分解:求Fmin:a.分解右部为单属性:F=AB,AC,CDG,BD, BA b.去掉多余函数依赖:F=AB,AC,CDG,BD, BA c.去掉左部多余属性:F=AB,AC,CDG,BD, BA 分离不在F中出现的属性:E判断是否需要分解:需要分解:按左部相同原则,去掉重复子集:A,B,C,C,D,G,A,B,D,E(2)求出R的一个候选码:AE、BE(3)由于AE不是上述三个关系模式的属性集的子集,所以将AE构成一个新的关系模式,加入到r中,得: r =R1(A,B,C),R2(C,D,G),R3(A,B

32、,D) ,R4(A,E)r既保持函数依赖又具有无损连接性。或者:r =R1(A,B,C),R2(C,D,G),R3(A,B,D) ,R4(B,E)解:(1)R的所有候选码 L类属性:B; N类属性:E (BE)+=B,D,E,G LR类属性:A, C(ABE)+=A,B,C,D,E,G (BCE)+=A,B,C,D,E,GR的所有候选码为:ABE、BCE(2) (AB)+=A,B,C,D,G(3)(1)做保持函数依赖的3NF的分解:求Fmin:a.分解右部为单属性:F=AC,CA,BD, BG b.去掉多余函数依赖:F=AC,CA,BD, BG c.去掉左部多余属性:F=AC,CA,BD, B

33、G 分离不在F中出现的属性:E判断是否需要分解:需要分解:按左部相同原则,去掉重复子集:A,C,B,D,G,E(2)求出R的一个候选码:ABE、BCE(3)由于ABE不是上述三个关系模式的属性集的子集,所以将ABE构成一个新的关系模式,加入到r中,得: r =R1(A,C),R2(B,D,G),R3(A,B,E)r既保持函数依赖又具有无损连接性。或者:r =R1(A,C),R2(B,D,G),R3(B,C,E)第七章 数据库设计 数据库设计 :包括逻辑设计和物理设计 。 逻辑设计 :概念结构设计与逻辑结构设计。 概念结构设计:实体-联系模型(E-R图)。 逻辑结构设计:关系数据库的模式设计。E

34、-R图实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来实体的转换原则 一个实体型转换为一个关系模式。 关系的属性:实体型的属性 关系的码:实体型的码联系的转换实体型间的联系有以下不同情况 :(1) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。 与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。(2) 一个1:n联系可以转换为一个独立的关系模式,

35、也可以与n端对应的关系模式合并。 转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 与n端对应的关系模式合并,则在n端实体对应模式中加入1端实体所对应关系模式的码,以及联系本身的属性。而关系的码为n端实体的码。(3) 一个m:n联系转换为一个关系模式。 每个实体集各对应一个关系模式; 对于(m:n)的联系,单独对应一个关系模式,该关系模式包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各实体集的主码属性共同组成。 数据库各级模式的形成数据库的各级模式是在设计过程中逐步形成的 需求分析阶段综合各个用户的应用需求(

36、现实世界的需求) 概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述 在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式 在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式第十章 数据库恢复技术 如果数据库只包含成功事务提交的结果,就说数据库处于一致性状态。保证数据一致性是对数据库的最基本的要求。 事务是数据库的逻辑工作单位 DBMS保证系统中一切事务的原子性、一致性、隔

37、离性和持续性 DBMS必须对事务故障、系统故障和介质故障进行恢复恢复中最经常使用的技术:数据库转储和登记日志文件恢复的基本原理:利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库常用恢复技术 事务故障的恢复 UNDO 系统故障的恢复 UNDO + REDO 介质故障的恢复 重装备份并恢复到一致性状态 + REDO提高恢复效率的技术1) 检查点技术 可以提高系统故障的恢复效率 可以在一定程度上提高利用动态转储备份进行介质故障恢复的效率2) 镜像技术 镜像技术可以改善介质故障的恢复效率第十一章 并发控制l 并发操作带来的数据不一致性a) 丢失修改(Lost Update)b) 不可重

38、复读(Non-repeatable Read)c) 读“脏”数据(Dirty Read)l 数据库的并发控制以事务为单位l 数据库的并发控制通常使用封锁机制 两类最常用的封锁 排它锁又称为写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。 共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。l 对数据对象施加封锁,带来问题活锁: 先来先服务死锁: 预防方法 一次封锁法 顺序封锁法 死锁的诊断与解除 超时法 等待图法l 并发控制机制调度并发事务操作是否正确的判别准则是可串行性 并发操作的正确性则通常由两段锁协议来保证。 两段锁协议是可串行化调度的充分条件,但不是必要条件两段锁协议 指所有事务必须分两个阶段对数据项加锁和解锁 在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁 在释放一个封锁之后,事务不再申请和获得任何其他封锁收集于网络,如有侵权请联系管理员删除

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服