数据库复习资料(3)

2018-12-24 00:12

(1).检索所有定价超过20元的书名。

答案:SELECT书名FROM图书WHERE定价>20

(2). 统计每个出版社图书的平均定价。

答案:SELECT出版社编号,AVG(定价)FROM图书GROUP BY出版社编

(3). 将科学出版社的所有图书定价下调5%。

答案:UPDATE图书SET定价=定价*0.95WHERE出版社编号IN(SELECT

出版社编号FROM出版社WHERE出版社名称=\科学\) 【说明】WHERE出版社名称LIKE\科学\也正确。

(4). 列出所有图书的书名、第一作者姓名和出版社名称。

答案:SELECT书名,姓名,出版社名称 FROM出版社A,图书B,作者C,

著书DWHEREA.出版社编号=B.出版社编号ANDB.图书编号=D.图书编号ANDC.作者编号=D.作者编号AND作者排序=1。

2、设有如下3个关系模式:

职工 EMP(职工号,姓名,性别,出生年月) 工程 PRJ(工程编号,工程名称,预算) 报酬 SAL(职工号,工程编号,工资) 用SQL语句,完成第(1)-(6)题。

(1).创建“报酬”表,其中主码为“职工号,工程编号”,外码为“职工号”

和“工程编号”

(2).按照职工号统计每个职工的总收入。

SELECT SUM(工资) FROM PRJ GROUP BY 职工号 (3).检索所有预算超过100万的工程的情况。

SELECT * FROM PRJ WHERE 预算>100 (4).将参加了101号工程的职工工资提高10%。

UPDATE SAL SET 工资 = 工资*1.1 WHERE 工程编号 = '101' (5).创建一个查询职工承担工程的视图VPS,VPS包括职工号、姓名、工程

名称和工资属性。 CREATE VIEW VPS

AS

SELECT EMP.职工号,EMP.姓名,PRJ.工程名,SAL.工资 FROM

EMP,PRJ,SAL WHERE SAL.职工号=EMP.职工号 AND SAL.工程编号 = PRJ.工程编号

(6).将“报酬”表的查询权限授给用户王红。 3、在供应商、零件数据库中有以下3个关系模式:

供应商:S(SNO,SNAME,CITY,STATUS) 零件:P(PNO,PNAME,WEIGHT,COLOR,CITY) 供应货:SP(SNO,PNO,QTY)

供应货关系SP表示某供应商SNO,供应了PNO零件,数量为QTY。 用SQL语言完成以下操作: (1) 求供应红色零件的供应商名字;

select SNAME from S where SNO = (SELECT SNO FROM SP WHERE PNO = (SELECT PNO FROM P WHERE COLOR = '红色'))

(2) 求北京供应商的号码、名字和状况(STATUS);

select SNO,SNAME,STATUS where CITY = '北京'

(3) 求零件P2的总供应量;

select count(WEIGHT) from P where PNO = 'P2'

(4) 把零件P2的重量增加5公斤,颜色该为黄色。

update P set WEIGHT = WEIGHT +5,COLOR = '黄色' WHERE PNO = 'P2' (5) 统计每个供应商供应的项目总数。

SELECT COUNT (PNO) FROM SP GROUP BY SNO 4、有3个关系模式如下:

学生 S(S#,Sname,Age,Sex) 学习 SC(S#,C#,Score)

课程 C(C#,Cname,Credit,Teacher) 试用SQL表达下列问题:

(1) 检索JIANG老师所授课程的课程号和课程名。

select C#,Cname from C where Teacher = 'JIANG'

(2) 检索年龄大于23岁的男学生的学号和姓名。

select S#,Sname from S where Age >23 and Sex = '男'

(3) 检索WANG同学不学的课程的课程号。

select C# from SC where C# not in(select C# from SC where S# in (select S# from S where Sname ='WANG')) (4) 统计每门课程的平均成绩。

select avg(Score) from SC group by C# (5) 修改“数据库原理”的学分,改为4学分。

update CS set Score = '4' where C# = (select C# from C where Cname = '数据库原理') 这个题目不明确,你要改的学分是哪个?是课表里面的学分吗?

update C set Credit = '4' where Cname = '数据库原理'

(6) 创建一个查询学生成绩的视图VSC,VSC包括学生号(S#)、学生姓名(Sname)、

课程名称(Cname)和成绩(Score)

create view VSC as

select S.S#,S.Sname,C.Cname,Score from S,C,SC where S.S# = SC.S# and C.C#=SC.C# 5、现有如下关系:

职工(职工号,姓名,性别,职务,家庭地址,部门编号) 部门(部门编号,部门名称,地址,电话)

保健(保健卡编号,职工号,检查身体日期,健康状况) 用SQL语句完成下列问题:

(1).查找所有女科长的姓名和家庭地址;

select 姓名,家庭地址 from 职工 where 职务 = '科长' and 性别 = '女'

(2).统计“财务科”中健康状况为“良好”的职工人数。

select count (a.职工号) from 职工 a,部门 b,保健 c where a.部门编号=b.部门编号 and a.职工号=c.职工号 and b.部门名称='财务科' and c.健康状况='良好'

(3).删除“销售处”职工在职工关系中的记录;

delete from 职工 where 部门编码 in (select 部门编号 from 部门 where 部门名称 = '销售处') go

delete from 保健 where 职工号 in (select 职工号 from 职工 where 部门编号 in (select 部门编号 from 部门 where 部门名称 = '销售处'))

(4).将职工号为“3061”的职工的健康状况改为“一般”;

update 保健 set 健康状况 = '一般' where 职工号 = '3061'

(5).建立健康状况为“差”的职工的视图。

create view \差\as

select * from 职工 where 职工号 = (select 职工号 from 保健 where 健康状况 = '差')

三、分析题

1、设关系模式 R ( A , B , C ), F={AC → B , AB → C , B → C } ,则 R 最高属于第几范式?说明理由。 2、

设有如下关系R

教师名 马千里 于得水 余快 于得水 教师地址 D1 D1 D2 D1 课程名 C1 C2 C3 C4 (1) 该关系为第几范式? 为什么? (2) 如何将它分解为高一级范式?

它为第几范式? 为什么? 解:它是2NF。

因为R的候选关键字为“课程名”。

依赖关系: 课程名→教师名,教师名 → 课程名,教师名→教师地址,所以 课程名→教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。 是否存在删除操作异常?若存在,则说明是在什么情况下发生的? 解: 存在。当删除某门课程时会删除不该删除的教师的有关信息。

将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?

解: 分解为高一级范式如图所示。

R1如下: R2如下:

课程名 C1 C2 C3 C4 教师名 马千里 于得水 余快 于得水 教师名 马千里 于得水 余快 教师地址 D1 D1 D2 分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。

3、如下图给出的关系SC为第几范式?是否存在插入、删除异常?若存在,则说明是在什么情况下发生?发生的原因是什么?如何将它分解,分解后的关系能否解决操作异常问题? 表SC如下: SNO 80152 80153 80154 80154 80155 CNO C1 C2 C1 C3 C4 CTITLE OS DB OS AI CL INAME 王平 高升 王平 杨杨 高升 ILOCA D1 D2 D1 D3 D2 GRADE 70 85 86 72 92 其中:SNO为学号,CNO为课程号,CTITLE为课程名,INAME为教师名,

ILOCA为教师地址,GRADE为成绩

解:SC为1NF。

它存在插入、删除异常操作。当增设一门新课程时,因还没有学生选修,则缺少关键字的一部分SNO而不能执行插入操作;当所有学生退选某门课程而进行删除操作时,会将不法删除的课程信息删除。

SC关系中存在插入和删除操作异常的原因在于,该关系的候选关键字为(SNO,CN0),其中仅有非属性GRADE完全函数依赖于(SNO,CNO),其他非主属性CTITLE、INAME、ILOCA都只函数依赖于CNO,即它们与(SNO,CNO)为部分函数依赖关系。分解后的关系模式如下:

SG 如下: SNO 0152 80153 80154 80154 80155 CNO C1 C2 C1 C3 C4 GRADE 70 85 86 72 95


数据库复习资料(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:『新课程教育网』版权所有-初三化学专项练习实验与探究题doc〖全

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: