2024年6月6日发(作者:)
实验6索引与视图
实验名称
使用设备
索引与视图(2课时) 实验日期
硬件:电脑一台
实验地点
软件:Windows、SQL server 2005
1、掌握sql建立索引的二种方法,即在基本表中建立和用命令方式建立;掌
握删除索引的方法。
实验目的
2、掌握sql视图建立、修改和删除。
1、为student数据库中的Students,Courses,Reports三个表建立索引。其中Students
表按Sno(学号)升序建立唯一索引,Courses表按Cno(课程号)升序建立唯一索引,
Reports表按Sno(学号)升序和Cno(课程号)号降序建立唯一索引。
Use student
create unique index Stu_Sno
on students(Sno)
create unique index Cou_Cno
on Courses(Cno)
实
create unique index Rep_SCno
on Reports column Sno,Cno desc
验
2、在基本表Students的Sname(姓名)和Sno(学号)列上建立一个聚簇索引,而且Students
中的物理记录将按照Sname值和Sno值的升序存放。
内
create clustered index Stud_SS
on students(Sname,So)
3、删除基本表Reports上的Rep_SCno索引。
容
Drop index _SCno
4、建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学
系的学生,视图的属性名为Sno,Sname,Sage,Sdept。
Create view C_Student
As
Select Sno,Sname,Sage,Sdept
From students
Where Sdept=’数学’
With check option
5、建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图。
本视图由三个基本表的连接操作导出。
Create view Student_CR
As
,,,
From students as S,Course C,Reports R
where =R,Sno and =
6、定义一个反映学生出生年份的视图。
Create view stu_y
As
Select Sno,出生年份=cast((year(getdata())-Sage) as varchar(4))+’年’
form students
7、删除视图Student_CR。
Drop view Student_CR
8、在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和
年龄(Sage)。
Select Sname ,Sno from C_Student where Sage=20
9、在Student_CR视图中查询成绩在85分以上的学生学号(Sno)、姓名(Sname)和课程
名称(Cname)。
Select Sno,Sname,Cname from Student_CR where Grade=85
10、将数学系学生视图C_Student中学号为S05的学生姓名改为“黄海”。
Updata C_Student
Set Sname=’黄海’
Where Sno=’S05’
11、向数学系学生视图C_Student中插入一个新的学生记录,其中学号为“S09”,姓
名为“王海”,年龄为20岁。
Insert into C_Student(Sno,Sname,Sage,Sdept)
Values(‘S09’,’黄海’,20,‘数学’)
12、删除数学系学生视图C_Student中学号为“S09”的记录。
Delete from C_Student
Where Sno=’S09’
实验心得
教师评语
优 良 中 及格 不及格 批改日期
发布评论