数据库习题答案.docx

上传人:b****9 文档编号:23421386 上传时间:2023-05-16 格式:DOCX 页数:12 大小:41.22KB
下载 相关 举报
数据库习题答案.docx_第1页
第1页 / 共12页
数据库习题答案.docx_第2页
第2页 / 共12页
数据库习题答案.docx_第3页
第3页 / 共12页
数据库习题答案.docx_第4页
第4页 / 共12页
数据库习题答案.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据库习题答案.docx

《数据库习题答案.docx》由会员分享,可在线阅读,更多相关《数据库习题答案.docx(12页珍藏版)》请在冰豆网上搜索。

数据库习题答案.docx

数据库习题答案

第四章

第七题

(1)市场部所有职工的视图。

createviewsc_employee职工号,姓名,工资)

as

select职工号,姓名,工资

from职工

where部门号in

(select部门号from部门where部门名=‘市场部’)

⑵所有部门经理的视图。

createviewManager职工号,姓名,工资)

as

select职工.职工号,姓名,工资

from职工,部门

where职工.职工号=部门•部门经理职工号

第八题

1.查询姓李的男同学的人数。

selectcount(sno)

fromstudent

wheresnamelike李%'andssex=^f'

2.查询003号课程的最低分

selectmin(grade)

fromsc

whereeno二003'

3.查询每位同学的平均分。

selectsno,avg(grade)

fromse

groupbysno

4.查询每位同学选修的课程门数。

selectsno,count(cno)

fromsc

groupbysno

5.查询总分最高的学生的学号

selecttop1sno,sum(grade)

fromsc

groupbysno

orderbysum(grade)desc

或者

selectsno,sum(grade)

fromsc

groupbysno

havingsum(grade)=

