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='天津'));
评分标准:
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='天津'))
三层嵌套各1分,各嵌套内有错误则该项均不给分。
(5)参考答案:
UPDATE P SET COLOR='蓝' WHERE COLOR='红';
评分标准: UPDATE P 0.5分;SET COLOR='蓝'1分;WHERE COLOR='红'0.5分。
(6)参考答案:
INSERT INTO SPJ VALUES('S2','P4','J6',400);
评分标准:
INSERT INTO SPJ1分;VALUES('S2','P4','J6',400)1分。 2、参考答案:
(1) 关系STUDENT是1NF,因为F中存在非主属性SNAME,SDEPT,
MNAME对侯选码(S#,CNAME)的部分函数依赖。
11
(2)
① 首先消除部分函数依赖(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#为候选码, R11的函数依赖集为:
F11 = { S#→SNAME,SDEPT}
R12(SDEPT,MNAME) ,SDEPT为候选码,
R12的函数依赖集为:
F12 = { SDEPT→MNAME}
在R2、R11、R12关系模式中函数依赖都是非平凡的,并且决定因素均是候选码,所以上述三个关系模式均是BCNF。 评分标准:
(1)正确指明R∈1NF(1分);正确说明R∈1NF的理由(2分)。
(2)首先正确将R分解为R1(S#,SNAME,SDEPT,MNAME)(2分)和R2(S#,CNAME,GRADE)(1分),再将R1正确分解为R11(S#,SNAME,SDEPT)(2分)和R12(SDEPT,MNAME)(2分),分解过程的叙述斟情扣分。
五、综合题
参考答案: 聘用
(1)本题的E-R图如下图所示。
工产编号 厂名 m 地址 产品编号 n 生产 产品名 规格 工厂 产品 1 计划数量 聘期 工资 12 n 职工
(2)转化后的关系模式如下:
工厂(工厂编号,厂名,地址)
产品(产品编号,产品名,规格)
职工(职工号,姓名,工产编号,聘期,工资) 生产(工产编号,产品编号,计划数量)
(3)每个关系模式的主码、外码如下:
工厂:主码是工产编号;
产品:主码是产品编号;
职工:职工号,外码是工厂编号; 生产:主码是(工产编号,产品编号), 外码是工产编号、产品编号。 评分标准:
(1)三个实体型工厂、产品、职工各1分,属性漏写、错写不给分;两个联
系各1分,名称一定要表达联系含义,联系类型错误不给分,属性漏写不给分。 (2)转化后的工厂关系模式、产品关系模式、生产关系模式各1分,有一个
属性不正确均不给分,职工关系模式2分。 (3)工厂:主码是工产编号(0.5分),无外码(0.5分); 产品:主码是产品编号(0.5分),无外码(0.5分); 职工:主码职工号(0.5分),外码是工厂编号(0.5分); 生产:主码是(工产编号,产品编号)(1分), 外码是工产编号(0.5分)、产品编号(0.5分)。
13