索引和视图实验报告
更新时间:2023-11-14 23:04:01 阅读量: 教育文库 文档下载
实 验 报 告 专业 班级 学号 姓名 课程名称 数据库应用与开发 学年2014 -2014学期1 /2 √ 课程类别 专业必修 √ 限选 任选 实践 实验时间2014 年5月29日 实验名称 索引和视图 实验目的和要求 在建立的实验数据库的基础上,掌握索引、统计信息和视图等数据对象的基本概念和基本操作并完成索引和视图的创建。 实验软硬件要求 软件:SQL Server 2005 硬件:PC机 实验内容、方法和步骤 (见附页) 实验结果 (见附页) 小结 通过本次实验,我掌握了索引、统计信息和视图等数据对象的基本概念和熟悉了各种基本操作。 评定成绩: 批阅教师: 年 月 日
7-1编程在 teaching 数据库中的 student 表的 sname 列上创建唯一索引IDX_sname。
USE teaching GO
CREATE UNIQUE INDEX IDX_sname ON student(sname)
7-2 编程在teaching数据库中的student表的studentno和classno列上创建组合索引IDX_sc。
USE teaching
IF EXISTS(SELECT name FROM sysindexes WHERE name='IDX_sc') DROP INDEX student.sc GO
CREATE INDEX IDX_sc ON student(studentno,classno)
7-3 重新组织 teaching 数据库中 student 表上的 IDX_sc 索引。
USE teaching
ALTER INDEX IDX_sc ON dbo.student REORGANIZE
7-4 重新生成 teaching 数据库中 student 表上的 IDX_sname 索引,设置填充索引,将填充因子设置为80%,设置将中间排序结果存储在tempdb中。
USE teaching
ALTER INDEX IDX_sname ON dbo.student
REBUILD WITH(PAD_INDEX = ON,FILLFACTOR = 80,SORT_IN_TEMPDB = ON)
7-5 重新生成 teaching 数据库中 student 表上的 C_studentno 索引,将其修改为聚集唯一索引,并指定该索引的叶级页的填充度为70%。
USE teaching GO
CREATE UNIQUE CLUSTERED INDEX C_studentno ON dbo.student(studentno)
WITH(PAD_INDEX = ON,FILLFACTOR = 70,DROP_EXISTING = ON)
7-6 删除 teaching 数据库中 student 表上的聚集索引 C_studentno 和非聚集索引UC_classno。
USE teaching GO
DROP INDEX student.C_studentno,student.UC_classno
7-8 通过 DBCC SHOW STATISTICS 命令显示 student 表 IDX_sc 索引的统计信息。
USE teaching GO
DBCC SHOW_STATISTICS (student, IDX_sc)
7-9 编程更新student表IDX_sc索引的统计信息
USE teaching
GO
UPDATE STATISTICS student IDX_sc
7-10 编程更新student表上所有索引的分布统计信息
USE teaching
GO
UPDATE STATISTICS student
7-11 编程在teaching数据库中创建一个名称为V_course的视图,包含所有类别为“必修”的课程信息。
use teaching
go
create view v_course as select * from course
where type ='必修'
7-12 给出一个程序,在teaching数据库中创建一个名称为v_final的视图,包含学生学号、姓名、课程号、课程名和期末成绩,按学号升序排序,相同学号的记录按课程号升序排序。
7-13 给出一个程序,在teaching数据中创建一个名称为v_max的视图,查询每个班最高分的课程名和分数,按班级号升序排序。 use teaching
go
create view v_max
as
select top 10 classno,cname,max(final) as max from student s,score sc,course c
where sc.courseno=c.courseno and s.studentno=sc.studentno and final is not null group by classno,cname order by classno
7-14 通过v_final和v_course视图查询所有学生的学号、姓名和已修必修课的总学分。
USE teaching
SELECT studentno AS '学号',sname AS '姓名',SUM(credit) AS '必修课总学分' FROM v_final,v_course
WHERE v_final.courseno=v_course.courseno GROUP BY studentno,sname
7-15 利用sysobjects和syscomments两个系统表查看v_avg视图的名称、ID和定义视图的文本信息。
USE teaching
SELECT sysobjects.name,sysobjects.id,syscomments.text FROM sysobjects,syscomments
WHERE sysobjects.name='v_avg' AND sysobjects.type='V' AND sysobjects.id=syscomments.id
7-18 通过视图V_course向基表course中插入数据(‘c05129’,‘数据库编程’,‘必修’,64,4)。
Use teaching
Go
INSERT INTO v_course
VALUES('c05129','数据库编程','必修',64,4)
Go
SELECT *FROM course
7-21 通过视图V_course将基表course课程号为c05129的课程名称修改为‘数据库应用与开发’。
USE teaching GO
UPDATE v_course
SET cname='数据库应用与开发' WHERE courseno='c05129' GO
SELECT * FROM course
7-23 通过视图v_final将基本表student和score中学号为'0925121107',选修的课程号为'c05129'的学生姓名修改为'李静',期末成绩修改为分。
USE teaching GO
UPDATE v_final
SET sname='李静',final=60
WHERE studentno='0925121107' AND courseno='c05109'
7-24 通过视图v_sex删除基表student中学号为0938211038的学生记录。
USE teaching
Go
Delect from v_sex
Where studentno='0938211038'
GO
SELECT * FROM student
7-25 通过视图v_course删除基表course中课程号为c05109的课程记录
USE teaching
GO
DELECT FROM v_course WHERE courseno='c05109'
正在阅读:
索引和视图实验报告11-14
LTE无线参数及KPI指标优化 - 图文06-21
六年级下册综合实践活动复习资料07-18
4G网络技术概论与应用 - 图文05-06
气井产能计算方法介绍及应用07-07
水土保持管理制度08-07
“导学案”的编制、使用和管理办法05-28
hncj遗传学习题和答案201505-15
健康网络_远离网瘾主题班会幻灯片08-27
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 视图
- 索引
- 实验
- 报告