当前位置:首页 > sql习题答案解析
8. 使用SQL Server Management Studio,在“企业工资管理系统”数据库中创建职工表、部门表、工资表,并向各表添加数据。
答:略。
8.9 习题
1. 查询女教师的教师编号、姓名和出生日期。 答:
Select 编号,姓名,出生日期 From 教师表 Where 性别='女'
2. 根据教师的年龄,将教师分为:老年(大于等于50岁)、中年(40岁至50岁之间)和青年(小于等于40岁)。
答:
Select 姓名,性别,年龄= Case
When datediff(year,出生日期,getdate())>=50 then '老年'
When datediff(year,出生日期,getdate())>=40 and datediff(year,出生日期,getdate())<50 then '中年'
When datediff(year,出生日期,getdate())<40 then '青年' end
3. 查询选修“大学英语”的学生的姓名,并按照分数从高到低输出前3名。 答:
Select top 3 姓名 From 成绩表
Order by 分数 desc
4. 查询体育学院和外语学院,而且在1986年出生的学生信息。 答: Select *
From 学生表
Where 院系名称='体育学院' and 院系名称='外语学院' and year(出生日期)=1986 5. 查询计算机学院姓张,并且姓名是两个字的学生的信息。 答: Select *
From 学生表
Where 院系名称='计算机学院' and len(姓名)=2
6. 现有“图书馆图书管理系统”数据库。该数据库有图书表、职工表、部门表、出版社表。
答:略。
17
9.4 习题
1. 简述视图的概念以及分类。
答:视图是从一个或多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。和表一样,视图也是包括几个被定义的列和行,但就本质而言这些数据列和数据行来源于其所引用的表。所以视图不是真实存在的基础表而是一张虚表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。在SQL Server 2005中,视图可以分为标准视图、索引视图和分区视图。
2. 可更新视图必须满足哪些条件?
答:只要满足下列条件,即可通过视图修改基础基表的数据:
1) 任何修改(包括UPDATE、INSERT和DELETE语句)都只能引用一个基表的列。 2) 视图中被修改的列必须直接引用表列中的基础数据。不能通过任何其他方式对这些列进行派生,如通过聚合函数、计算(如表达式计算)、集合运算等。
3) 被修改的列不受GROUP BY、HAVING、DISTINCT或TOP子句的影响。
3. 在SQL Server Management Studio中使用向导创建一个视图,包括学生的学号、姓名,教师的编号、姓名,课程的课程号、课程名,以及分数。该视图是可更新视图吗?
答:是可更新视图。
4. 在查询窗口中使用T-SQL语言创建一个视图,包括工作人员编号、姓名,进货的时间、数量,以及客户名称和城市。该视图是可更新视图吗?
答:略。
5. 简述索引的概念以及分类。
答:索引包含从表或视图中一个或多个列生成的键,以及映射到指定数据的存储位置的指针。通过创建设计良好的索引以支持查询。
索引可以是惟一的,即索引列不会有两行记录相同,这样的索引称为惟一索引。索引也可以是不惟一的。如果索引是根据单列创建的,这样的索引称为单列索引。根据多列组合创建的索引称为复合索引。按索引的组织方式的不同,可以将索引分为聚集索引和非聚集索引。
6. 在SQL Server Management Studio中使用向导,根据成绩表的分数列创建一个索引。要求该索引不是惟一,也不是聚集索引。
答:略。
7. 在查询窗口中使用T-SQL语言,根据工作人员表的出生日期列创建一个索引。要求该索引不是惟一,也不是聚集索引。
答:略。
8. 简述游标的概念以及分类。
答:SQL Server 2005通过游标提供了对一个结果集进行逐行处理的能力。游标也可以看作是一个表中的记录指针,该指针与某个查询结果相联系。
根据游标用途的不同,SQL Server 2005将游标分为三种: (1) T-SQL游标
(2) 应用程序编程接口(API)服务器游标 18
(3) 客户端游标
根据T-SQL服务器游标的处理特性,SQL Server 2005将游标分为四种: (1) 静态游标 (2) 动态游标 (3) 只进游标
(4) 由键集驱动游标
根据T-SQL服务器游标在结果集中移动方式,SQL Server 2005将游标分为两种: (1) 滚动游标 (2) 前向游标
根据T-SQL服务器游标结果集是否允许修改,SQL Server 2005将游标分为两种: (1) 只读游标 (2) 只写游标
9. 创建游标可以用哪两种方式?这两种方式创建的游标一样吗?创建完游标是否可以马上读取数据?
答:声明游标有两种方式:标准方式和T-SQL扩展方式。这两种方式创建的游标不一样。创建完游标是不可以马上读取数据,还必须打开游标。
10. 利用标准方式声明一个游标,查询课程表中的课程编号和课程名信息,并读取数据。 答:略。
11. 利用T-SQL扩展方式声明一个游标,查询学生表中的学号、姓名、性别和出生日期信息,并读取数据。要求:
(1) 读取最后一条记录。 (2) 读取第一条记录。 (3) 读取第4条记录。
(4) 读取当前记录指针位置后第2条记录。 (5) 读取当前记录指针位置前第2条记录。 答:略。
10.3 习题
1. 存储过程和触发器的作用是什么?使用它们有什么好处
答:存储过程(Stored Procedure)是一组完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行存储过程。
触发器是一种特殊类型的存储过程,它不同于前面介绍过的存储过程,主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。
使用存储过程和触发器可以提高系统查询效率,增强数据的完整性。 2. SQL Server 2005中存储过程的类型有哪些?
答:在SQL Server 2005中存储过程分为三类:系统提供的存储过程、用户自定义存储过程和扩展存储过程。
19
3. 在有些情况下,为什么需要重新编译存储过程?
答:在执行诸如添加索引或更改索引列中的数据等操作更改了数据库时,应重新编译访问数据库表的原始查询计划以对其重新优化。在SQL Server 2005重新启动后,第一次运行存储过程时自动执行此优化。当存储过程使用的基础表发生变化时,也会自动执行此优化。但如果添加了存储过程可能从中受益的新索引,将不会自动执行优化,直到下一次SQL Server重新启动并再运行该存储过程时为止。在这种情况下,强制在下次执行存储过程时对其重新编译会很有用。
4. SQL Server 2005中触发器的类别有哪些?
答:SQL Server 包括两大类触发器:DML触发器和DDL触发器。 5. 创建存储过程和触发器的SQL语句是什么? 答:略。
11.3 习题
1. 数据库备份和还原的概念和作用是什么? 答:“备份”是数据的副本,用于在系统发生故障后还原和恢复数据。备份使用户能够在发生故障后还原数据。通过适当的备份,可以从多种故障中恢复。
2. SQL Server 2005中具有哪几种恢复模式?
答:在SQL Server 2005数据库管理系统中,可以选择的三种恢复模式:简单模式、完整模式和大容量日志模式。
3. 描述SQL Server 2005中进行备份和还原的方法。 答:略。
4. 数据库数据导入和导出的概念和作用是什么? 答:通过导入和导出操作可以在SQL Server 2005和其他异类数据源(例如Excel或Oracle数据库)之间轻松移动数据。
5. 在何种情况下,应该使用数据库的备份和还原;何种情况下使用数据库的数据导入和导出?
答:略。
12.6 习题
1. SQL Server 2005的身份验证模式有哪两种?它们有什么不同?
答:这样SQL Server的安全系统可在任何服务器上通过两种方式实现:SQL Server和Windows结合使用(SQL Server and Windows)以及只使用Windows(Windows Only)。
当使用SQL Server身份验证方式时, 由SQL Server系统管理员定义SQL Server账号和口令。混合身份验证模式即允许使用Windows身份验证方式,又允许使用SQL Server身份验证方式。它使用户既可以登录SQL Server,也可用Windows的集成登录。
2. 在SQL Server 2005中进行授权时,角色的作用是什么?
答:SQL Server 2005数据库管理系统利用角色设置,管理用户的权限。这样只对角色进20
共分享92篇相关文档