1. (其它)
设有关系模式 R (A,B,C, D),F = {A→B,B→A,AC→D, BC→D, AD→C, BD→C}。(1) 找出关系的候选码。 (2) R 是否满足 BCNF? 为什么? (3) R 是否满足 3NF? 为什么?
(1)关系的候选码为:AC、AD、BC、BD;
(2)R不满足BCNF,BCNF要求在 3NF 的基础上消除了主属性对候选键的部分依赖或者传递依赖关系;
(3)R满足3NF,因为关系不存在非主属性(3NF要求不存在非主属性对候选码的传递函数依赖);
2. (其它)
关系模式 R<U, F>,U=ABCDE, F = {A→BC, CD→ Eꎬ,E→ A, B→D}。 (1) 找出 R 的候选码。(2) R 最高属于第几范式。
(1)关系R的候选码为:A、E、BC、CD;
(2)3NF,因为关系B->D中,B不包含候选码,所以不是BCNF,没有非主属性,所以是3NF;
3. (其它)
设关系模式 R ( Sno, Cno,G, Tname,Taddr), 其中 Sno: 学号, Cno: 课程编号,G: 成绩,Tname: 老师姓名, Taddr: 老师住址,规定每个学生每学一门课有一个成绩, 每 门课只有一个老师任教, 每个老师只有一个住址 (老师无同名),写出基本的函数依赖和候 选码, 并分解 R 为 3NF。
(1)基本的函数依赖:
Sno,Cno->G
Cno->Tname
Tname->Taddr
候选码:(Sno,Cno)
(2)分解R为3NF:
R1(Sno,Cno,G)
R2(Cno,Tname)
R3(Tname,Taddr)
4. (其它)
设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息;如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作;每个部门只有一个经理;
试回答下列问题:
(1) 根据上述规定,写出模式R的基本函数依赖和关键码;
(2) 说明R不是2NF的理由,并把R分解成2NF模式集;
(3) 进而分解成3NF模式集。
(1)R的基本函数依赖:
职工编号,日期->日营业额、职员编号->部门名、部门名->部门经理;
关键码:
(职员编号,日期)
(2)说明R不是2NF的理由:
候选码:职工编号,日期->部门名,但是存在非主属性对候选码的部分函数依赖:职工编号->部门名,所以R不是2NF;
把R分解成2NF模式集:
R1(职工编号,日期,日营业额)
R2(职工编号,部门名,部门经理)
(3)进而分解成3NF模式集:
R1(职工编号,日期,日营业额)
R2(职工编号,部门名)
R3(部门名,部门经理)