数据库系统概述——第六章 关系数据理论(知识点复习+练习题)

news/2024/11/29 14:50:56/

🌟博主:命运之光

🦄专栏:离散数学考前复习(知识点+题)

🍓专栏:概率论期末速成(一套卷)

🐳专栏:数字电路考前复习

🦚专栏:数据库系统概述

☀️博主的其他文章:点击进入博主的主页​​​​​

前言: 身为大学生考前复习一定十分痛苦,你有没有过以下这些经历:

1.啊明天要考试了,关键这知识点它不进脑子啊。

2.小朋友,你是否有很多问号,为什么,快考试了你还啥也不会。

3.你们复习的时候,也是学着学着,手机就自动跳到手里了吗?

4.真正的大学生敢于直面崭新的课本。

5.睡也不敢睡,学也不想学。

6.监考老师+地理位置+附近战友友善度=考试分数。

🍓🍓当然以上都是开些玩笑,看看下面这些题,它可以让零基础未开始学习的你以最快的速度突击期末考试,知识点+练习题,突击起来效率嘎嘎快。

​​

目录

☀️第六章 关系数据理论(重点)

🐳1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是(A)。

🐳2、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及(C)的缺陷。

🐳3、当关系模式R(A,B)已属于3NF,下列说法中(B)是正确的。

🐳4、在关系DB中,任何二元关系模式的最高范式必定是(D)。

🐳5、在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是(C)。

🐳6、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式?(B)。

函数依赖的概念

●平凡的函数依赖

●非平凡的函数依赖

🐳例:在关系SC(Sno, Cno, Grade)中

🐳例:学校教务的数据库:学生的学号(Sno)、所在系(Sdept)系主任姓名(Mname)、课程号(Cno) 成绩(Grade)

🐳例:在关系Std(Sno, Sdept, Mname)中,有:

第一范式~BCNF

🐳例:上例中,在S-L中存在非主属性对码的传递函数依赖,所以不属于3NF

🐳例题:设有如下关系R

☀️练习题

☀️结语


☀️第六章 关系数据理论(重点)

本章内容:规范化、数据依赖的公里系统、模式分解

本章主要考点:函数依赖、多值依赖的概念、范式判定Armstrong公理系统

🐳1设计性能较优的关系模式称为规范化,规范化主要的理论依据是A

A.关系规范化理论

B.关系运算理论

C.关系代数理论

D.数理逻辑

🐳2、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及C的缺陷。

A.数据的不一致性

B.结构不合理

C.冗余度大

D.数据丢失

🐳3、当关系模式R(A,B)已属于3NF,下列说法中B是正确的。

A.它一定消除了插入和删除异常

B.仍存在一定的插入和删除异常

C.一定属于BCNF D.A和B都是

🐳4、在关系DB中,任何二元关系模式的最高范式必定是D

A.1NF

B.2NF

C.3NF

D.BCNF

🐳5、在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是C

A.2NF

B.3NF

C.4NF

D.BCNF

🐳6、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式?B

部门(部门号,部门名,部门成员,部门总经理)

A.部门总经理

B.部门成员

C.部门名

D.部门号

函数依赖的概念

函数依赖的定义:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。即只要 X 上的属性值相等,Y 上的值一定相等。

●平凡的函数依赖

在关系模式R(U)中,对于U的子集X和Y,

如果X→Y,但Y ⊆ X,则称X→Y是平凡的函数依赖

●非平凡的函数依赖

在关系模式R(U)中,对于U的子集X和Y,

若X→Y,但Y ⊈ X,则称X→Y是平凡的函数依赖

🐳例:在关系SC(Sno, Cno, Grade)中

非平凡函数依赖: (Sno, Cno) → Grade

平凡函数依赖: (Sno, Cno) → Sno

(Sno, Cno) → Cno

部分函数依赖:若X→Y,但Y不完全依赖于X,则称Y对X部分函数依赖。记作

完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有

, 则称Y对X完全函数依赖。记作

