数据库理论与技术实验报告2Word文件下载.docx

上传人:b****6 文档编号:15927942 上传时间:2022-11-17 格式:DOCX 页数:18 大小:1.56MB
下载 相关 举报
数据库理论与技术实验报告2Word文件下载.docx_第1页
第1页 / 共18页
数据库理论与技术实验报告2Word文件下载.docx_第2页
第2页 / 共18页
数据库理论与技术实验报告2Word文件下载.docx_第3页
第3页 / 共18页
数据库理论与技术实验报告2Word文件下载.docx_第4页
第4页 / 共18页
数据库理论与技术实验报告2Word文件下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

数据库理论与技术实验报告2Word文件下载.docx

《数据库理论与技术实验报告2Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库理论与技术实验报告2Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。

数据库理论与技术实验报告2Word文件下载.docx

1、实验目的:

深入理解连接查询和嵌套查询的语句格式、执行过程,掌握它们的使用方法;

理解数据更新语言INSERT、UPDATE、DELETE语句的格式和作用,掌握它们的使用方法和应用范围;

理解视图的概念,掌握其定义方法和应用方法。

2、实验要求:

在每次实验前,学生必须根据实验指导书设计出实验方案(程序和实验步骤);

在实验过程中要求独立进行程序调试和排错,学会使用在线帮助来解决实验中遇到的问题,同时运用理论的知识来分析问题和解决问题,记录下实验过程和结果。

上机结束后写出实验报告,并对实验过程进行分析和总结。

二、实验内容与步骤

1、在SQLSERVER2005上附加数据库jxgl和ReadBook。

2、在jxgl中完成下列查询

jxgl数据库中表及表中字段说明:

Students(sno,sname,class,ssex,bday,bplace,mgrade,photo,sfzh,zxf)

该表是学生基本信息表其中:

sno-学号,sname-姓名,class-班级,ssex-性别,

bday-出生日期,bplace-籍贯,mgrade-入学成绩,photo-照片,sfzh-身份证号码,

zxf-总学分

Course(cno,cname,cpno,credit)

该表是课程情况表其中:

cno-课程号,cname-课程名称,cpno-先修课程号,credit—学分

SC(term,sno,cno,grade,point)

该表是学生选课成绩表其中:

term-学期,sno-学号,cno-课程号,grade-成绩,point-绩点

TC(term,class,cno,tno,period)

该表是教师上课情况表其中:

list—序号,term-学期;

class-班级;

cno-课程号;

tno-教师编号;

period-学时

Teachers(tno,tname,ps,wday,dept,pay,marry,resume)

该表是教师基本情况表:

其中tno-教师编号;

tname-教师姓名;

ps-职称;

wday-入校日期;

dept-系别;

pay-工资;

marry-婚否;

resume-简历

要求:

以下

(1)~(9)查询要求写出每个查询的关系代数表达式(表达式书写如嫌麻烦,容许在打印稿上手工补写),相应的SQL语句及查询结果截屏。

这是对我们前一阶段学习的检验,希望每个同学认真做,很关键。

(1)查询选修课程学生的学号、姓名、所选课程号、课程名称以及所取得的成绩

SELECTSC.snoas学号,snameas姓名,SC.cnoas所选课程号,Cameas课程名,gradeas成绩

FromSC,Students,Course

WhereSC.sno=Students.snoandCo=SC.cno;

(2)查询每一门课程及其先修课程,查询结果中显示课程号、课程名和先修课程名

SELECTcnoas课程号,cnameas课程名,cpnoas先修课程名

FROMCourse;

(3)查询和“刘涛”在一个班级的学生的信息

思考:

该查询可用几种方法实现?

SELECT*

FROMStudents

Whereclassin(SELECTclassFROMStudentswheresname=’刘涛’);

 

(4)查询选修了‘计算机基础’课的学生的学号、姓名(分别用连接查询和嵌套查询的方法实现)SELECTsno,sname

WheresnoIN(SELECTsnoFROMSCWHEREcnoin(SELECTcnofromCourseWHEREcname=’计算机基础’));

(5)查询没有选修课程的学生的信息

WHEREsnoNOTIN(SELECTsnoFROMSC);

(6)查询其他班中比“03计算应用1”所有学生入学成绩高的学生的姓名和入学成绩(用两种方法实现)

SELECTsname,mgrade

