知识总结:
1、关系模式:有五部分组成,是一个五元组:R(U,D,DOM,F)。
其中,R是符号化的元组语义;
U为一组属性;
D为属性组U中的属性所来自的域;
DOM为属性到域的映射;
F为属性组U上的一组数据依赖。
(在本章中把关系模式看作一个三元组R(U,F))
2、作为二维表,关系要符合一个最基本的条件:每个分量必须是不可分开的数据项。
满足了这个条件的关系模式就属于第一范式(1NF)。

数据依赖
1、数据依赖是一个关系内部属性与属性之间的一种约束关系,它的主要类型有函数依赖(FD)和多值依赖(MVD)
2、Student(Sno,Sname,Sdept)
记作:Sno→\rightarrow→Sname,Sno→\rightarrow→Sdept.
读作:Sno函数决定Sname,Sno函数决定Sdept.
3、关系模式中可能会存在数据冗余、更新异常、插入异常、删除异常的问题。一个“好”的模式应当不会发生插入异常、删除异常和更新异常,数据冗余应尽可能少,而出现问题的原因是由存在于模式中的某些数据依赖引起的,可以使用规范化理论改造关系模式来消除其中不合适的数据依赖

【例6.1】建立一个描述学校教务的数据库,涉及的对象包括:学生的学号(Sno)、所在系(Sdept)、系主任姓名(Mname)、课程号(Cno)、成绩(Grade)。
已知事实有:(1)一个系有若干学生, 但一个学生只属于一个系;
(2)一个系只有一名(正职)负责人;
(3)一个学生可以选修多门课程,每门课程有若干学生选修;
(4)每个学生学习每一门课程有一个成绩。
由可以唯一确定出来得到
由此得到属性组U上的一组函数依赖F:
F={Sno→\rightarrow→Sdept,Sdept→\rightarrow→Mname,(Sno,Cno)→\rightarrow→Grade}.
如果将这个单一的模式拆成三个关系模式:
S(Sno,Sdept,Sno→\rightarrow→Sdept);
SC(Sno,Cno,Grade,(Sno,Cno)→\rightarrow→Grade);
DEPT(Sdept,Mname,Sdept→\rightarrow→Mname);这样就不会出现插入异常,删除异常的问题,数据冗余也得到了控制。

规范化(重点)
函数依赖

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

若X→\rightarrow→Y,并且Y→\rightarrow→X则记为X←→\leftarrow\rightarrow←→Y.若Y不函数依赖于X,则记为X↛\nrightarrow↛Y.

主码一定可以函数确定其他属性。

2.平凡函数依赖与非平凡函数依赖
X→YX\rightarrow YX→Y,但Y⊈XY \nsubseteq XY⊈X 则称X→YX\rightarrow YX→Y是非平凡的函数依赖。
X→YX\rightarrow YX→Y,但Y⊆XY \subseteq XY⊆X 则称X→YX\rightarrow YX→Y是平凡的函数依赖。

对于任意关系模式,平凡函数依赖都是必然成立的,它不反映新的语义。若不特别声明,我们总是讨论非平凡的函数依赖。

若X→YX\rightarrow YX→Y,则X称为这个函数依赖的决定因素

3.完全函数依赖与部分函数依赖
【定义】在R(U)中,如果X→YX\rightarrow YX→Y,并且对于X的任何一个真子集X’,都有X′↛YX'\nrightarrow YX′↛Y,则称Y对X完全函数依赖,记作X→FYX \overset F\rightarrow YX→FY.(X的真子集不能函数确定Y)
若X→YX\rightarrow YX→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X→PYX\overset P \rightarrow YX→PY.

【例】在关系SC(Sno, Cno, Grade)中,有:
由于:Sno↛GradeSno\nrightarrow GradeSno↛Grade,Cno↛GradeCno\nrightarrow GradeCno↛Grade,
因此:(Sno,Cno)→FGrade(Sno, Cno) \overset F\rightarrow Grade(Sno,Cno)→FGrade
(Sno,Cno)→PSno(Sno, Cno)\overset P \rightarrow Sno(Sno,Cno)→PSno
(Sno,Cno)→PCno(Sno, Cno)\overset P \rightarrow Cno(Sno,Cno)→PCno

