77范文网 - 专业文章范例文档资料分享平台

数据库 练习(附参考答案)

来源:网络收集 时间:2018-11-30 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

(答案不唯一,此篇仅供参考) 练习题:

1.某个学籍数据库有如下表结构:

学生(学号,姓名,性别,出生日期,班级) 课程(课程号,课程名称,课程类别,课时) 选课(学号,课程号,成绩) 请完成下列查询要求。

① 查询出“软件041”班的所有男生的学号和姓名。

select 学号, 姓名

from 学生

where 班级 = ‘软件041’ and 性别 = ‘男’

② 查询出课程名称中含有“语言”一词的课程的所有信息。

select *

from 课程

where 课程名称 like ‘%语言%’

③ 查询出“C语言”课程成绩前5名的学生的学号、姓名和班级。

select top 5 学生.学号, 姓名

from 学生, 课程, 选课

where 学生.学号 = 选课.学号 and 选课.课程号 = 课程.课程号

and 课程名称 = ‘C语言’

order by 成绩 desc ④ 查询出各班级学生人数。

select 班级, count(*)

from 学生 group by 班级

⑤ 查询出“计算机应用基础”课程成绩高于张三同学此门课程成绩的学生的学号和姓名。

select 学生.学号, 姓名

from 学生, 课程, 选课 where 学生.学号 = 选课.学号

and 课程名 = ‘计算机应用基础’

and 成绩 > (select 成绩 from 选课 where 学号 =

)

2.编写一个自定义函数,功能是求一个长方体的体积并调用此函数求长为3,宽为7,高为9的长方体的体积。

create function V( @length int, @width int, @hight int ) returns int as begin

( select 学号 from 学生 where 姓名 = ‘张三’)

declare @volume int

set @volume = @length * @width * @hight

1

end go --调用

declare @volume

select @volume = dbo.@volume( 3, 7, 9)

3.用T-SQL语句建立一个名为Student的数据库(数据文件名为Student_data,大小为10MB,最大值为50MB,增长度为5MB,日志文件名为Student_log,大小为5MB,最大值为25MB,增长度为10%,数据库的路径为D:\\Database)。 create database Student on ( ) log on ( )

4.创建触发器Stu_Insert,只要表StuTest表发生插入,先检查字段Sage是否大于18如果大于18则插入数据表StuTest中,否则不允许插入。 create trigger Stu_Insert on StuTest as begin

if (select Sage from inserted) > 18 Insert into StuTest

select * from inserted

else print ‘Sage 小于或等于18,不允许插入’ end

5.创建一个名为StuScore的视图,功能①查询StuInfo表中字段Sdept值为‘CS’并且字段Math、English、Computer的总分不低于240分的同学信息(包括字段Stu_Name,Stu_NO); ②具有检查功能。 create view StuScore

2

name = ‘Student_data’,

filename = ‘D:\\Database\\Student_data.mdf’, size = 10 MB, maxsize = 50 MB, filegrowth = 5 MB

name = ‘Student_log’,

filename = ‘D:\\Database\\Student_log.ldf’, size = 5 MB, maxsize = 25 MB, filegrowth = 10%

as

select Stu_Name, Stu_NO

from StuInfo where Sdept = ‘CS’

and Math + English + Computer !< 240

with check option

student表(学生表) 学号 1 2 3 姓名 李明 张然 许晴 性别 男 女 女 年龄 20 19 18 系别 计算机系 经管系 电子系

6.已知如下3个表:

course表(课程表) 课程号 1 2 3 学号 1 2 2 3 课程名 SQL Server VB 专业英语 课程号 1 1 2 3 学分 4 3 2 成绩 90 85 76 70 sc表(选课表) (1)把course表中课程号为2的课程的学分修改为4,然后在student表中查询年龄大于18的学生的所有信息,并按学号降序排列。 update course go select *

from student where 年龄 > 18 order by 学号 desc go

(2)在以上三个表中查询选的课程的“学分”为4,并且成绩大于80的学生的学号、姓名和性别。

select student.学号, 姓名, 性别

from student

where student.学号 = sc.学号

and course.课程号 = student.课程号 set 学分 = 4

where 课程号 = ‘2’

3

and 学分 = 4 and 成绩 > 80

(3)创建一存储过程getDetailByName,通过输入参数学生姓名(如“张然\),筛选出该学生的基本信息,对不存在此学生姓名的输入值,必须作一检测,打印信息“不存在此学生”。

create procedure getDetailByName @StuName char(8) as if exists (select * from student where 姓名 = @StuName) select * from student where 姓名 = @StuName else print ‘不存在此学生’

7.假设已经定义了学生表(表名为xs)(列包括学号 char(6),姓名 char(8),性别 bit,出生日期 datetime,专业 char(18))、课程表(kc)(列包括课程号 char(3),课程名 char(18))。(1)请写出xs表和kc表的联系表——选修表(表名xs_kc)的定义语句并定义参照完整性(xs_kc包含3列,第3列为成绩),并向数据库XSCJ中插入以下记录: 091101,张林,女,计算机 091102,刘明, 男,数学 091101,101,87 091101,102,98 101,数据库原理 102, SQL Server 2005 请同学们写出各条记录的SQL语句。 create table xs_kc ( ) go

insert into xs go

insert into xs go

insert into xs_kc

学号 char(6) not null, 课程号 char(3) not null, 成绩 float,

foreign key(学号) refrences xs(学号), foreign key(课程号) refrences kc(课程号)

values( ‘091101’, ‘张林’, ‘0’,null , ‘计算机’)

values( ‘091102’, ‘刘明’, ‘1’, null, ‘数学’)

values( ‘091101’, ‘101’, 87)

4

go

insert into xs_kc go

insert into kc go

insert into kc go

(2)用SQL语句实现以下功能:

① 查询XSCJ数据库XS表中计算机系的所有女同学的信息。 select *

from xs

where 性别 = ‘0’

and 专业 = ‘计算机’

values( ‘102’, ‘SQL Server 2005’) values( ‘101’, ‘数据库原理’) values( ‘091101’, ‘102’, 92)

② 求选修101课程的学生的平均成绩。 select avg(成绩)

from xs_kc

where 课程号 = ‘101’

③ 更新xs_kc表中所有成绩,更新后的成绩为原成绩的80%。 update xs_kc

set 成绩 = 成绩 * 0.8

④ 删除xs表中数学系所有学生的记录。 delete

from xs

where 专业 = ‘数学’

⑤ 定义一个的存储过程,功能为求小于30岁学生的所有信息,并执行此存储过程。 create procedure stuTest as select * from xs where 年龄 < 30 go --执行

execute stuTest go

5

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库 练习(附参考答案)在线全文阅读。

数据库 练习(附参考答案).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/327613.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: