1.索引的作用是什么?
答:索引可以加快数据的查询效率。

2.索引分为哪几种类型?分别是什么?它们的主要区别是什么?
答:分为聚集索引和非聚集索引两种。聚集索引会对数据进行物理排序,非聚集索引不对数据进行物理排序。

3.在一个表上可以创建几个聚集索引?可以创建多个非聚集索引吗?
答:1个聚集索引。可以。

4.聚集索引一定是唯一性索引,对吗?反之呢?
答:不对。反之也不对。

5.在建立聚集索引时,数据库管理系统是真正将数据按聚集索引列进行物理排序。对吗?
答:对。

6.在建立非聚集索引时,数据库管理系统并不对数据进行物理排序。对吗?
答:对。

7.不管对表进行什么类型的操作,在表上建立的索引越多越能提高操作效率。对吗?
答:不对。

8.经常对表进行哪类操作适合建立索引?适合在哪些列上建立索引?
答:
返回范围值的查询:BETWEEN AND、>、>=、< 和 <= ;
不返回大型结果集的查询。
经常被用作连接的列,一般来说,这些列是外键列。
ORDER BY或GROUP BY操作。
适合建立索引的情况:
包含大量非重复值的列。
在WHERE子句中经常用于进行BETWEEN AND、>、>=、< 和 <=等操作的列。
经常被用作连接操作的列。
ORDER BY或GROUP BY子句中涉及的列。

9.使用第5章建立的Student、Course和SC表,写出实现下列操作的SQL语句。
(1)在Student表上为Sname列建立一个非聚集索引,索引名为:SnameIdx。
答:Create index SnameIdx on student(Sname)

(2)在Course表上为Cname列建立一个唯一的非聚集索引,索引名为:CNIdx
答:Create unique index CNIdx on Course(Cname)

(3)在SC表上为Sno和Cno建立一个组合的聚集索引,索引名为:SnoCnoIdx。
答:Create clustered index SnoCnoIdx on SC(Sno,Cno)

(4)删除Sname列上建立的SnoIdx索引。
答:drop index SnoIdx on Student

10.试说明使用视图的好处。
答:利用视图可以简化客户端的数据查询语句,使用户能从多角度看待同一数据,可以提高数据的安全性,视图对应数据库三级模式中的外模式,因此提供了一定程度的逻辑独立性。

  1. 使用视图可以加快数据的查询速度,这句话对吗?为什么?
    答:不对,因为通过视图查询数据时,比直接针对基本表查询数据多了一个转换过程,即从外模式到模式的转换。