🐳例:学校教务的数据库:学生的学号(Sno)、所在系(Sdept)系主任姓名(Mname)、课程号(Cno) 成绩(Grade)

U ={Sno, Sdept, Mname, Cno, Grade }

(Sno,Cno) →Grade是完全函数依赖,

(Sno,Cno)→Sdept是部分函数依赖

因为Sno →Sdept成立,且Sno是(Sno,Sanme)的真子集

传递函数依赖:在R(U)中,如果X→Y,(Y X) ,YX, Y→Z,Z不属于Y, 则称Z对X传递函数依赖。

🐳例:在关系Std(Sno, Sdept, Mname)中,有:

Sno → Sdept,Sdept → Mname

Mname传递函数依赖于Sno

第一范式~BCNF

第一范式1NF若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式。

第二范式(2NF):若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式 R∈2NF 。(即 1NF 消除了非主属性对码的部分函数依赖则成为2NF)。

例:关系模式S-L-C(Sno, Sdept, Sloc, Cno, Grade)

Sloc为学生住处,假设每个系的学生住在同一个地方

函数依赖包括

(Sno, Cno) Grade

Sno → Sdept

(Sno, Cno) Sdept

Sno → Sloc

(Sno, Cno) Sloc

Sdept → Sloc

(虚线表示部分函数依赖)

由于非主属性Sdept和Sloc并不完全函数依赖于码(Sno, Cno),所以不是2NF解决方法:

S-L-C分解为两个关系模式,以消除这些部分函数依赖,这就属于2NF了

SC(Sno, Cno, Grade)

S-L(Sno, Sdept, Sloc)

第三范式(3NF):关系模式 R<U,F> 中若不存在这样的码 X、属性组 Y 及非主属性 Z(Z 不是Y的子集)使得

成立,则称(每一个非主属性既不部分依赖于码有人不传递依赖于码)

🐳例:上例中,在S-L中存在非主属性对码的传递函数依赖,所以不属于3NF

解决方法:采用投影分解法,把S-L分解为两个关系模式,以消除传递函数依赖:

S-D(Sno, Sdept)码为Sno

D-L(Sdept,Sloc) 码为Sdept

BCNF:关系模式 R<U,F>∈1NF 。若 X→Y 且 Y 不是 X 的子集时,X必含有码,则

R<U,F>∈BCNF(即每一个决定属性因素都包含码)

BCNF性质:若R∈BCNF

①所有非主属性对每一个码都是完全函数依赖

②所有的主属性对每一个不包含它的码,也是完全函数依赖

③没有任何属性完全函数依赖于非码的任何一组属性

例:在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。每一教师只教一门课。每门课由若干教师教,某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称函数依赖:(S,J)→T,(S,T)→J,T→J (S,J)和(S,T)都是候选码

STJ∈3NF (S,J)和(S,T)都可以作为候选码,S、T、J都是主属性,没有任何非主属性对码传递依赖或部分依赖。但STJ不是BCNF,因为T是决定因素,T不包含码

解决方法:将STJ分解为二个关系模式: ST(S,T) ∈ BCNF, TJ(T,J)∈ BCNF

🐳例题:设有如下关系R

课程名

教师名

教师地址

C1

刘爽英

D1

C2

乔志伟

D2

C3

于得水

D2

C4

井超

D2

(1)它为第几范式? 为什么?