4.传递函数依赖
【定义】在R(U)中,如果X→YX \rightarrow YX→Y(Y⊈XY\nsubseteq XY⊈X),Y↛XY\nrightarrow XY↛X,Y→ZY\rightarrow ZY→Z,Z⊈YZ\nsubseteq YZ⊈Y,则成Z对X传递函数依赖。记为:X→ZX \rightarrow ZX→Z。
注:如果Y→XY\rightarrow XY→X,即X←→YX\leftarrow \rightarrow YX←→Y,则Z直接依赖于X,而不是传递函数依赖。
所以在判断传递函数依赖时,要判断Y是否可以函数确定X。


1、候选码:设K为R<U,F>中的属性或属性组合,若K→FUK\overset F\rightarrow UK→FU,则K称为R的一个候选码。(完全函数依赖,可以唯一确定一个元组)
超码:如果U部分函数依赖于K,即K→PUK\overset P\rightarrow UK→PU,则K称为超码。(K的子集还可以确定一个元组)
候选码是最小的超码,即K的任意真子集都不是候选码。
主码:若关系模式R有多个候选码,则选定其中的一个做为主码。
候选码可以有多个,但是主码只能有一个
全码:整个属性组是码,称为全码。
外码:关系模式R中属性或属性组X并非R的码,但X时另一个关系模式的码,则称X时R的外部码,也称外码。

【例】SC(Sno,Cno,Grade)中,Sno不是码,但Sno是S(Sno,Sdept,Sage)的码,所以Sno是SC的外码。
主码与外码一起提供了表示关系间联系的手段。
2、主属性与非主属性
包含在任何一个候选码中的属性 ,称为主属性
不包含在任何码中的属性称为非主属性

范式
范式是符合某一种级别的关系模式的集合。
各种范式之间存在联系:1NF⊃2NF⊃3NF⊃BCNF⊃4NF⊃5NF1NF\supset 2NF\supset 3NF\supset BCNF \supset 4NF\supset 5NF1NF⊃2NF⊃3NF⊃BCNF⊃4NF⊃5NF
某一关系模式R为第n范式,可简记为R∈nNF。

一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化

1、第一范式(1NF):作为二维表,关系要符合一个最基本的条件:每个分量必须是不可分开的数据项,满足了这个条件的关系模式就属于第一范式.
2、第二范式(2NF)
【定义】若关系模式R∈1NFR\in 1NFR∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码,则R∈2NFR\in 2NFR∈2NF.
简单来说:非主属性不能部分依赖于码。候选码的真子集不能函数确定非主属性。
只有当表中的主码有两个或两个以上的属性组成的时候,才有可能出现不符合2NF的情况。
判断步骤:找码、找非主属性、完全函数依赖?

【例6.4】S-L-C(Sno,Sdept,Sloc,Cno,Grade), Sloc为学生的住处,并且每个系的学生住在同一个地方。S-L-C的码为(Sno,Cno)。
函数依赖有:(Sno,Cno)→FGrade(Sno,Cno)\overset F\rightarrow Grade(Sno,Cno)→FGrade
Sno→SdeptSno\rightarrow SdeptSno→Sdept,(Sno,Cno)→PSdept(Sno,Cno)\overset P \rightarrow Sdept(Sno,Cno)→PSdept
Sno→SlocSno\rightarrow SlocSno→Sloc,(Sno,Cno)→PSloc(Sno,Cno)\overset P \rightarrow Sloc(Sno,Cno)→PSloc
Sdept→SlocSdept\rightarrow SlocSdept→Sloc
非主属性Grade完全函数依赖于码,但非主属性Sdept,Sloc并不完全函数依赖于码,关系模式S-L-C不属于2NF.

一个关系不属于2NF,可能会出现插入异常、删除异常、修改复杂的问题。
解决方法:用投影分解把关系模式S-L-C分解成两个关系模式:SC(Sno,Cno,Grade);
S-L(Sno,Sdept,Sloc).

3、第三范式(3NF)
【定义】设关系模式R<U,F>∈\in∈ 1NF,若R中不存在这样的码X、属性组Y及非属性组Z(Z⊉YZ \nsupseteq YZ⊉Y),使得X→Y,Y→ZX\rightarrow Y,Y\rightarrow ZX→Y,Y→Z 成立,Y↛XY\nrightarrow XY↛X 不成立,则称R<U,F>∈\in∈ 3NF.
简单来说:3NF非主属性不能传递依赖和部分依赖于码。

SC没有传递依赖,因此SC∈\in∈ 3NF.
S-L中Sno→\rightarrow→ Sdept(Sdept↛\nrightarrow↛Sno),Sdept→\rightarrow→Sloc,可得Sno→\rightarrow→Sloc,有函数传递依赖,因此S-L不属于3NF.
解决的办法是将S-L分解成:S-D(Sno,Sdept)∈\in∈ 3NF, D-L(Sdept,Sloc)∈\in∈ 3NF.

4、BC范式(BCNF)
【定义】设关系模式R<U,F>∈\in∈ 1NF,若X→YX\rightarrow YX→Y 且Y⊈XY \nsubseteq XY⊈X时X必含有码,则R<U,F>∈\in∈ BCNF.换言之,在关系模式R<U,F>中,如果每一个决定属性集都包含候选码,则R∈\in∈ BCNF.
简单来说:在满足3NF(非主属性不能传递依赖和部分依赖于码)的基础上,不允许主码的一部分被另一部分或其他部分决定。

【例1】关系模式S(Sno,Sname,Sdept,Sage),假定Sname具有唯一性.
(1)S有两个候选码:Sno,Sname,非主属性Sdept,Sage
(2)非主属性不存在对码的传递依赖和部分依赖,所以S∈3NF。
(3)S中决定因素Sno,Sname包含码,所以S也属于BCNF。
【例2】关系模式SJP(S,J,P)中,S是学生,J表示课程,P表示名次。每一个学生选修每门课程的成绩有一定的名次,每门课程中每一名次只有一个学生(即没有并列名次)。
由语义可得到函数依赖: (S,J)→P;(J,P)→S
(1) 候选码:(S,J),(J,P)。没有非主属性。
(2)没有非主属性对码传递依赖或部分依赖,所SJP∈3NF。
(3) 除(S,J)与(J,P)以外没有其他决定因素,所以SJP∈BCNF。
【例3】关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。每一教师只教一门课。每门课有若干教师,某一学生选定某门课,就对应一个固定的教师。
由语义可得到函数依赖:(S,J)→T;(S,T)→J;T→J(T是决定因素)
(1)候选码:(S,J),(S,T);没有非主属性
(2)因为没有非主属性对码传递依赖或部分依赖,STJ ∈ 3NF。
(3)因为T是决定因素,而T不包含码,所以STJ ∉\notin∈/BCNF。
非BCNF的关系模式也可以通过分解成为BCNF。
例如STJ可分解为ST(S,T)与TJ(T,J),它们都是BCNF。

5、第四范式(4NF)
【定义】关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y ⊈ X),X都含有码,则R<U,F>∈4NF。
如果一个关系模式是4NF, 则必为BCNF。

【例】关系模式WSC(W,S,C)中,W表示仓库,S 表示保管员,C 表示商品。假设每个仓库有若干个保管员,有若干种商品。每个保管员保管所在仓库的所有商品,每种商品被所有保管员保管。

按照语义对于W的每一个值Wi,S有一个完整的集合与之对应而不问C取何值。所以W→→S。
由于C与S的完全对称性,必然有W→→C成立。
W →→S, W→→C,他们都是非平凡多值依赖。而W不是码,关系模式WSC的码是(W,S,C),即全码,因此WSC ∉\notin∈/ 4NF。

可以把WSC分解成WS(W,S),WC(W,C), WS∈4NF,WC∈4NF。
6、第五范式(5NF)

多值依赖
1、多值依赖:【定义】设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。

【例】设学校中某一门课程由多个教师讲授,他们
使用相同的一套参考书。每个教员可以讲授多门课
程,每种参考书可以供多门课程使用。
关系模式Teaching(C,T,B):课程C、教师T、参考书B。
Teaching具有唯一候选码(C,T,B), 即全码。没有非主属性对主码有部分函数依赖和传递函数依赖,并且决定因素都包含码,所以Teaching∈BCNF。对于C的每一个值,T有一组值与之对应,而不论B取何值。因此T多值依赖于C,即C→→T。
2、平凡多值依赖和非平凡的多值依赖
若X→→Y,而Z=Ф,则称X→→Y为平凡的多值依赖。否则称X→→Y为非平凡的多值依赖。
一般情况下我们都研究非平凡的多值依赖。

