作业帮 > 数学 > 作业

对3NF关系进行投影,将消除原关系中主属性对码的部分与传递依赖,得到一组BCNF关系.

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/06/25 08:38:18
对3NF关系进行投影,将消除原关系中主属性对码的部分与传递依赖,得到一组BCNF关系.
这个我不是很明白,详细的讲下,顺便举个例子!
对3NF关系进行投影,将消除原关系中主属性对码的部分与传递依赖,得到一组BCNF关系.
关系模式R〈U,F〉∈1NF.若X→Y且YX时X必含有码,则R〈U,F>∈BCNF.
也就是说,关系模式R〈U,F〉中,若每一个决定因素都包含码,则R〈U,F>∈BCNF.
由BCNF的定义可以得到以下结论:
一个满足BCNF的关系模式有
1.所有非主属性对每一个码都是完全函数依赖.
2.所有的主属性对每一个不包含它的码,也是完全函数依赖.
3.没有任何属性完全函数依赖于非码的任何一组属性.
由于RBCNF,按定义排除了任何属性对码的传递依赖与部分依赖,所以R3NF.但是若R3NF,则R未必属于BCNF.
下面用几个例子说明属于3NF的关系模式有的属于BCNF,但有的不属于BCNF.
详细信息...
例l 关系模式SJP(S,J,P)中,S是学生,J表示课程,P表示名次.每一个学生选修每门课程的成绩有一定的名次,每门课程中每一名次只有一个学生(即没有并列名次).由语义可得到下面的函数依赖:
(S,J)→P ,(J,P)→S
所以(S,J)与(J,P)都可以作为候选码.这两个码各由两个属性组成,而且它们是相交的.这个关系模式中显然没有属性对码传递依赖或部分依赖.所以SJP3NF,而且除(S,J)与(J,P)以外没有其它决定因素,所以SJPBCNF.
例2 关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程.每一教师只教一门课.每门课有若干教师,某一学生选定某门课,就对应一个固定的教师.由语义可得到如下的函数依赖.
(S,J)→T;(S,T)→J;T→J.
这里(S,J),(S,T)都是候选码.
STJ是3NF,因为没有任何非主属性对码传递依赖或部分依赖.但STJ不是BCNF关系,因为T是决定因素,而T不包含码.
3NF的“不彻底”性表现在可能存在主属性对码的部分依赖和传递依赖.非BCNF的关系模式也可以通过分解成为BCNF.例如STJ可分解为ST(S,T)与TJ(T,J),它们都是BCNF.
一个模式中的关系模式如果都属于BCNF,那么在函数依赖范畴内,它已实现了彻底的分离,已消除了插入和删除的异常.