数据库考试复习
文章平均质量分 71
专门用于期末、研究生入学、职业资格数据库部分考试复习
guoyp2126
心上悟,事上磨
展开
-
关系数据理论提纲——数据库考试复习
前言关系数据理论是数据库原理期末考试、研究生数据库专业考试、软件水平资格考试的重点,而且其中的范式理论是数据库设计时依据的基本规范。这部分内容在各种论坛、博客中均有着大量篇幅进行说明讲解,很多博客中内容存在错误;而且这部分内容是数据库原理中最抽象、最难理解的部分,因此对将本部分内容做以总结整理,用于备忘。内容提纲本部分考察题目包括求候选码、范式判定、最小依赖函数集、无损性连接判断、保持函数依赖性判断、保持函数依赖的3NF分解等。目录如下:求候选码,参考地址:https://blog.csdn.net原创 2021-05-17 09:45:02 · 486 阅读 · 0 评论 -
属性闭包求解算法——数据库考试复习
前言属性闭包用于判定是否蕴含了某种函数依赖,如判断X→Y是否成立,转换为求X在函数依赖集上的属性闭包中是否包含了Y,如果包含则蕴含该关系,如果不包含则不蕴含此函数依赖。属性闭包是求解属性闭包求解算法X XF+逐一考察F中的FD,如果存在V→WF,且V中的全部属性都出现在当前的XF+中,将属性组W并入XF+;当当前的XF+包含全部属性U,或者按(2)重新遍历F而没有对当前XF+ 增加任何属性时算法结束示例已知关系模式R<U,F>,其中U={A, B, C, D, E},F原创 2021-05-04 09:37:52 · 3771 阅读 · 6 评论 -
范式的判定——数据库考试复习
前言范式是数据库设计时所依据的主要理论,如果达不到指定范式,就会出现数据冗余、插入、删除、更新异常,数据库设计中要求至少达到3NF标准。在数据库设计中主要依据各个属性在语义上的依赖关系,由于语义上存在歧义,一般考试中会给定函数依赖,要求判定关系模式的最高范式。函数依赖定义:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y(读作X决原创 2021-05-13 18:35:09 · 4068 阅读 · 1 评论 -
候选码求解算法——数据库考试复习
前言定义:设K为关系模式R<U, F>中的属性或属性组。若U完全依赖K,则K称为R的一个候选码(Candidate Key)。换句话说,R中所有属性完全依赖于K,不存在K’是K的真子集,使得U完全依赖K’成立,则K是关系模式R的候选码。候选码可以通过函数依赖推出,其推出算法如下:候选码求解算法、对于给定的关系模式R<U, F>,依照函数依赖集F将U中的属性分为以下四类:L类属性: 在F中只出现在函数依赖的左部的属性;R类属性: 在F中只出现在函数依赖的右部的属性;LR类原创 2021-05-10 18:45:07 · 5095 阅读 · 0 评论 -
模式分解无损连接判断——数据库考试复习
分解无损性连接概念若R与R1、R2、…、Rn自然连接的结果相等,即经过自然连接元组与分解前的元祖没有增加也没有减少,则称关系模式R的这个分解ρ具有无损连接性。考试中经常有题目,需要判断分解后的模式是否具连接无损性。判断算法一关系模式R<U, F>的一个分解ρ = { R1_11<U1_11,F1_11>, R2_22<U2_22,F2_22> }具有无损连接性的充分必要条件是:U1_11∩∩∩ U2_22 → U1_11−-−U2_22 ∈∈∈F原创 2021-05-17 09:15:57 · 3940 阅读 · 0 评论 -
数据库意向锁——数据库考试复习
前言如果没有多粒度锁,就不会产生意向锁。在介绍意向锁之前先引入两个概念显式封锁和隐式封锁。显式封锁:直接加到数据对象上的封锁,如给某个表加写锁,这个写锁作用在这个表上。隐式封锁:该数据对象没有独立加锁,是由于其上级结点加锁而使该数据对象加上了锁。如果某个表上加了读锁,则默认该表每个元祖均有隐式读锁。假如事务T要给某个表要加一个读锁,首先要判断该表是否目前是否有写锁(包括显示、隐式封锁),如果该表有写锁,则需要等待。如果该表上没有写锁,因为当前商用的数据库管理系统都包含行级锁和表级锁(是多粒度锁),还原创 2021-06-13 14:28:09 · 1063 阅读 · 1 评论 -
数据库三级封锁协议和两段锁协议区别
三级封锁协议用于解决修改丢失、不可重复读和读脏数据问题,解决问题的焦点是给数据库对象何时加锁、加什么样的锁一级封锁协议:事务T在修改数据R之前必须对其加X锁,解决修改丢失问题二级封锁协议:在一级封锁协议的基础上,事务T在读取数据R前,必须对其加S锁,读完后即可释放,解决不可重复读问题三级封锁协议:在一级封锁协议的基础上,事务T在读取数据R前,必须对其加S锁,直到事务结束方可释放,解决读脏数据问题三级封锁协议不能保证并发操作下事务最终的执行结果和这些事务串行的某个执行结果一致(如有事务A和事务B,串行原创 2021-04-02 20:22:21 · 7303 阅读 · 1 评论 -
数据库强制存取控制详解
所谓的存取控制通俗地讲就是对数据进行分类,确保只有有权限的人才能访问敏感数据,存取控制分为自主存取控制(DAC)和强制存取控制(MAC)自主存取控制(DAC)不同的数据库对象设定不同的权限,授予不同的人,执行访问操作时,进行权限合法检查,无权拒绝访问验证是单向的,仅验证主体(用户)是否有权访问自主存取控制属于计算机安全性国际标准中的C2级别强制存取控制(MAC)与自主存取控制不同,不仅需要验证主体(用户)是否有权访问,而且非法用户即使拿到了数据,也无法读取数据的内容,数据(客体)还要验证拿到数据原创 2021-04-01 20:47:52 · 8559 阅读 · 2 评论 -
关系代数中的除法
在介绍关系代数的除法以前我们必须熟悉象集的概念象集给定一个关系R(X,Z),X 和Z 为属性组。当 t[X] = x 时,x 在 R 中的象集(Images Set)为:Zx= { t[Z] | t R,t[X] = x},表示R中属性组X上值为x的诸元组在属性组Z上分量的集合。S在B2上的象集为上图右方的关系。除法R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组tr在X上分量值tr [X]的象集Ytr [X]包含S在Y上投影的集合。R÷S = {原创 2021-03-14 19:36:54 · 5205 阅读 · 0 评论 -
模式分解保持函数依赖3NF分解算法——数据库考试复习
前言模式分解的本质是将一个大的模式分解为几个小的模式,在模式分解至少应达到3NF,而且要保证是无损连接性的,分解时尽可能保持函数依赖。事实证明,保持无损连接和保持函数依赖,可以达到3NF,但不一定能达到BCNF。以下具体说明保持函数依赖3NF求解算法算法描述假设:关系模式R<U,F>,其中U属性集,F为属性集上的函数依赖,将其分解成3NF并保持函数依赖算法如下:①求F最小依赖集F‘;极小依赖集算法参考地址:②将既不在左部,又不在右部的属性,构成一个独立的一个关系模式;③若有唯一依赖X原创 2021-05-17 09:43:29 · 9656 阅读 · 8 评论 -
极小函数依赖集求解算法——数据库考试复习
前言极小函数依赖集是求候选码、判断模式分解无损连接性和进行保持函数依赖性3NF求解常用的工具,了解此算法非常重要。算法假设:关系模式R<U,F>,其中U属性集,F为属性集上的函数依赖,求F的极小函数依赖集的算法如下:①应用分解规则,使得F中的每一个函数依赖的右部属性单一化。②去掉多余的依赖:由第一个依赖开始,在F中去掉它(假设为:X->Y),在其余的函数依赖中求X在F其余依赖上的属性闭包,若闭包含有Y则可以去掉函数依赖X->Y,否则不能③去掉左部多余的属性:逐一检查F左边原创 2021-05-06 09:18:34 · 4770 阅读 · 1 评论 -
模式分解保持函数依赖判断——数据库考试复习
已知R<U,F>,U={A,B,C,D,E},F={A—>C,B—>C,C—>D,DE—>C,CE—>A},R的一个分解为R1(AD),R2(AB),R3(BE),R4(CDE),R5(AE),判断这个分解是否具有函数依赖性。分解出的R1 F1{A—>D} R2 F2{Q} R3 F3{Q},R4(CDE) F4(DE->C,C->D}A->C、B->C、CE->A没有被覆盖。A->C: A与R1求交,为A, 求A的原创 2021-04-30 17:27:08 · 11040 阅读 · 2 评论