候选码的求解理论和算法:
1、闭包:记作(X+X^+X+ )就是由一个属性直接或间接推导出的所有属性的集合。
【例】f={a->b,b->c,a->d,e->f};
由a可直接得到b和d,间接得到c,
则a的闭包就是{a,b,c,d}。
2、对于给定的关系R(A1,A2,…An)和函数依赖集F,可将其属性分为4类:

  • L类 仅出现在函数依赖左部的属性。
  • R 类 仅出现在函数依赖右部的属性。
  • N 类 在函数依赖左右两边均未出现的属性
  • LR类 在函数依赖左右两边均出现的属性。

3、定理:
对于给定的关系模式R及其函数依赖集F,
若X(X∈R)是L类属性,则X必为R的任一候选码的成员。

推论:
对于给定的关系模式R及其函数依赖集F,
若X(X∈R)是L类属性,且X+包含了R的全部属性;则X必为R的唯一候选码。

定理:
对于给定的关系模式R及其函数依赖集F,
若X(X∈R)是R类属性,则X不在任何候选码中。
定理:
对于给定的关系模式R及其函数依赖集F,
若X(X∈R)是N类属性,则X必包含在R的任一候选码中。

推论:
对于给定的关系模式R及其函数依赖集F,
若X(X∈R)是L类和N类组成的属性集,且X+包含了R的全部属性;则X是R的唯一候选码。

L类和N类属性,一定在R的任何候选码中。
R类属性,一定不在R的任何候选码中。
X是L类和N类的属性集,若其闭包包含所有属性,则该属性集X是唯一的候选码。

【例】设关系模式 U=(A , B , C , D , E , F ),
函数依赖集F={A→ BC , BC → A , BCD → EF , E → C}, 其中可得:A←→BCA\leftarrow \rightarrow BCA←→BC
求 R 的候选码。
解(1) L=(D), R=(F ), LR=(A , B , C , E ), N=空;
(2) L∪N=(D) ,D+D^+D+=D;
(3)因为DA+DA^+DA+=DABCEF=U, DB+DB^+DB+=DB ,DC+DC^+DC+=DC, DE+DE^+DE+=DEC, 所以 DA 是候选码;
(4)因为 DBC+DBC^+DBC+=DBCAEF=U, DBE+DBE^+DBE+=DBECAF=U, DCE+DCE^+DCE+=DCE, 所以 DBC 、 DBE 是候选码;
(5) U 的候选码有 DA 、 DBC 、 DBE

课后作业:

关系模式:
【学生】Student(Sno,Sname,Sbirth,Deptname,Classno,Rno)
【班级】Class(Cno,Pname,Deptname,Cnum,Cyear)
【系】Dept(Deptname,Deptno,Deptadd,Dnum)
【学会】M(Mname,Myear,Madd,Mnum)
传递函数依赖:
【学生】Sno→\rightarrow→Sname,Sno→\rightarrow→Sbirth,Sno→\rightarrow→Classno,Classno→\rightarrow→Deptname,Deptname→\rightarrow→Rno.
由于Sno→\rightarrow→Classno,Classno→\rightarrow→Deptname,所以Deptname传递依赖于Sno,Sno→\rightarrow→Deptname.
由于Classno→\rightarrow→Deptname,Deptname→\rightarrow→Rno,所以Rno传递依赖于Classno,Classno→\rightarrow→Rno.
由于Sno→\rightarrow→Classno,Classno→\rightarrow→Rno.Rno传递依赖于Sno,Sno→\rightarrow→Rno.
【班级】Cno→\rightarrow→Pname,Cno→\rightarrow→Cnum,Cno→\rightarrow→Cyear,Pname→\rightarrow→Deptname.
由于Cno→\rightarrow→Pname,Pname→\rightarrow→Deptname.所以Deptname传递依赖于Cno,Cno→\rightarrow→Deptname.
【系】Deptanme→\rightarrow→Deptno,Deptno→\rightarrow→Deptname,Deptno→\rightarrow→Deptadd,Deptno→\rightarrow→Dnum.
由于Deptanme→\rightarrow→Deptno,Deptno→\rightarrow→Deptname,所以不存在传递函数依赖。
【学会】Mname→\rightarrow→Myear,Mname→\rightarrow→Madd,Mname→\rightarrow→Mnum.
不存在传递函数依赖。