(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?

(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?

解: (1)它是2NF。 因为R的候选关键字为“课程名”。依赖关系: 课程名→教师名,教师名 → 课程名,教师名→教师地址,所以课程名→教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。

(2)存在。当删除某门课程时,会删除不该删除的教师的有关信息。

(3)分解为高一级范式如图所示。

R1(课程名,教师名)

课程号

教师名

C1

刘爽英

C2

乔志伟

C3

于得水

C4

井超

R2(教师名,教师地址)

教师名

教师地址

刘爽英

D1

乔志伟

D2

于得水

D2

井超

D2

分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。

☀️练习题

☀️结语

❤️❤️一路看到这里,相信你的数据库考试应该已经增加了几分胜算💪🏻

❤️❤️如果喜欢本文请不吝点赞👍🏻,如果爱上本文请留下评论~

❤️❤️如果既不想点赞又不想评论…那么/(ㄒoㄒ)/~~还是祝愿你考试顺利啦~

#include<bits/stdc++.h>
using namespace std;
int main()
{cout<<"对编程,算法,人工智能,机器学习,深度学习,";cout<<"图像处理,大数据挖掘,web前端网页设计等等感兴趣的同学";cout<<"可以关注命运之光,命运之光正在努力学习,";cout<<"不断的提升自己的专业能力,耗油跟,加加布鲁根!"<<endl; return 0;
}

再接再厉,继续加油! 


http://www.ppmy.cn/news/487081.html

相关文章

android x86玩和平精英,和平精英iOS和安卓可以一起玩吗 和平精英iOS和安卓数据互通吗...

和平精英手游分为iOS版和安卓版&#xff0c;每个系统都有各自的玩家。那么&#xff0c;和平精英iOS和安卓可以一起玩吗&#xff1f;和平精英iOS和安卓数据互通吗&#xff1f;接下来就让优游网小编为大家介绍一下和平精英iOS系统和安卓系统的相关内容&#xff0c;一起来看看吧&a…

鸿蒙系统是否能玩游戏,鸿蒙系统玩游戏跟安卓互通吗

相信平时玩手机游戏的朋友都经常会遇到安卓和ios不同服的情况。所以就有人开始担心鸿蒙系统玩游戏如果和安卓不互通&#xff0c;不仅会找不到一起玩游戏的朋友&#xff0c;还会丢失自己的数据。 鸿蒙系统玩游戏跟安卓互通吗 答&#xff1a;互通的。 1、首先&#xff0c;本身鸿蒙…

国服光遇android和ios能一起玩吗,光遇安卓和苹果可以一起玩吗 数据互通问题详解[多图]...

光遇安卓和苹果这两个系统的玩家可以一起组队吗&#xff0c;相信各位小伙伴都不清楚&#xff0c;同时游戏的数据互通吗&#xff0c;接下里为大家详细介绍互通规则解答。 光遇数据互通问题详解 首先经过测试&#xff0c;国际服的安卓和苹果是可以一起玩的&#xff0c;这两个平台…

C++实现德州扑克游戏(和电脑一起玩)

事先声明&#xff0c;本人坚决反对赌博&#xff0c;对众多程序员助纣为虐&#xff0c;远赴东南亚等地编写赌博网站的行为也很反感&#xff0c;更有甚者&#xff0c;使用python进行黑客行为&#xff0c;非法爬虫&#xff0c;真正实现了“C从入门到入土”,“python从入门到入狱”…

游戏陪玩APP开发的功能和特点

1、游戏评测推荐 根据对游戏的评测&#xff0c;向用户介绍该款游戏的内容&#xff0c;后根据游戏的可玩性和用户的特点&#xff0c;向用户推荐。 2、社区交流 通过社区的交流&#xff0c;促进用户之前的关系的建立&#xff0c;促进用户的活跃度。 3、游戏陪玩服务 用户们可…

大家一起做游戏

【题】 大家一起做游戏

胡调乱侃之一(一起玩游戏平台)

有好多人玩网游和单机游戏一样就一个人玩&#xff0c;找不到玩家&#xff0c;只能一个人练级&#xff0c;很枯燥。&#xff08;包括我&#xff09; 如果能提供一个平台来聚集玩家&#xff0c;从而有伙伴。平台可以提供公会&#xff0c;让你进游戏后就有公会的人帮忙。名字统一…

【每日一题】爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x

爱丽丝和鲍勃一起玩游戏&#xff0c;他们轮流行动。爱丽丝先手开局。 最初&#xff0c;黑板上有一个数字 N 。在每个玩家的回合&#xff0c;玩家需要执行以下操作&#xff1a; 选出任一 x&#xff0c;满足 0 < x < N 且 N % x 0 。 用 N - x 替换黑板上的数字 N 。 如…