12.使用第5章建立的Student、Course和SC表,写出创建满足下述要求的视图的SQL语句。
(1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。
答:Create view v1 As
Select s.sno,sname,sdept,c.cno,cname,credit
From student s join sc on s.sno = sc.sno
Join course c on c.cno = sc.cno

(2)查询学生的学号、姓名、选修的课程名和考试成绩。
答:Create view v2 As
Select s.sno,sname,cname,grade
From student s join sc on s.sno = sc.sno
Join course c on c.cno = sc.cno

(3)统计每个学生的选课门数,要求列出学生学号和选课门数。
答:Create view v3 As
Select sno,count(*) as total
From sc group by sno

(4)统计每个学生的修课总学分,要求列出学生学号和总学分(说明:考试成绩大于等于60才可获得此门课程的学分)。
答:Create view v4 As
Select sno,sum(credit) as total_credit
From sno join course c on c.cno = sc.cno
Where grade >= 60
Group by sno

13.利用第12题建立的视图,完成如下查询:
(1)查询考试成绩大于等于90分的学生的姓名、课程名和成绩。
答:Select sname,cname,grade From v2 where grade >= 90

(2)查询选课门数超过3门的学生的学号和选课门数。
答:Select * from v3 where total >= 3

(3)查询计算机系选课门数超过3门的学生的姓名和选课门数。
答:Select sname,total from v3 join student s on s.sno = v3.sno
Where sdept = ‘计算机系’ and total >= 3

(4)查询修课总学分超过10分的学生的学号、姓名、所在系和修课总学分。
答:Select v4.sno,sname,sdept,total_credit
From v4 join student s on s.sno = v4.sno
Where total_credit >= 10

(5)查询年龄大于等于20岁的学生中,修课总学分超过10分的学生的姓名、年龄、所在系和修课总学分。
答:Select sname,sage,sdept,total_credit
From v4 join student s on s.sno = v4.sno
Where sage >= 20 and total_credit >= 10

14.修改12题(4)定义的视图,使其查询每个学生的学号、平均成绩以及总的选课门数。
答: Alter view v4 As
Select sno,avg(grade) as avg_grade,count(*) as total_cno
Group by sno

《数据库原理与应用》(第三版) 第7章 索引和视图 基础 习题参考答案相关推荐

  1. 《数据库原理与应用》(第三版)第9章 事务与并发控制 基础 习题参考答案

    1.试说明事务的概念及四个特征. 答:原子性.隔离性.一致性.持久性. 2.事务处理模型有哪两种? 答:T-SQL事务处理模型.T-SQL事务处理模型. 3.在数据库中为什么要有并发控制? 答:为避免 ...

  2. 《数据库原理与应用》(第三版)第11章 存储过程和触发器 基础 习题参考答案

    习题 1.存储过程的作用是什么?为什么利用存储过程可以提高数据的操作效率? 答:(1)允许模块化程序设计 (2)改善性能 (3)减少网络流量 (4)可作为安全机制使用 因为系统对存储过程是预编译的. ...

  3. 《数据库原理与应用》(第三版) 第4章SQL Server 2012基础 习题参考答案

    1.安装SQL Server 2012对硬盘及内存的要求分别是什么? 答:SQL Server 2012实际硬盘空间需求取决于系统配置和您决定安装的功能,一般应确保系统驱动器中是否有至少 6.0 GB ...

  4. 《数据库原理与应用》(第三版)第12章 函数和游标 基础 习题参考答案

    1.SQL Server 2012提供的日期和时间函数有哪些? 答:getdate.dateadd.datediff.datename.day.month.year 2.SQL Server 2012 ...

  5. 《数据库原理与应用》(第三版) 第 6 章 数据操作语句 基础 习题参考答案

    1.简单说明SELECT语句中,FROM.WHERE.GROUP BY.HAVING子句的作用. 答:FROM子句指定数据来自的表,WHERE子句指定行数据的筛选条件,GROUP BY子句指定用于分组 ...

  6. 《数据库原理与应用》(第三版) 第 5 章 数据类型及关系表创建 基础 习题参考答案

    1.Tinyint数据类型定义的数据的取值范围是多少? 答:0-255 2.SmallDatatime类型精确到哪个时间单位? 答:分钟 3.定点小数类型numeric中的p和q的含义分别是什么? 答 ...

  7. 《数据库原理与应用》(第三版)第15章 备份和恢复数据库 基础 习题参考答案

    1.在确定用户数据库的备份周期时,应考虑哪些因素? 答:允许丢失的数据的多少?数据的操作高峰和低谷时间等. 2.对用户数据库和系统数据库分别应该采取什么备份策略? 答:对用户数据库是周期性备份:对系统 ...

  8. 《数据库原理与应用》(第三版)第13章 安全管理 基础 习题参考答案

    习 题 1.通常情况下,数据库中的权限划分为哪几类? 答:通常情况下,将数据库中的权限划分为两类.一类是对数据库系统进行维护的权限,另一类是对数据库中的对象和数据进行操作的权限. 2.数据库中的用户按 ...

  9. 数据库原理与应用第三版何玉洁第七章课后习题答案

    1 提高数据的查询效率 2 聚集索引,非聚集索引, 聚集索引首先按聚集索引列的值对数据进行物理排序,然后在此基础上直接建立索引B树, 非聚集索引系统直接再现有数据存储顺序的基础之上直接建立索引B树,B ...

最新文章

  1. HDU1827(强连通分量)
  2. Uber致人死亡或为自动驾驶肇事责任 没有判例可循
  3. 英特尔九州云99Cloud OpenStack行业应用研讨会
  4. Powershell 音乐播放
  5. 修改input标签输入样式
  6. 【C】Natasha 插件编程
  7. 【动态规划】数字金字塔
  8. stringbuffer_StringBuffer的存在的含义
  9. 精通ASP.NET MVC ——URL和Ajax辅助器方法
  10. hql 字符串where语句_Hibernate HQL基础 限定查询条件
  11. 分页地址的地址结构怎么理解?
  12. 2022年05月系统集成项目管理工程师考试知识点分布
  13. Win11如何优化服务?Win11优化服务的方法
  14. dubbo异常源码分析处理
  15. 【医学图像处理】9 二值形态学
  16. 微信小程序全栈开发实践 第三章 微信小程序开发常用的API介绍及使用 -- 3.7 网络接口简介(七)学习EventChannel对象
  17. 在线Base64编码 = 图片
  18. Newifi mini路由器刷华硕Padavan固件及无线中继笔记
  19. ffmpeg学习笔记
  20. Word很大,你要忍一下 (不看必后悔系列)

热门文章

  1. 游历校园 [COGS 614] [欧拉图]
  2. 利用记录型信号量机制: wait(s), signal(s)解决进程同步问题
  3. 有关 onSaveInstanceState() 那点事
  4. 编写高质量代码:改善Java程序的151个建议(第4章:字符串___建议52~55)
  5. python的基本语术_Python中的基本语句详细资料说明
  6. 程序员面试100题之六:最长公共子序列
  7. js判断是安卓手机还是ios
  8. 四-1、Cadence Allegro推荐操作方式和视图命令
  9. WebSocket学习
  10. MVC4将Controller与views分开