实验:创建和管理其他数据库对2象_实验二创建数据库和表

2020-02-27 其他范文 下载本文

实验:创建和管理其他数据库对2象由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“实验二创建数据库和表”。

实验:创建与管理其他数据库对象

一、实验目的掌握创建管理索引、视图、存储过程和触发器对象的使用方法;

二、实验环境

已安装SQL Server 2005 企业版的计算机; 具有局域网环境,有固定IP;

三、实验学时

4学时

四、实验要求

1.掌握索引的创建和管理方法; 2.掌握视图的创建和管理方法; 3.掌握存储过程的创建和管理方法; 4.掌握触发器的创建和管理方法; 5.完成实验报告;

五、实验内容及步骤

请使用T-SQL 语句实现进行以下操作:

1.在student表的sno列上创建唯一性聚集索引index_sno use stu go create unique clustered index index_sno on student(sno)

2.在student表的sname列上创建唯一性非聚集索引index_sname use stu go create unique nonclustered index index_sname on student(sname)use stu 3.在student表的sage列上创建非聚集索引index_sage use stu go create nonclustered index index_sage on student(sage)4.在sc表的sno列和cno列上创建复合非聚集索引index_sno_cno use stu go create nonclustered index index_sno_cno on sc(sno ,cno)

5.将索引index_sno_cno更名为index_snocno use stu go sp_rename 'sc.index_sno_cno','index-snocno','index'

6.删除上面的索引index_snocno use stu go drop index index_snocno on sc

7.查看student表的索引基本信息

use stu go exec sp_helpindex student 8.创建一个只选修8号课程的学生情况的视图信息

use stu go create view stu_is_8 as

select Student.Sno,Sname,Grade FROM Student,SC WHERE SC.Cno= '8' AND Student.Sno=SC.Sno

9.创建一个视图view_stu,只包含学生的学号,姓名,年龄信息

use stu go create view view_stu as

select sno,sname,sage FROM Student

10.在上一题视图的基础上创建年龄在20岁以上的的学生的视图

use stu go create view view_stu_sage as

select sno,sname,sage FROM view_stu where sage>20 11.创建一个包含不及格同学及90分以上同学的学号、姓名、课程名称及成绩的视图

use stu go create view view_2 as

select student.sno,sname,cname,grade FROM student,sc,course where grade>=90 and student.sno=sc.sno and sc.cno=course.cno union select student.sno,sname,cname,grade FROM student,sc,course where grade

12.选择一个上面创建的视图,查看视图的信息

use stu go select *from view_2

13.选择一个上面创建的视图,修改删除其中的一列

use stu go alter view view_stu as select sno,sname from student

14.选择一个上面创建的视图进行删除操作

use stu go drop view view_2

15.从视图view_stu中查询19岁的男生记录

use stu go select *from view_stu where sage=19

16.通过视图view_stu中插入一行数据。学号:2006010010,姓名:赵青,年龄:

use stu go select sno,sname,sage from student insert into view_stu values('200601001','赵青',null)

17.将视图view_stu中姓名为“李蕾”的年龄改为“22”

use stu go update view_stu set sage=22 where sname='李蕾'

18.通过视图 view_stu将姓名为“李贵”的记录删除

use stu go delete from view_stu where sname='李贵' 19.自行选择上面创建的一个视图插入一个记录。

insert into view_stu values('200601003','汪洋',20)go

20.自行选择一个视图根据一定的条件进行查询。

use stu go select *from stu_is_8 where grade>80

21.自行选择联合一张表和某个视图进行复合查询。

use stu go select a.sno,sname,sage,cno,grade from view_stu a,sc where a.sno=sc.sno

22.创建存储过程返回全部男生选课及成绩等相关信息

use stu go CREATE procedure male_sc1 as SELECT DISTINCT a.sno,sname,cno,grade FROM student a ,sc WHERE a.sno =sc.sno and ex='男' 23.创建一个带输入参数的存储过程,能够根据参数向学生表中插入一条记录

use stu go CREATE PROCEDURE student_insert(@sno char(9),@sname char(8),@ex char(2),@sage int,@sdept char(4))

as insert into student(sno, sname, ex, sage, sdept)values(@sno,@sname,@ex,@sage,@sdept)

24.创建一个带输入参数的存储过程,根据不同的学生名参数,返回该学生的所有课程成绩。

use stu go CREATE PROCEDURE student_in(@name char(8))as select sc.* from student,sc where student.sno=sc.sno and student.sname=@name

25.创建一个带输入输出参数的存储过程,根据输入的系部名,统计该系学生的平均成绩并输出。

use stu go CREATE PROCEDURE student_in11 @sdept char(4),@avggrade int output as

select @avggrade=avg(grade)from student,sc where student.sno=sc.sno and student.sdept=@sdept

26.查看第22和23题的存储过程的有关信息,并查看它们的定义。修改第22题的存储过程,改为查询全部女生的资料。删除第23题的存储过程。

use stu go exec sp_helptext male_sc1 exec sp_helptext student_insert go

alter procedure male_sc1 with encryption as SELECT DISTINCT a.sno,sname,cno,grade FROM student a ,sc WHERE a.sno =sc.sno and ex='女' go drop procedure student_insert go

27.创建student表的DELETE触发器,当一个学生退学后,信息从student表中删除,触发在sc表中删除该生选课情况。

28.创建一个触发器,检查在sc表中输入一门课程成绩,必须符合在0到100分范围内。

use stu go CREATE TRIGGER sc_grade ON sc FOR insert AS begin

update sc where grade>0 and grade

《实验:创建和管理其他数据库对2象.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
实验:创建和管理其他数据库对2象
点击下载文档
相关专题 实验二创建数据库和表 数据库 实验二创建数据库和表 数据库
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文