【学生】候选码:Sno;外码:外码:Deptname,Classno;无全码。
【班级】候选码:Cno;外码:Deptname;无全码。
【系】候选码:Deptname,Deptno;无外码;无全码。
【学会】候选码:Mname;无外码;无全码。


(1)由于在关系模式R<U,F>中,如果每一个决定属性集都包含候选码,则R∈\in∈ BCNF.
所以当BC也是候选码时,R是BCFN。
(2)L=(C,E);R=空;LR=(A,B,D);N=空。
L∪\cup∪N=(C,E), CE+^++=(CE).
因为ACE+^++=(ABCDE)=U,BCE+^++=(ABCDE)=U,DCE+^++=(ABCDE)=U,
所以ACE,BCE,DCE是候选码。
(3)候选码是ACE,BCE,DCE,没有非主属性传递依赖和部分依赖于码,是3NF。
由于决定因素(A)、(BC)、(DE)都不包含候选码,所以R是3NF.


二目关系是说只有两个属性的表。
(1)正确。只有两个属性,要么其中一个为码,要么是全码,非主属性都不存在部分函数依赖,属于2NF.只有两个属性,3个及以上的才可能有传递函数依赖。因此属于3NF。
(2)正确。不管是一个属性为码,还是全码,决定因素都是码本身,属于BCNF。
(3)正确。只有两个属性,看作平凡的多值依赖,而4NF的前提是非平凡的函数依赖。
(4)错误。当且仅当函数依赖A→→\rightarrow\rightarrow→→B在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。
(5)正确。
(6)正确。
(7)正确。
(8)错误。如SC(Sno,Cno,Grade),(Sno,Cno)→\rightarrow→Grade,但是Sno↛\nrightarrow↛Grade,Cno↛\nrightarrow↛Grade。

证明:(1)采用反证法。
设R不是3NF,则必然存在这样的码X,属性组Y,和非属性组Z(Z∉\notin∈/Y),使得X→\rightarrow→Y,(Y↛\nrightarrow↛X),Y→\rightarrow→Z,这样Y→\rightarrow→Z函数依赖的决定因素Y不包含候选码,这与BCNF的定义矛盾,所以如果R∈\in∈BCNF,则R也是3NF.
(2)设R不是2NF,则假设R中非主属性A部分依赖于候选码K,则存在K’是K的子集,使得K’→\rightarrow→A,因K’是K的子集有K→\rightarrow→K’,但K’↛\nrightarrow↛K,于是有K→\rightarrow→K’,K’↛\nrightarrow↛K,K’→\rightarrow→A,并且A不属于K,因而A传递依赖于K,即R不属于3NF,与已知矛盾。
所以R是3NF,则R一定是2NF.
这一道题有从网上查找答案,使用反证法证明。

附加题:【注】AB→D 等价于 (A,B)→ D,D→BF 等价于 D→B, D→F
一.
Y(X1,X2,X3,X4)
(X1,X2)→X3
X2→X4
1、侯选码?
2、属于第几范式?
解:因为X2→X4,所以(X1,X2)→X4;
又因为(X1,X2)→X3,所以(X1,X2)→(X1,X2,X3,X4)。
因此:候选码:(X1,X2);非主属性:X3,X4。
因为(X1,X2)→X3, X2→X4,存在非主属性X4对候选码(X1,X2)的部分函数依赖;
所以不属于2NF。
结论:候选码(X1,X2),属于第一范式。

二.
R(A,B,C,D)
F={AB→D,AC→BD,B→C}
4. 侯选码?
5. 最高属于第几范式?
解:因为AB→\rightarrow→D,B→\rightarrow→C,所以AB→\rightarrow→CD;所以AB→\rightarrow→ABCD.
因为AC→\rightarrow→BD,所以AC→\rightarrow→ABCD
因此:候选码是AB、AC,非主属性是D。
D完全依赖于码,属于第二范式。
D不能传递依赖于码,属于第三范式。
决定因素B不包含候选码,不属于BC范式。
结论:候选码是AB、AC,最高属于3NF。

三.
R(X,Y,Z,W)
F={Y←→W,XY→Z}
1、 侯选码?
2、最高属于第几范式?
解:因为Y←→WY\leftarrow \rightarrow WY←→W,所以Y→WY\rightarrow WY→W,W→YW\rightarrow YW→Y.
由于XY→ZXY\rightarrow ZXY→Z,Y→WY\rightarrow WY→W,所以XY→XYZWXY\rightarrow XYZWXY→XYZW.
由于W→YW\rightarrow YW→Y,XY→Z,所以XW→XYZWXW\rightarrow XYZWXW→XYZW
因此:候选码为XY,XW。非主属性为Z。
Z完全依赖于码,属于2NF。
Z不能传递依赖于码,属于3NF.
决定因素Y,W不包含候选码,不属于BCNF。
结论:候选码为XY,XW。最高属于3NF.

四.
R(A,B,C,D,E) F={A→B,CE→A,E→D}
1、 求候选码。
2、最高属于第几范式,为什么?
3、分解到3NF。
解:L=( C);R=(B,D);LR=(A,E);N=空
C一定在候选码中,B,D一定不在候选码中。
由于CE→A,A→B,E→D,所以CE→ABCDE.
因此:候选码为CE,非主属性为A,B,D.
由于E→D,D部分依赖于码,不属于2NF.
因此:最高属于1NF.
分解:R1=(E,D);R2=(C,E,A,B)没有部分函数依赖,都属于2NF.
但是由于CE→A,A↛\nrightarrow↛CE,A→B,所以B传递依赖于CE,不属于3NF.
需要再次分解:R1=(E,D);R2=(A,C,E);R3=(A,B),不在有传递函数依赖,属于3NF.
结论:候选码为CE。最高属于1NF。分解到3NF:R1=(E,D);R2=(A,C,E);R3=(A,B)

五.
R(商店编号,商品编号,数量,部门编号,负责人)
每个商店的每种商品只在一个部门销售,
每个商店的每个部门只有一个负责人,
每个商店的每种商品只有一个库存数量。
1、求候选码。
2、R已达第几范式?为什么?
3、若不属于3NF,分解成3NF。
解:R(Sno,Cno,num,Dno,Man)
由题可知:F={(Sno,Cno)→Dno,(Sno,Dno)→Man,(Sno,Cno)→num};
因此:候选码为(Sno,Cno)。非主属性为num,Dno,Man。
非主属性全部依赖于码,属于2NF。
由于(Sno,Cno)→Dno,(Sno,Dno)→Man,所以Man传递依赖于码,不属于3NF。
因此:R最高到达2NF。
分解:R1=(Sno,Cno,Dno,num);R2=(Sno,Dno,Man),不存在传递函数依赖,都属于3NF。
结论:候选码为(Sno,Cno)。R最高到达2NF。分解到3NF:R1=(Sno,Cno,Dno,num);R2=(Sno,Dno,Man)。

六.
R(A,B,C,D,E,F) F={A→C,AB→D,C→E,D→BF}
1、写出关键字。
2、分解到2NF。
3、分解到3NF。
4、分解到4NF。

解:AB→D,D→BF,所以B←→\leftarrow \rightarrow←→D
1、L=(A);R=(E,F);LR=(B,C,D);N=空
A一定在候选码中,E、F一定不在候选码中。
由于A→C,AB→D,C→E,D→BF,所以AB→ABCDEF。
由于A→C,C→E,D→BF,所以AD→ABCDEF。
因此:候选码为AB,AD。非主属性为C,E,F.
2、由于A→C,D→BF,所以非主属性C,E,F部分依赖于码,不属于2NF.
分解为:R1=(A,C,E);R2=(D,F,B)
3、由于A→C,C→E,所以E传递依赖于码,不属于3NF。
分解为:R1=(A,C);R2=(C,E);R3=(D,F);R4=(D,B)
4、R1=(A,C),R2=(C,E),R3=(D,F),R4=(B,D).

总结:
找候选码和到BCNF的判断基本没有问题,但是对于多值依赖和4NF,具体意义的可以理解,抽象的有点理解不了,在分解规范化的时候容易出现问题。

