数据库实验指导书答案
实验五 查询数据库
1) 启动SQL Server查询分析器,打开“SQL查询分析器”窗口。
2) 在“SQL查询分析器”窗口中选择要操作的数据库,如“XSCJ”数据库。 3) 在KC表中查询学分低于3的课程信息,并按课程号升序排列。 select *
From KC
Where 学分<=3
4) 在XS_KC表中按学号分组汇总学生的平均分,并按平均分的降序排列。
Select 学号,avg(成绩) From XS_KC Group by 学号 Order by 学号
5) 在XS_KC表中查询选修了3门以上课程的学生学号。
Select 学号 From XS_KC
Group by 学号
Having count(*)>=3
6) 按学号对不及格的成绩记录进行明细汇总。 Select 学号,成绩
From XS_KC Where 成绩<60
7) 分别用子查询和连接查询,求107号课程不及格的学生信息。
Select * From XSQK Where 学号in (select 学号 From XS_KC
Where 课程号= '107' and 成绩<60 )
8) 用连接查询在XSQK表中查询与杨颖住在同一寝室的学生,即其联系电话相同
Select * From XSQK Where 联系电话 in (Select 联系电话 From XSQK
Where 姓名='杨颖')
9) 查询XSQK表中所有的系名。 10)查询有多少同学选修了课程。 select count(distinct 学号) From XS_KC
11) 查询有多少同学没有选课。
select count(*)
from xsQK left join xs_KC on xs_KC.学号=xsQK.学号 where 成绩is null
12)查询与杨颖同一个系的同学姓名。 select 姓名
From xsQK Where
13) 查询选修了课程的学生的姓名、课程名与成绩。
14) 统计每门课程的选课人数和最高分。 select 课程号,count(学号),max(成绩) from xs_kc
group by 课程号
15) 统计每个学生的选课门数和考试总成绩,并按选课门数的降序排列。 select 学号,count(课程号),max(成绩) from xs_kc group by 学号 order by count(课程号)
实验七 创建和使用索引
1) 给KC表的课程号属性上创建聚集索引K1,在XS_KC表的[学号,课程号]上创建复合索引IX_XS_KC。
create clustered index k1 on [KC](课程号)
create clustered index IX_XS_KC on [XS_KC](学号,课程号)
2)强制使用索引进行查询 select *
from kc with(index (k1))
实验八 创建并使用约束和默认值对象
1)建立一个默认值对象“DFO_出生日期”,其值为1980-1-1 Create default DFO_出生日期
As '1980-1-1'
2)将默认值对象绑定到XSQK表的出生日期列。 exec sp_bindefault DFO_出生日期,'xsqk.出生日期'
实验九 实现数据完整性
1)在XSQK表中创建一个规则X_R,只能接收8位的数字,并邦定到电话号码列中。
create rule x_R as
@a like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
exec sp_bindrule x_r,'xsqk.电话号码 '
2)XSQK表再插入数据,电话号码为“7768971”,“34ar”,检查完整性 参照完整性
1)给XSQK,KC,XS_KC建立参照完整性,确定主码,外码。
alter table KC
add constraint skc primary key(课程号)
alter table xsqk
add constraint skc1 primary key(学号)
alter table xs_kc
add constraint skc2 primary key(学号,课程号) alter table xs_kc
add constraint xs foreign key(学号) references xsqk(学号) on
delete cascade
on update cascade alter table xs_kc
add constraint xs1 foreign key(课程号) references kc(课程号)
on delete no action on update noaction
2)设置SXQK表对于删除和更新操作是级连,KC表对于删除更新操作是拒绝。 3)在XS_Kc表中分别插入两条记录,学号分别为“020208”和“020201”检查完整性。
4)更新XS_KC,更改学号“020201”为“020206”,检查完整性。
5)删除XSQK表中的学号为“020201”的记录,更改学号为“020201”的记录为“020208”
实验十 用户自定义函数
1)创建一个函数,输入学生学号,要求出此学生所选课程的门数 create function n1
(@id int ) -- 参数
returns int -- 返回值类型 begin
declare @nu int select @nu=count(*) from xs_kc
where 学号=@id
return @nu -- 返回值 end
select dbo.n1('020101')
2)创建一个函数,输入教师姓名,要求输入此教师所授课程被选修的情况
create function table1 (@tname varchar(50)) returns table return (select * from kc
where 教师=@tname and 课程号 in (select 课程号 from xs_kc
))select *
from t('陈红')
3)创建一个函数,输入学号,输出这个学生选修的情况以及成绩的等级。 小于60 不及格 60-70 及格 70-80 中等 80-90 良好 90以上 优秀
create function m6 (@sno nchar(10))
returns @my_table table (
sno nchar(10), cno nchar(10), grade nchar(10), l nchar(10) ) as begin
insert @my_table select 学号,课程号, 成绩,l= case
when 成绩 <60 then '不及格'
when 成绩>=60 and 成绩<70 then '及格' when 成绩>=70 and 成绩<80 then '中等' when 成绩>80 and 成绩<=90 then '良好' else '优秀' end
from XS_kc
where 学号=@sno return end
select *
from m6('020101')
实验十一 实现存储过程
1)建立一个存储过程,要求输入一个课程号,查询该课成绩不及格的学生的基本信息,包括学号、姓名、性别和联系电话信息,最后输出。 create proc mp4 @cno varchar(10) as
select xsqk.学号,姓名,性别,联系电话 from xsqk,xs_kc
where xsqk.学号=xs_kc.学号 and 成绩<60 and 课程号=@cno exec mp4 ‘001’
2)创建一个存储过程,要求输入教师号,输出该教师所教课程的课程的被选修的人数
create proc mp5 @tno varchar(10) as
select count(*) from kc,xs_kc
where kc.课程号=xs_kc.课程号 and 教师=@tno exec mp5 '陈红'
3)执行所创建的二个存储过程 4) 删除新建的存储过程
Drop proc mp5
…… 此处隐藏:1493字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




