《实验六:关系图、索引和视图的定义及维护》由会员分享,可在线阅读,更多相关《实验六:关系图、索引和视图的定义及维护(3页珍藏版)》请在金锄头文库上搜索。
1、实验六:关系图、索引和视图的定义及维护一、实验目的1. 掌握创建关系图的方法。2. 掌握创建、查看和删除索引的操作和方法。3. 理解视图的含义,能使用SQL Server查询分析器器创建视图并对其进行管理。二、实验环境已安装SQL Server 企业版的计算机(120台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1. 索引和视图的创建和管理也可以用查询分析器实现,参照课本上的相关Transact-SQL命令,写出对应的Transact-SQL实现代码。2. 将视图的创建、修改、删除过程与实验二中表的创建、修改、和删除进行对照,看看有什么相同点和不同点。3. 完成实验报告;五、
2、实验内容及步骤以系统管理员身份登录到SQL Server服务器,在SQL Server2005界面中实现第1题操作,其余题目用T-SQL 语句实现:1. 使用创建数据库关系图向导为学生选课数据库中的Student表,Course表,SC表创建关系图。 2. 为Student表创建一个基于Sname(姓名)的按降序排列的聚簇索引Stusname。 create clustered index stusname on student(sname desc)3. 为学生课程数据库中的Student,Course,SC 3 个表建立索引。其中student按学号升序建唯一索引,course按课程号升序
3、建唯一索引,SC按学号升序和课程号降序建唯一索引,索引名称分别为Stusno,Coucno,Scno。 create unique index stusno on student(sno);create unique index coucno on course(cno);create unique index scno on sc(sno asc,cno desc)4. 删除 Student表中的Stusname索引。 drop index student.stusname5. 创建信息系男学生基本信息视图stu_is,包括学生的学号、姓名及年龄,并要求进行修改和插入操作时仍需保证该视图只有
4、信息系的学生。 create view stu_is as select sno,sname,sage from student where sdept = IS and ssex=男 with check option6. 建立信息系选修了1号课程的学生视图stu_is_c1(学号,姓名,成绩)。 create view stu_is_c1 as select student.sno,sname,grade from student,course,sc where sdept=is and o=17. 建立信息系男同学年龄在19岁以上学生信息的视图stu_is_age。(使用第5题的视图)
5、create view stu_is_age as select sno,sname,sage from student where sdept = IS and ssex=男and sage19 with check option8. 查询信息系男同学年龄在19岁以上的学生信息 select * from stu_is_age where sage199. 查询信息系选修了1号课程且成绩大于 80的学生成绩信息。 select distinct grade from stu_is_c1 where grade8010. 向视图stu_is中插入一个新的学生记录,学号为,姓名为王唔,年龄为20
6、。 insert into stu_is values(,王,20)11. 向视图stu_is_c1中插入一个新的学生记录,学号为,姓名为王唔,成绩为60。 insert into stu_is_c1 values(,王唔,60)12. 将视图stu_is中学号为“”的学生姓名改为“张珊”。update stu_is set sname=张珊 where sno=13. 将视图stu_is_c1中学号为“”的学生成绩改为75。update stu_is_c1 set grade=75 where sno=14. 删除视图stu_is中学号为“”的学生记录。 delete from stu_is where sno=15. 将stu_is视图修改为只包含信息系学生学号、姓名及年龄。 alter view stu_is as select sno,sname,sage from student where sdept=is16. 同时删除视图stu_is和stu_is_age。 drop view stu_is,stu_is_age思考题:1.考虑一下视图的作用,在什么样的情况下需要建立视图?2.索引、视图和基本表有什么不同 ?