创建和管理其他数据库对象题目及答案.docx
- 文档编号:3279303
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:12
- 大小:140.62KB
创建和管理其他数据库对象题目及答案.docx
《创建和管理其他数据库对象题目及答案.docx》由会员分享,可在线阅读,更多相关《创建和管理其他数据库对象题目及答案.docx(12页珍藏版)》请在冰点文库上搜索。
创建和管理其他数据库对象题目及答案
实验:
创建与管理其他数据库对象
一、实验目的
掌握创建管理索引、视图、存储过程和触发器对象的使用方法;
二、实验环境
已安装SQLServer2005企业版的计算机;
具有局域网环境,有固定IP;
三、实验学时
4学时
四、实验要求
1.掌握索引的创建和管理方法;
2.掌握视图的创建和管理方法;
3.掌握存储过程的创建和管理方法;
4.掌握触发器的创建和管理方法;
5.完成实验报告;
五、实验内容及步骤
请使用T-SQL语句实现进行以下操作:
1.在student表的sno列上创建唯一性聚集索引index_sno
USEstu
GO
CREATEUNIQUECLUSTEREDINDEXindex_sno
ONstudent(sno)
2.在student表的sname列上创建唯一性非聚集索引index_sname
USEstu
GO
CREATEUNIQUENONCLUSTEREDINDEXindex_sname
ONstudent(sname)
3.在student表的sage列上创建非聚集索引index_sage
USEstu
GO
CREATENONCLUSTEREDINDEXindex_sage
ONstudent(sage)
4.在sc表的sno列和cno列上创建复合非聚集索引index_sno_cno
USEstu
GO
CREATENONCLUSTEREDINDEXindex_sno_cno
ONsc(sno,cno)
GO
5.将索引index_sno_cno更名为index_snocno
USEstu
GO
EXECsp_rename'sc.index_sno_cno','index_snocno','index'
6.删除上面的索引index_snocno
USEstu
GO
DROPindexindex_snocno
ONsc
7.查看student表的索引基本信息
USEstu
GO
EXECsp_helpindexstudent
GO
8.创建一个只选修8号课程的学生情况的视图信息
USEstu
GO
CREATEVIEWstu_8
AS
SELECTstudent.sno,student.sname,sage,ssex
fromstudent,sc
Wherestudent.sno=sc.snoANDcno=8
9.创建一个视图view_stu,只包含学生的学号,姓名,年龄信息
USEstu
GO
CREATEVIEWview_stu
AS
SELECTsno,sname,sage
Fromstudent
10.在上一题视图的基础上创建年龄在20岁以上的的学生的视图
USEstu
GO
SELECTsno,sname,sage
Fromview_stu
wheresage>20
11.创建一个包含不及格同学及90分以上同学的学号、姓名、课程名称及成绩的视图
USEstu
GO
SELECTstudent.sno,student.sname,cname,grade
Fromstudent,sc,course
wherestudent.sno=sc.snoANDo=oAND(grade>90ORgrade<60)
12.选择一个上面创建的视图,查看视图的信息
USEstu
GO
SELECTsno,sname,sage
FROMview_stu
13.选择一个上面创建的视图,修改删除其中的一列
USEstu
GO
EXECsp_rename'view_stu.sno','view_stu.newsno','COLUMN'
14.选择一个上面创建的视图进行删除操作
USEstu
GO
DROPVIEWstu_8
15.从视图view_stu中查询19岁的男生记录
USEstu
GO
USEstu
GO
SELECT'view_stu.newsno'AS'sno',student.sname,student.sage
FROMview_stu,student
WHERE'view_stu.newsno'=student.snoANDstudent.sage=19ANDssex='男'
16.通过视图view_stu中插入一行数据。
学号:
**********,姓名:
赵青,年龄:
USEstu
GO
Insertintoview_stu
Values('200601010','赵青','')
17.将视图view_stu中姓名为“李蕾”的年龄改为“22”
USEstu
GO
UPDATEview_stu
SETsage='22'
WHEREsname='李蕾'
18.通过视图view_stu将姓名为“李贵”的记录删除
USEstu
GO
DELETE
FROMview_stu
WHEREsname='李贵'
19.自行选择上面创建的一个视图插入一个记录。
USEstu
GO
Insertintoview_stu
Values('200601011','赵贵','20')
20.自行选择一个视图根据一定的条件进行查询。
USEstu
GO
SELECT*
Fromview_stu
WHEREsage>=20
21.自行选择联合一张表和某个视图进行复合查询。
USEstu
GO
SELECT*
Fromview_stu,sc
WHERE'view_stu.newsno'=sno
22.创建存储过程返回全部男生选课及成绩等相关信息
USEstu
GO
CREATEPROCEDUREstu_info
AS
SELECTDISTINCTa.sno,sname,cno,grade
FROMstudenta,sc
WHEREa.sno=sc.snoANDssex='男'
EXECstu_info
23.创建一个带输入参数的存储过程,能够根据参数向学生表中插入一条记录
USEstu
GO
CREATEPROCEDUREstudent_insert(@snochar(9),@snamechar(8),@ssexchar
(2),@sageint,@sdeptchar(4))
AS
INSERTINTOstudent(sno,sname,ssex,sage,sdept)
VALUES(@sno,@sname,@ssex,@sage,@sdept)
EXECstudent_insert('200666666','萧萧','男','20','CS')
24.创建一个带输入参数的存储过程,根据不同的学生名参数,返回该学生的所有课程成绩。
USEstu
GO
CREATEPROCEDUREstu_sc1(@yxchar(6))
ASSELECTDISTINCTa.sno,sname,cno,grade
FROMstudenta,sc
WHEREa.sno=sc.snoandsname=@yx
GO
Execstu_sc1'张力'
25.创建一个带输入输出参数的存储过程,根据输入的系部名,统计该系学生的平均成绩并输出。
USEstu
GO
CREATEPROCEDUREAVERAGE2
@stu_sdeptvarchar(8),@averageintOUTPUT
AS
SELECT@average=avg(grade)
FROMstudent,sc
WHEREstudent.sno=sc.snoANDsdept=@stu_sdept
GO
DECLARE@Gint
EXECAVERAGE2'CS',@GOUTPUT
SELECT@G
26.查看第22和23题的存储过程的有关信息,并查看它们的定义。
修改第22题的存储过程,改为查询全部女生的资料。
删除第23题的存储过程。
USEstu
GO
ALTERPROCEDUREstu_info
AS
SELECTDISTINCTa.sno,sname,cno,grade
FROMstudenta,sc
WHEREa.sno=sc.snoANDssex='女'
EXECstu_info
GO
DROPPROCEDUREstudent_insert
27.创建student表的DELETE触发器,当一个学生退学后,信息从student表中删除,触发在sc表中删除该生选课情况。
USEstu
GO
28.创建一个触发器,检查在sc表中输入一门课程成绩,必须符合在0到100分范围内。
USEstu
GO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 创建 管理 其他 数据库 对象 题目 答案