Wheremgrade>

(SELECTmax(mgrade)fromStudentswhereclass=’03计算应用1’)andclass<

>

’03计算应用1’

(7)查询每个学生超过该门课程平均成绩的学号

SELECTdistinctsno

FromSCs2

Wheregrade>

(selectavg(grade)

FromSCs1

Whereo=o

Groupbycno)

(8)查询学生“0311102”选修课程的总学分

Selectsno

FromSCx

Wherenotexists

(selectcno

FromSCy

Wheresno=’0311102’andnotexists

(select*

FromSCz

Wherez.sno=x.snoando=o))

(9)查询既选修了“计算机基础”又选修了“C语言基础”的学生的学号

FromSC,Course

WhereSC.cno=Coandcname=’计算机基础’andsnoin

(selectsnofromSC,CoursewhereSC.cno>

Coandcname=’C语言基础’)

(10)同时显示students中学生以及teachers中教师的姓名、性别

Selectsname,ssex,Teachers.tname

FromStudents,Teachers

3、在jxgl中完成下列数据更新

(1)向course表添加一个新的元组。

(具体数据自拟,只要合法)

INSERTINTOcourse(cno,cname,cpno,ccredit)values('

0000038'

'

烹饪课'

001'

10'

(2)将“0301102”学生所选的“0000002”课程的成绩改为100分,绩点改为2

UpdateSCsetgrade=‘100’,point=‘2’wherecno=’0000002’

(3)删除

(1)中在course表中添加的记录

DELETEFROMCoursewherecno='

(4)统计每门课程的平均成绩并将统计结果存入到jxgl数据库中

如何将students表中班级名“03计算应用1”改为“03计算机应用1”

4、查询教师的编号、姓名、上课的课程号、课程名称及班级。

将该查询定义为一个视图。

createviewteacher_c(tno,tname,cno,cname,class)

asselectTC.tno,tname,TC.cno,cname,class

fromTeachers,TC,Course

WHERETeachers.tno=TC.tnoandTC.cno=Co

5、在第4题定义的视图中完成下列查询

(1)查询“姚明”所上课程和班级。

selectcname,class

fromteacher_c

wheretname='

姚明'

(2)统计每一位教师上课的数量

selecttno,tname,count(cno)as上课数量fromteacher_c

groupbytno,tname

6、[附加题,可不做,做了有加分]

附加题

(1)设计一个查询,要求用连接和嵌套两种方式完成。

查询读了”三重门”的读者的姓名

1.连接查询:

selectrname

fromreaders,L_R,BOOKS

wherereaders.rno=L_R.rnoandl_r.bookid=books.bookid

andbookname='

三重门'

2.嵌套查询:

fromreaders

wherernoin(selectrnofroml_r

wherebookidin(selectbookidfrombooks

wherebookname='

))

两种查询相同,结果如下:

(2)设计一个查询,要求用外连接的方式完成。

查询借过书的人的信息

select*

fromreadersrightouterjoinl_r

onreaders.rno=l_r.rno

(3)设计一个查询,要求用带exists或notexists相关子查询完成

查询王小丫借过的书名

查询结果如下:

(4)设计一个集合查询:

例如:

查询性别为男性或者spet='

信管'

的学生信息

(5)设计一个带复合条件连接的查询

查询每个学生借的书名字和他的姓名

(6)设计一个视图,并在该视图中完成添加、修改、删除数据的操作。

将查询学生的学号、姓名、性别、出生日期定义为一个视图。

CREATEVIEWreaders_students

asselectrno,rname,rsex,bday

fromreaders

添加一个学号为042011、姓名为李伟、性别为男、出生日期1986/7/70:

00:

00的学生的信息。

查询结果如下:

insertintoreaders_students(rno,rname,rsex,bday)

values('

04211'

李伟'

男'

1986/7/70:

00'

将学号为04201的学生姓名改为林丽

updatereaders_students

setrname='

林丽'

whererno='

04201'

(7)设计一个视图,并在该视图完成两个统计:

a.每位读者以及他的借书数量,按借书数量作降序排列b.每本书以及被借出的次数,按借出次数作降序排列

三、实验贡献情况(注意:

每个组员必须分开书写,组长分配每个组员的贡献值)

刘慧:

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

当前位置:首页 > PPT模板 > 卡通动漫

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

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