![](https://csdnimg.cn/release/download_crawler_static/86178625/bg6.jpg)
SPJ.JNO=J.JNO AND
CITY='天津');
或 SELECT JNO
FROM J
WHERE NOT EXISTS
(SELECT *
FROM SPJ
WHERE SPJ.JNO=J.JNO AND EXISTS
(SELECT *
FROM S
WHERE S.SNO=SPJ.SNO AND CITY='天津'));
(5)用 SQL 语句将全部红色零件改为蓝色;(2 分)
UPDATE P SET COLOR='蓝' WHERE COLOR='红';
(6)用 SQL 语句将(S2,P4,J6,400)插入供应情况关系。(2 分)
INSERT INTO SPJ VALUES('S2','P4','J6',400);
2. 设有关系 STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),(S#,CNAME)为候选码,设关
系中有如下函数依赖:
(S#,CNAME)→SNAME,SDEPT,MNAME
S#→SNAME,SDEPT,MNAME
(S#,CNAME)→GRADE
SDEPT→MNAME
试求下列问题:
(1)关系 STUDENT 属于第几范式?并说明理由。(3 分)
关系 STUDENT 是 1NF,因为 F 中存在非主属性 SNAME,SDEPT,MNAME 对侯选码(S#,CNAME)
的部分函数依赖。
(2)如果关系 STUDENT 不属于 BCNF,请将关系 STUDENT 逐步分解为巧
BCNF。(7 分)
要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。
① 首 先 消 除 部 分 函 数 依 赖 ( S#,CNAME ) → SNAME,SDEPT,MNAME 将 关 系 分 解 为 :
R1(S#,SNAME,SDEPT,MNAME),S#为候选码,
R1 的函数依赖集为:
F1 = { S#→SNAME,SDEPT,MNAME,SDEPT→MNAME}
R2(S#,CNAME,GRADE),S#为候选码,
R2 的函数依赖集为:
F2={(S#,CNAME)→GRADE}
② 在关系 R1 中存在非主属性 MNAME 对候选码 S#的传递函数依赖 S#→MNAME,所以将 R1
进一步分解:
R11(S#,SNAME,SDEPT) ,S#为候选码,