原因:存在对码的冗余依赖。Sdept、 Sloc部分函数依赖于码。
解决方法:S-L-C分解为两个关系模式,以消除这些部分函数依赖
SC(Sno, Cno, Grade) S-L(Sno, Sdept, Sloc)
2、2NF;若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF
简而言之,第二范式就是每一行被码唯一标识
例:S-L-C(Sno, Sdept, Sloc, Cno, Grade) ∈1NF
S-L-C(Sno, Sdept, Sloc, Cno, Grade) ∈2NF
SC(Sno, Cno, Grade) ∈ 2NF
S-L(Sno, Sdept, Sloc) ∈ 2NF
采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。但将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。
3、3NF:关系模式R<U,F> 中若不存在这样的码X、属性组Y及非主属性Z(Z Í Y), 使得X→Y, Y → X, Y→Z成立,即
每个非主属性都不传递依赖于R的码,则称R<U,F> ∈ 3NF。若R∈3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。
简而言之,第三范式(3NF)要求一个数据库表中不能包含其它表中已包含的非码信息。
例:S-L(Sno, Sdept, Sloc) ∈ 2NF S-L(Sno, Sdept, Sloc) ∈ 3NF
S-D(Sno,Sdept) ∈ 3NF D-L(Sdept, Sloc)∈ 3NF
如果R∈3NF,则R也是2NF。
局部依赖和传递依赖是模式产生数据冗余和操作异常的两个重要原因。
由于3NF模式中不存在非主属性对候选码的局部依赖和传递依赖,因此一定程度上上解决原2NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题具有较好的性能。将一个2NF关系分解为多个3NF的关系后,仍然不能完全消除关系模式中的各种异常情况和数据冗余。
4、BC范式(BCNF):关系模式R<U,F>∈1NF,若X→Y且Y Í X时X必含有码,即每个属性都不传递依赖于R的码,则R<U,F> ∈BCNF。
等价于:每一个决定因素都包含码,即消除任何属性对码的部分和传递函数依赖
若R∈BCNF 所有非主属性对每一个码都是完全函数依赖;所有的主属性对每一个不包含它的码,也是完全函数依赖;没有任何属性完全函数依赖于非码属性。
R ∈BCNFR ∈3NF 。如果R∈3NF,且R只有一个候选码
R ∈BCNFR ∈3NF
例:关系模式S(
Sno,
Sname,Sdept,Sage)假定S有两个码Sno,Sname
S∈3NF S ∈ BCNF
例:系模式SJP(S,J,P) s 学生,J课程, P名次
函数依赖:(S,J)→P;(J,P)→S (S,J)与(J,P)都可以作为候选码,属性相交
SJP∈3NF,(不存在非主属性对码的部分和传递依赖)
SJP∈BCNF,(每个决定因素都包含码)
宋代著名词人辛弃疾和李清照都是济南人,字号中都有“安”字,于是后人将他们合称为“济南二安”。下列名句不出自二人的是:
A.生当作人杰,死亦为鬼雄
B.我看青山多妩媚,料青山见我应如是
C.枝上柳绵吹又少,天涯何处无芳草
D.众里寻他千百度,蓦然回首那人却在,灯火阑珊处
本题答案为C。该项是出自苏轼的名句。不过对于B项,可能很多考生没见过,实际上这是辛弃疾《贺新郎·甚矣吾衰矣》中的名句,这就要求我们尽量的多看,多积累,尤其对李清照和辛弃疾这两位古代文坛大咖的相关内容,更要深挖、细挖。
点击加载更多评论>>