数据库课后习题答案
- 格式:doc
- 大小:324.00 KB
- 文档页数:10
P103
第十题
(3)SELECT 职工号,姓名
FROM 职工WHERE 职工号IN (SELECT 职工号
FROM 参加WHERE 编号IN (SELECT 编号FROM 社会团体WHERE 名称='唱歌队' OR 名称=‘篮球队’))
(4)SELECT *
FROM 职工
WHERE 职工号NOT IN (SELECT 职工号FROM 参加)
(5)SELECT *
FROM 职工
WHERE NOT EXISTS (SELECT *
FROM 社团WHERE NOT EXISTS(SELECT *
FROM 参加WHERE 职工.职工号=职工号AND 社团.编号=编号))
(6)SELECT *
FROM 职工
WHERE NOT EXISTS (SELECT *
FROM 参加 A
Where A.职工号=‘1001’and not exists
(select *
From 参加B
Where 职工.职工号=B.职工号and A.编号=B.编号))
(7)select 编号,count(职工号)as 人数
From 参加
Group by 编号
(8)select 名称from 社团, 参加
Group by 编号having count(*)>=all(select count(职工号)
From 参加Group by 编号)
select Cno,Cname
from Course
where Cno in (select Cno
from elective
Group by o having count(*)>=all(select count(Sno)
From elective Group by Cno ))
(9)select 名称,负责人
From 社团
Where 编号in (select 编号
From 参加
Group by 编号having count(职工号)>100)(10)
Grant select,insert, delete on table 社团,参加to 李平with grant option 11\
(1)select 姓名,联系电话
From 供应商
Where 所在城市=‘天津’
(2)
Select *
From 工程
Where 预算>=50000 and 预算<=1000000
Order by 预算DESC
(3)
select 工程代码
From 供应零件
Where 供应商代码=‘S1’(4)select 零件名,数量
From 零件,供应零件
Where 零件代码in (select 零件代码
From 供应零件
Where 工程代码=‘J2’)(5)select 零件代码
From 供应商
Where 供应商代码in (select 供应商代码
From 供应商
Where 所在城市=‘上海’)(6)select 工程名
From 工程
Where 工程代号in (select 工程代码
From 供应零件
Where 零件代号in (select 零件代号
From 零件
Where 产地=‘上海’))(7)select 工程代号
From 供应零件
Where 零件代号not in (select 零件代号
From 零件
Where 产地=‘天津’)
Select 工程代号
From 供应零件
Where not exists (select *
From 零件
Where 供应零件.零件代码=零件代码and 产地=‘天津’)(8)update 零件
Set 颜色=‘蓝色’
Where 零件代码in (select 零件代码
From 零件
Where 颜色=‘红色’)
12.(6)select学号,姓名
From 学生
Where 学号in (select 学号
From 选课
Group by 学号having count(课程号)>=3) select Sno, Sname
From Student
Where Sno in (select Sno
From elective
Group by Sno having count(Cno)>=3)
(7) select学号,姓名
From 学生
Where 学号in (select 学号,sum(
From 选课,课程
Where 选课.课程号= 课程.课程号
Group by 学号having sum(学分)>30) (8)Update 选课
Set 成绩=成绩*1.2
Where 课程号in (select 课程号
From 课程
Where 课程名=‘数据库’)and 成绩<60 (9)delete from选课where 学号in (select 学号
From 选课
Where 成绩<60 and 课程号in (select 课程号
From 课程
Where 课程名=‘数据库’))
1、已知学生关系模式
S(Sno,Sname,SD,Sdname,Course,Grade)
其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。
(1)写出关系模式S的基本函数依赖和主码。
(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?
(3)将关系模式分解成3NF,并说明为什么?
(1)写出关系模式S的基本函数依赖和主码。
答: 关系模式S的基本函数依赖如下:
Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course) →Grade
关系模式S的码为:(Sno,Course)。
(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?
答: 原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。
消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:
S1(Sno,Sname,SD,Sdname)、S2(Sno,Course,Grade)
(3)将关系模式分解成3NF,并说明为什么?
答: 将上述关系模式分解成3NF如下:
关系模式S1中存在Sno→SD,SD→Sdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。进一步分解如下: