- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西北师范大学计算机科学与工程学院学生实验报告
学 号 专业 计算机科学与技术 姓名 课程名称 数据库应用与开发 班级 实验名称 索引和视图 课程类型 专业限选课 实验目的:
在SQL SEVER 2005中,影响其数据库性的因素有很多,其中最重要的一项就是设计了有效的索引。而视图是从一个或几个基表(或视图)导出的表,与基表不同的是,视图是一个虚拟表,视图包含一系列带有名称的列和行数据。本次实验主要练习它们的创建和使用。
实验内容:
1、在course表的cname列上创建非聚集索引IDX-cname
create nonclustered INDEX IDX_cname ON course(cname)
实验结果:
2、在student表的studentno和classno列上创建唯一索引UQ-stu,若该索引已存在,则删除后重建。然后输出student表中的记录,查看输出结果的顺序。
USE teaching
GO
IF EXISTS(SELECT name FROM sysindexes WHERE name=UQ_stu)DROP INDEX student.UQ_stu
GO
CREATE NONCLUSTERED INDEX UQ_stu ON student(studentno,classno)
GO
SELECT *
FROM student
实验结果:
3、修改UQ-stu的索引属性,当执行多行插入操作时出现重复键值,则忽略该记录,且设置填充因子为80%
USE
teaching
GO
ALTER INDEX UQ_stu ON student REBUILDWITH (PAD_INDEX=ON,FILEFACTOR=80,IGNORE-DUP_KEY=ON)
GO
实验结果:
4、创建一个视图v-teacher,查询“计算机学院”所有教师的信息
USE teaching
GO
CREATE VIEW v_teacher
AS
SELECT *
FROM teacher
WHERE department=计算机学院
GO
SELECT *
FROM v_teacher
5、创建一个视图v-avgstu,查询每个学生的学号、姓名及平均分,并且按照平均分降序排序USE teaching
GO
CREATE VIEW v_avgstu
AS
SELECT TOP(100) PERCENT student.studentno,studnt.sname,AVG(score.final) AS average
FROM student,score
WHERE student.studentno=score.studentno
AND score.final IS NOT NULL
GROUP BY student.studentno,student.sname
ORDER BY AVG(score.final) DESC
GO
SELECT *
FROM v_avgstu
实验结果:
6、修改v-avgstu的视图定义,添加WITH CHECK OPTION选项
SQL代码:
USE teaching
GO
ALTER VIEW v_avgstu
AS
SELECT *
FROM teacher
WHERE department=计算机学院
WITH CHECK OPTION
GO
7、通过视图v-avgstu向基表teacher中分别插入数据(‘05039’,‘张馨月’,‘计算机应用’,‘讲师’,‘计算机学院’)和(‘06018’,‘李诚’,‘机械制造’,‘副教授’,‘机械学院’),并查看插入数据的情况
SQL代码:
USE teaching
GO
INSERT INTO v_teacher
VALUES(05039,张馨月,计算机应用,讲师,计算机学院)
INSERT INTO v_teacher
VALUES(06018,李诚,机械制造,副教授,机械学院)
SELECT *
FROM v_teacher
SELECT *
FROM teacher
8、通过视图v-teacher将基表teacher中教师编号为05039的教师职称修改为“副教授”
SQL代码:
USE teaching
GO
UPDATE v_teacher
SET prof=副教授
WHERE teacherno=05039
GO
SELECT *
FROM teacher
实验评语:实验成绩 教师签字investigations by person/in accordance with credit rules, personnel of customer cr
文档评论(0)