|
4月份考试马上就要到来了,请大家在复习的时候紧紧围绕网络教室中的六套模拟试题进行复习。
简答题和综合题的复习题如下:
一、简答题
1、SQL语言有什么特点?
答:(1)综合统一: SQL语言则集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体;
(⒉) 同一种语法结构提供两种使用方式:SQL语言既是自含式语言,又是嵌入式语言;
(⒊) 高度非过程化:用户只需提出“做什么”,而不必指明“怎么做”;
(4) 面向集合的操作方式。
2、什么是数据库的安全性?什么是数据库的完整性?
答:数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。数据库的完整性是指数据的正确性和相容性,防止不合语义的数据进入数据库。
3、什么是别名技术?
答:SELECT 语句通过为表指定别名来提高可读性。在指派表的别名时,可以使用也可以不使用 AS 关键字,例如,下面两个语句都是正确的:
select z.zgh,z.zgmc from zhigong z
select z.zgh,z.zgmc from zhigong as z
如果为表指派了别名,那么在该 Transact-SQL 语句中对该表的所有显式引用都必须使用别名,而不能使用表名。例如,下列 SELECT 语句将产生语法错误,因为该语句在已指派别名的情况下又使用了表名:
select zhigong.zgh,zhigong.zgmc from zhigong z
4、什么是数据库恢复?
答:数据库的恢复是指把数据库从错误状态恢复到某一正确(亦称完整状态或一致状态)的过程。
5、数据库是一个共享资源,在多用户共享系统中,并发操作的含义是什么?
答:在多用户共享系统中,多个用户同时对同一数据进行操作称为并发操作。
6、什么是存储过程? 使用存储过程有什么好处?
答:存储过程是一种数据库对象,有一组预编译的SQL语句组成。使用存储过程可实现模块化编程,加快程序执行速度,可减少网络通讯,还可保证数据库安全。
7、什么是锁的粒度?分为哪几个级别?
答:锁的粒度是指封锁的范围,包括数据库级锁、表级锁、页级锁、行级锁。
8、试述DBMS的基本功能。
答:DBMS主要是实现对共享数据有效的组织、管理和存取。围绕数据,DBMS应具有如下几个方面的基本功能。
(1)数据库定义
(2)数据存取
(3)数据库运行管理
(4)数据组织、存储和管理
(5)数据库的建立和维护
(6)其他功能,包括DBMS与网络中其他软件系统的通信功能;一个DBMS与另一个DBMS或文件系统的数据转换功能;异构数据库之间的互访和互操作功能等。
9、为什么数据库中数据信息和日志信息不能放在同一个文件中?
答:如果放在同一个文件中的话,当数据库系统出现故障时,假如这个文件损坏,那么数据和日志将同时丢失,也就没法恢复。所以不能放在同一个文件中。
10、请简述SQL语言中VIEW(视图)的含义,VIEW与基本表有什么区别和联系?
答:视图是根据预定义的查询建立起来的虚拟表。视图可以和基表一样被查询和操作。基表包含了存储在磁盘上的数据,而视图的内容通常没有被存在磁盘上,对视图的操作会转化为对基表的操作。有些对基表可以执行的操作对视图不能进行。
11、登录账户和用户账户有何不同
答:登录ID用于提供对SQL Server的访问,用户ID提供授权的用户对数据库的访问。
12、数据导出和备份有什么不同?
答:数据导出是一种数据转换。数据转换是指将数据从一个存储格式转化为其它的存储格式,用于数据的外部交换。而数据备份是专有的,一般不能用于不同数据源之间的的交换,而只用于相同数据源内的内部交换。
13、dbo是一个什么性质的用户,它具有怎样的角色?
答:dbo是系统管理员,在整个数据库系统中具有最大权限,它与固定服务器角色 sysadmin(在服务器中可以执行任何操作)和固定数据库角色db_owner(在数据库中可以执行任何操作)有密切联系。每一个数据库只能有一个dbo,dbo是不能被删除的。
14、什么样的视图不可以更新?
答:符合下列条件的视图不可以更新:
(1)定义视图的FROM子句包括多张表,并且视图中的列来自多张表。
(2)视图列是从聚集函数中得到的。
(3)定义视图的SELECT语句包括了GROUP BY子句或者DISTINCT。
15、什么是数据库恢复?
答:数据库的恢复是指把数据库从错误状态恢复到某一正确(亦称完整状态或一致状态)的过程。
二、综合题
现有考核表,其定义如下:
考核
编号 列名称 列类型 长度 是否为主键 约束条件 缺省值
1 姓名 char 10
2 组别 char 20
3 工资 numeric 8,2
4 病假天数 integer
5 休假天数 integer
使用SQL语句完成下列任务:
(1) 查询表中姓名和组别的数据, 使得查询结果显示次序是组别、姓名。
(2) 显示所有不重复的组名。
(3) 显示考核表中所有姓唐的职工工资,并按工资进行降序排序。
(4) 查询每一组别的平均工资。
(5) 查询平均工资低于30000的组别。
(6) 查询平均病假多于10 天和平均年休假少于5 天的组别。
(7) 查询每一个组中病假数超过7天的人数。
(8) 考核表的插入权限授权给用户“test”,并且test可以将此权限再授权给别人。
参考答案:
(1)SELECT 组别, 姓名 FROM 考核
(2)SELECT DISTINCT 组别 FROM 考核
(3)SELECT 姓名, 工资 FROM 考核
WHERE 姓名 LIKE '唐%'
ORDER BY 工资
(4)SELECT 组别, AVG(工资) FROM 考核 GROUP BY 组别
(5)SELECT 组别, AVG(工资) FROM 考核
GROUP BY 组别
HAVING AVG(工资)< 30000
(6)SELECT 组别,AVG(病假天数),AVG(休假天数)
FROM 考核
GROUP BY 组别
HAVING AVG(病假天数)>10 AND AVG(休假天数)<5
(7)SELECT 组别, COUNT(组别)
FROM 考核
WHERE 病假天数 >=7
GROUP BY 组别
(8)GRANT INSERT ON 考核 TO test WITH GRANT OPTION
|
|