实验训练4:视图和索引的构建与使用.docxVIP

  • 240
  • 0
  • 约1.69千字
  • 约 10页
  • 2022-06-01 发布于北京
  • 举报

实验训练4:视图和索引的构建与使用.docx

数据库原理实验报告-实验四-视图与索引 学号姓名 学号 姓名 班级 日期 视图与索引 一、 实验内容、步骤以及结果 在 Student 数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是 1996 年出生的学生的视图,视图中包括学号,性别,成绩三个信息。(5 分) 用两种不同的 SQL 语句创建第五版教材第三章 第 9 题中要求的视图(视图名: V_SPJ)(10 分,每种方法 5 分)。 -- 第一种方法 CREATEVIEWV_SPJAS SELECTsno,pno,qtyFROMSPJ WHEREjno=( SELECTjnoFROMJ WHEREjname= 三建 ); GO -- 删除建好的视图DROPVIEWV_SPJ; GO -- 第二种方法CREATEVIEWV_SPJAS SELECTsno,pno,qty FROMSPJ,J WHEREJ.jno=SPJ.jnoANDJ.jname= 三建; 用 SQL 语句完成第五版教材第三章第 11 题中的视图查询(10 分,每小题 5 分)。 11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。 针对该视图 VSP 完成下列查询: 找出三建工程项目使用的各种零件代码及其数量。 找出供应商 S1 的供应情况。 用 SQL 语句完成视图的数据更新。(15 分,每题 5 分) 给视图 V_SPJ 中增加一条数据。提示: -SPJ 表中JNO 允许为空时,数据可以插入基本表,此时 JNO 为 NULL,由于JNO 为 NULL,所以视图中没有该条数据。 -SPJ 表中 JNO 不能为空时,可以使用insteadof 触发器实现。 修改视图 V_SPJ 中的任意一条数据的供应数量。 删除视图 V_SPJ 中的任意一条数据(注意所创建视图可以视图消解时,才能正常删除,否则会删除失败;也可以考虑用 insteadof 触发器实现)。 用图形用户界面对 Student 数据库中 C 表的 Cno 字段创建一个降序排列的唯一索引,索引名称 IX_CNo。(5 分) 使用 SQL 语句对 Student 数据库完成以下的索引操作。(15 分,每题 5 分) 在 C 表的 CName 属性上创建一个非唯一性的聚簇索引,索引名IX_CName 。 (提示:创建这个聚簇索引之前,需要首先删除 C 表的主键约束。SQLServer 中, 给某张表指定主键时,会自动创建为主属性一个聚簇索引。) 在 SC 表上创建一个名为 IX_Cnosno 的非聚簇复合索引,该索引是针对 sno,cno 属性集建立的升序索引。 删除 C 表的索引 IX_CName。 自己设计一个实验验证索引对数据库查询效率的提升作用。(40 分) ( 提示:需要数据量比较大的情况下才容易进行对比) 采用一卡通消费记录作为实验数据,一共812 条记录, 将交易发生时间设置为主键,建立升序索引,查询某天的消费记录,与未建立索引时相比较。 每种情况查询5 次,计算平均时间。 单位:毫秒 第1 次 第2 次 第3 次 第4 次 第5 次 平均时间 不使用索引 1043 1000 990 990 1013 1007.2 使用索引 1000 1003 1000 1000 1003 1001.2 通过数据可以看出,建立索引后查询平均时间确实较没有索引时短。 二、 实验中出现的问题以及解决方案 ( 对于未解决问题请将问题列出来 ) 除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。 问题: 在Student 数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996 年出生的学生的视图, 因为sbirth 的类型是date ,不能用 LIKE’ 1996%’ 命令进行检索。 解决方案: 使用 BETWEEN‘1996 -1-1’AND‘1997 -1-1’ 表达式。如下图: 批阅者: 批阅日期: 实验成绩: 批注:

文档评论(0)

1亿VIP精品文档

相关文档