数据库作业15:第六章: 关系数据理论 总结+习题相关推荐

  1. 《数据库系统概论》第六章 关系数据理论

    第六章 关系数据理论 1.函数依赖的定义:设R(U)是属性集U上的关系模式,X,Y是U的子集,且对于R(U)上任意一个可能的关系r,r中不存在两个不同的Y对应于相同的X的情况,则称Y函数依赖于X,记作 ...

  2. (数据库系统概论|王珊)第六章关系数据理论-第一节:为什么要研究关系数据理论

    文章目录 一:概念回顾:关系模式 二:数据依赖 三:一个例子:不遵循关系数据理论导致的问题 一句话,研究关系数据库理论就是为了设计出合适的关系模式,也即合适.高效的表 一:概念回顾:关系模式 相关文章 ...

  3. 数据库系统概论--第六章 关系数据理论

    问题的提出 一个关系模式应该是一个五元组:R(U,D,DOM,F) 这里: 关系名R是符号化 的元组语义. U为一组属性. D为属性组U中华的属性所来自的域. DOM为属性到域的映射. F为属性组U上 ...

  4. 第6章 关系数据理论—范式的介绍

    第6章 关系数据理论-范式的介绍 本文全部内容来自数据库系统概论(第5版)-王珊.萨师煊著 部分函数依赖图,出于自己的理解,如有错误,请大家评论指正! 范式:关系数据库中需要满足的一定要求的规范形式. ...

  5. 第6章 关系数据理论—多值依赖和4NF

    第6章 关系数据理论-多值依赖和4NF 本篇文章全部内容来自数据库系统概论第五版-王珊.萨师煊著. 这是对自己学习的总结,如有错误,请大家指正,一起进步! 1.多值依赖 例:学校某一门课程由多个教授讲 ...

  6. 第6章 关系数据理论 习题6

    (一)大家根据自己了解的.所使用的.所设计的数据库系统,举例说明以下术语的定义(可查阅相关材料),要求理解并熟练掌握. 1.函数依赖 设R(U)是一个属性集U上的关系模式,X和Y是U的子集.若对于R( ...

  7. 第4章 关系数据理论

    以下图片来自西安交通大学侯迪老师的ppt,仅供学习和复习使用,请勿转载或他用 4.1 数据依赖 数据依赖 通过关系中属性间值的相等与否体现出的数据间的相互依存和制约关系: 是对现实世界中事物间相互联系 ...

  8. 数据库复试--关系数据理论(主观题)

    第五章 关系数据理论 1. 在关系模式R(D,E,G)中,存在函数依赖关系{E→D,(D,G)→E},则候选码是__________,关系模式R(D,E,G)属于____________. 正确答案: ...

  9. 【数据库原理及应用】经典题库附答案(14章全)——第五章:关系数据理论

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

最新文章

  1. SecureCRT中sqlplus,使用Backspace删除时 ^H^H
  2. 我可以在同一页面上使用多个版本的jQuery吗?
  3. 通过数据库绑定的dropdownlist,如何让其第一条默认显示--请选择--
  4. boost::geometry::strategy::distance::pythagoras_point_box用法的测试程序
  5. mysql event使用,用MySQL的Event设置定时任务执行sql语句 | 老疯子
  6. 95-110-022-源码-Env-LocalStreamEnvironment
  7. 2MyBatis入门--深入浅出MyBatis技术原理与实践(笔记)
  8. 为什么真正的神经元学得更快
  9. 开发者硬核福利!极光可信数据云来了
  10. 元件怎么反转_电气图纸怎么看?三分钟教你学会看懂,受用一生
  11. easyui中datagrid空数据集不刷新的解决方式
  12. tomcat出现5个using_婚姻出现危机的8个迹象,日常5个细节促进夫妻情感
  13. smart210 资源
  14. Snagit--高难度、多功能截图,有了它截图不求人!
  15. 十分钟快速自制CMSIS_DAP仿真器~将ST-LINK-V2变身DAP仿真器~
  16. 乐橙tp1 html调用,乐橙TP1的妙用
  17. 初识htpp与tcp
  18. MoviePy - 中文文档4-MoviePy实战案例-追踪人脸,打马赛克
  19. InternalError: Failed to create session.錯誤及解決方式
  20. Ar详细制作发布流程

热门文章

  1. NOKIA 6681 现在发不了短信 如何从装系统?
  2. 献给阿尔吉侬的花束 BFS(JAVA题解)
  3. 使用Python进行网站页面开发——HTML
  4. 微信小程序城市选择--iview weapp组件
  5. AWS IoT, 今天你连了吗?
  6. python输出到文件乱码_解决python解析文件时输出乱码
  7. PW7152芯片,一款基于 CMOS 的双节可充电锂电池保护电路
  8. Vue获取表格值和超链接
  9. 一个不会翻转二叉树的大神
  10. 发现了一个很好的搜索引擎