(selecttop1sum(grade)

fromsc

groupbysnoorderbysum(grade)desc

6.查询至少选修三门课程的学生学号

selectsno

fromsc

groupbysno

havingcount(cno)>=3

7.统计有学生选修的课程门数

selectcount(distineteno)

fromsc

8统计每门课程的学生选修人数(超过20人的课程才统计)。

要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列

SELECTcno,COUNT(sno)

FROMsc

GROUPBYeno

HAVINGCOUNT(sno)>=20

ORDERBYCOUNT(sno)DESC,cno

9.查询数据库原理与应用80分以上的同学的姓名

SELECTsname

WHEREcname=数据库原理与应用’ANDgrade>0

ANDstudent.sno二sc.snoANDcourse.cno二sc.cno

10•查询每门课程的课程名及选修人数

SELECTcname,COUNT(sno)

FROMsc,course

WHEREsc.cno二course.cno

GROUPBYcname

11.查询总学分已超过30学分的学生学号、姓名、总学分

SELECTstudent.sno,sname,SUM(ccredit)

FROMstudent,course,sc

WHEREstudent.sno二sc.snoANDcourse.cno二sc.cno

GROUPBYsname,student.sno

HAVINGSUM(ccredit)>=30

12.查询张明同学没有选修的课程号

selecteno

fromcourse

whereenonotin

(selecteno

fromsc

wheresnoin

fromstudent

wheresname二张明'))

13•查询选修课程包含李慧老师所授课程的学生学号

SELECTSno

FROMStudent

WHERENOTEXISTS

(SELECT*

FROMcourse

WHEREtname二李慧’AND

NOTEXISTS

(SELECT*

FROMSC

WHERESno二Student.SnoAND

Cno二course.Cno))

14.查询选修008号课程的学生的平均年龄

SELECTAVG(sage)

FROMstudent,sc

WHEREstudent.sno二sc.snoANDcno=008'‘

15•查询李慧老师讲授的每门课程的学生平均成绩

SELECTcname,A/G(grade)

WHEREcourse.cno二sc.cnoANDtname二李慧

GROUPBYcname

第九题

1、向Student表增加一条记录

INSERTINTOStudent

VALUER'021710146','王飞’,’男’,22,'计算机’)

2、在student表中删除李明同学的信息

DELETE

FROMStudent

WHERESname^明’

3、查询每一门课程成绩都在80分以上的学生学号、姓名和性别,并

把查询结果存入表Student2(Sno,SnameSsex)

INSERTINTOStudent2(Sno,Sname,Ssex)

SELECTStudent.Sno,Sname,Ssex

FROMStudent,Sc

WHEREstudent.sno二sc.sno

GROUPBYStudent.Sno,Sname,Ssex

HAVINGMIN(Grade)>=80

4、在Sc中删除成绩为空的元组

DELETEFROMSc

WHEREGradeISNULL

5、删除王娜同学的选课记录

DELETEFROMSc

WHERESnoIN(

SELECTSno

FROMStudent

WHERESname=e娜’)

6、把选修数据库不及格的成绩全改为空值

UPDATESc

SETGrade二NULL

WHEREGrade<60ANDCnoIN

(SELECTCno

FROMCourse

WHERECname=数据库’

10%

7、把低于总平均成绩的女同学成绩提高

UPDATESc

SETGrade二Grade*1.1

WHERESnoIN(

SELECTSno

FROMStudent

WHERESsex=女’)

ANDGrade<

(SELECTAVG(Grade)

8在基本表sc中修改005号课程的成绩,若成绩小于等于75分时

提高5%

UPDATESc

SETGrade二Grade*(1+0.05)

WHEREGrade<=75ANDCn6=005'

第五章

第三题

createtable顾客

(顾客编号char(15)primarykey,

姓名char(12),

性别char

(2),

联系电话char(11)

createtable商店

(商店编号char(10)primarykey,

商店名char(20),

地址char(30),

电话char(20)

)createtable购买

(顾客编号char(15)foreignkeyreferences顾客(顾客编号),

商店编号char(10)foreignkeyreferences商店(商店编号),消费金额float,

日期datetime,

primarykey(顾客编号,商店编号,日期)

第六章作业

1•统计某门课学生的平均分,如果平均分在70以上,输出前三名学生成绩;如果平均分在70以下,输出后三名学生成绩。

(IF…EISE)if(selectavg(grade)fromscwhereeno二'005')>70

selecttop3grade

fromsc

whereeno二'005'

orderbygradedesc

else

selecttop3grade

fromsc

whereeno二'005'

orderbygrade

2•将学生的成绩改为ABCDE五级制。

(CASE)

selectsno,casewhengrade>=90then'A'

whengrade>=80then'B'

whengrade>=70thenC

whengrade>=60then'D'

else'E'

end

fromsc

第七章(推导的作业略)

第六题(求闭包的过程略)

1•关系模式R的候选码是AB,主属性是A和B,非主属性是C和D2•存在A-D,即非主属性对候选码的部分函数依赖,因此只能达到第一范式1NF。

第七题(求闭包的过程略)

1•关系模式R的候选码是C,主属性是C,非主属性是A和B。

2•因为候选码中只有一个属性,因此肯定达到第二范式2NF。

3存在C-B,B-A,即非主属性对候选码的传递函数依赖,因此只能达到第二范式2NF。

第八题

1•首先分解右端,分解为{A-B,A-C,B-A,B-C,C-A}

2•逐个函数依赖分析

(1)去掉A—B,F变为G={A—C,B—A,B—C,C—A},Af+=AC,不能去掉,F不变。

⑵去掉A—C,F变为G={A—B,B—A,B—C,C—A},Af+=ABC,可以去掉,F变为{A—B,B—A,B—C,C—A}。

⑶去掉B—A,F变为G={A—B,B—C,C—A},Bf+=ABC,可以去掉,F变为{A—B,B—C,C—A}。

⑷去掉B—C,F变为G={A—B,C—A},Bf+=B,不能去掉,F不变。

(5)去掉C—A,F变为G={A—B,B—C},Cf+=C,不能去掉,F不变。

最小函数依赖集为{A—B,B—C,C—A}。

第八章

第三题

商店(商店编号,商店名,地址,电话)购物(顾客编号,商店名称,日期,消费金额)

第四题

转化后的关系模式如下:

工厂(工厂编号,厂名,地址)

产品(产品编号,产品名,规格)

职工(职工号,姓名,工厂编号,聘期,工资)

生产(工厂编号,产品编号,计划数量)

每个关系模式的主码如下:

工厂:

主码是工厂编号;

产品:

主码是产品编号;

职工:

主码是职工号;外码是工厂编号;

生产:

主码是(工厂编号,产品编号);外码1是工厂编号,外码2是产品编号。

Whenyouareoldandgreyandfullofsleep,

Andnoddingbythefire,takedownthisbook,

Andslowlyread,anddreamofthesoftlook

Youreyeshadonce,andoftheirshadowsdeep;

Howmanylovedyourmomentsofgladgrace,

Andlovedyourbeautywithlovefalseortrue,

Butonemanlovedthepilgrimsoulinyou,

Andlovedthesorrowsofyourchangingface;

Andbendingdownbesidetheglowingbars,

Murmur,alittlesadly,howlovefled

Andpaceduponthemountainsoverhead

Andhidhisfaceamidacrowdofstars.

Thefurthestdistaneeintheworld

Isnotbetweenlifeanddeath

ButwhenIstandinfrontofyou

Yetyoudon'tknowthat

Iloveyou.

Thefurthestdistaneeintheworld

IsnotwhenIstandinfrontofyou

Yetyoucan'tseemylove

Yetcannotbetogether.

Thefurthestdistaneeintheworld

Isnotbeingapartwhilebeinginlove

ButwhenIplainlycannotresisttheyearning

Yetpretendingyouhaveneverbeeninmyheart.

Thefurthestdistaneeintheworld

Isnotstrugglingagainstthetides

Butusingone'sindifferentheart

Todiganuncrossableriver

Fortheonewholovesyou.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1