实验6索引与视图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验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 Reports.Rep_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
SelectS.Sno,S.Sname,ame,R.Grade
From students as S,Course C,Reports R
where S.Sno=R,Sno and o=o
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’
实验心得
教师评语优良中及格不及格批改日期