第一部分 数据库基础以及SQL试题
单选题(共20题,每题3分,共计60分)
1、SQL 中,下列涉及空值的操作,不正确的是( C )
A)AGE IS NULL B)AGE IS NOT NULL
C)AGE=NULL D)NOT (AGE IS NULL)
2、SQL语句中修改表结构的命令是( C )
A)MODIFY TABLE B)MODIFY STRUCTURE
C)ALTER TABLE D)ALTER STRUCTURE
3、下列函数中函数值为字符型的是( B )
A)DATE() B)TIME() C)YEAR() D)DATETIME()
4、数据库系统的核心是( B )
A)数据模型 B)数据库管理系统 C)软件工具 D)数据库
5、在关系模型中,实现
A)候选键 B)主键 C)外键 D)超键
6、索引字段值不唯一,应该选择的索引类型为( B )
A)主索引 B)普通索引 C)候选索引 D)唯一索引
7、在命令窗口执行SQL命令时,若命令要占用多行,续行符是(D )
A)冒号(:) B)分号(;) C)逗号(,) D)连字符(-)
8、设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。
SQL语句正确的是( A )
SELECT 姓名,书名 FROM 借阅,图书,读者 WHERE;借阅.借书证号=
A)图书.总编号=借阅.总编号 AND; 读者.借书证号=借阅.借书证号
B)图书.分类号=借阅.分类号 AND; 读者.借书证号=借阅.借书证号
C)读者.总编号=借阅.总编号 AND; 读者.借书证号=借阅.借书证号
D)图书.总编号=借阅.总编号 AND;
9、设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是
( A )
SELECT 单位,______ FROM 借阅,读者 WHERE;借阅.借书证号=读者.借书证号 ______
A)COUNT(借阅.借书证号) GROUP BY 单位
B)SUM(借阅.借书证号) GROUP BY 单位
C)COUNT(借阅.借书证号) ORDER BY 单位
D)COUNT(借阅.借书证号) HAVING 单位
10、设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
对于图书管理数据库,检索借阅了《现代网络技术基础》一书的借书证号。下面SQL语句
正确的是( B )
SELECT 借书证号 FROM 借阅 WHERE 总编号=;______
A)(SELECT 借书证号 FROM 图书 WHERE 书名=
B)(SELECT 总编号 FROM 图书 WHERE 书名=
C)(SELECT 借书证号 FROM 借阅 WHERE 书名=
D)(SELECT 总编号 FROM 借阅 WHERE 书名=
11、给定创建视图的代码如下:
CREATE VIEW ABCD_____SELECT*FROM SALES WHERE QTY > 90
则下划先处应填写的正确关键字为( B )
A)ON B)AS C)FOR D)AFTER
12、下列代码中哪一行有错( C )
A)SELECT DNAME,ENAME
B)FROM EMP E , DEPT D
C)WHERE EMP.DEPTNO=DEPT.DEPTNO
D)ORDER BY 1,2
13、查询那一个数据字典视图,只能列出用户所拥有的表?( C )
A)ALL_TABLES B)DBA_TABLES C)USER_TABLES D)USR_TABLES
14、在CREATE VIEW命令中哪个子句将阻止通过视图对基表进行更新?( B )
A)WITH CHECK OPTION
B)WITH READ ONLY
C)WITH NO UPDATE
D)没有这样的选项;假如用户对基表有权限,用户可以更新视图
15、表中的一列具有这样的特性,其值的重复度很高,我们可以使用何种索引?( D )
A)唯一索引 B)组合索引 C)反向建索引 D)位图索引
16、在出错处理部分中需要包含什么子句,以便处理前面没有指定的错误?( D )
A)ELSE B)WHEN ANYTHING ELSE
C)WHEN ANY OTHER D)WHEN OTHERS THEN
17、在创建序列的过程中,下列( A )选项指定序列在达到最大值或最小值后,将继续从头
开始生成值。
A)Cycle B)Nocycle C)Cache D)Nocache
18、SQL语句中修改表结构的命令是( C )
A)MODIFY TABLE B)MODIFY STRUCTURE
C)ALTER TABLE D)ALTER STRUCTURE
19、要控制两个表中数据的完整性和一致性可以设置
A)是同一个数据库中的两个表 B)不同数据库中的两个表
C)两个自由表 D)一个是数据库表另一个是自由表
20、当两位用户中的每一位都对一个单独的对象进行了锁定,而他们又要获取对方对象的锁
时,将会发生( B )。(选择一项)
A)共享锁 B)死锁 C)排他锁 D)以上皆非
二、应用题(共5小题,每小题8分,共计40分)
某饭店的客户信息表CUST_INFO如下所示:
CREATE TABLE CUST_INFO
(
CUST_ID NUMBER(5) NOT NULL,
CUST_NAME VARCHAR2(60) ,
CONTACT_NUMBER VARCHAR2(60),
CONSUME_DATE DATE,
CONSUME NUMBER(12,2)
);
1、客户在饭店每就餐消费一次,在表里插入一条消费记录。今天有位叫艾美的客户(客户编号27005)在饭店消费了530元,请将该条信息插入表CUST_INFO中。
INSERT INTO CUST_INFO
VALUES(27005, ’艾美’, NULL,SYSDATE, 530);
或者
INSERT INTO CUST_INFO (CUST_ID,CUST_NAME,CONTACT_NUMBER,CONSUME_DATE,CONSUME)
VALUES(27005, ’艾美’, NULL,SYSDATE, 530);
2、请查询出客户编号在20000与99999之间并且消费金额不等于0的消费记录。
SELECT * FROM CUST_INFO
WHERE CUST_ID>20000 AND CUST_ID
AND CONSUME0;
或者
SELECT * FROM CUST_INFO
WHERE CUST_ID BETWEEN 20000 AND 99999
AND CONSUME0;
3、请查询出消费金额大于平均消费金额的消费记录。
SELECT * FROM CUST_INFO
WHERE CONSUME > (
SELECT AVG(CONSUME) FROM CUST_INFO)
4、请查询出消费总额大于或等于10000元的客户姓名、消费总额,并按照消费总额从高到低排序。
SELECT CUST_NAME, SUM(CONSUME)
FROM CUST_INFO
HAVING SUM(CONSUME)>=10000
GROUP BY CUST_NAME
ORDER BY SUM(CONSUME) ;
5、随着客户的增加,发现客户编号已经快要达到99999了,原来5位数的客户编号已经不够使用。所以现在:(1)客户编号要增加到6位数;(2)在原有的客户编号统一在前面加一个1,如27005则升位为127005。
请根据要求写出SQL语句。
(1)ALTER TABLE CUST_INFO MODIFY(CUST_ID NUMBER(6));
(2)UPDATE CUST_INFO SET CUST_ID= CUST_ID+100000;
COMMIT;
第5章 设备管理习题
四、名词解释
通道: 通道是一个统一管理、专门负责数据输入输出设备控制的硬件设备
设备驱动程序: 设备驱动进程与设备控制器之间的通信程序称为设备驱动程序。
(设备驱动程序是控制设备动作的核心模块,如设备的打开、关闭、读、写等,用来控制设备上数据的传输。它直接与硬件密切相关,处理用户进程发出的I/O请求。)
中断: 当一个正在运行的过程被另外一个过程打断,停止运行过程而转向执行另一过程的活动。在计算机系统中,中断有6种基本类型。(1)I/O中断(2)时钟中断(3)系统请求中断(4)报警中断(5)程序错误中断(6)机器错误中断
磁盘高速缓存:指利用内存中的存储空间来暂存从磁盘中独处的一系列盘块中的信息。(这里的高速缓存是一组在逻辑上属于磁盘,而在物理上驻留在内存中的盘块。)
DMA: Direct Memory Access 直接存储器访问。DMA 是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。
五、问答题
1、为何要引入缓冲技术?
操作系统引入缓冲机制的主要原因可归结为以下几点:(1)缓和CPU与I/O设备间速度不匹配的矛盾;(2)减少对CPU的中断频率,放宽对中断响应时间的限制;(3)提高CPU与I/O设备之间的并行性。
2、什么是虚拟设备?为何要在操作系统中引入虚拟设备?
虚拟设备:通过虚拟技术(SPOOLing技术)可将一台独占设备变换成若干台逻辑设备,供若干个用户(进程)同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。
引入虚拟设备的目的:通过利用SPOOLing技术可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。
3、何为磁盘高速缓存?
磁盘高速缓存:指利用内存中的存储空间来暂存从磁盘中独处的一系列盘块中的信息。(这里的高速缓存是一组在逻辑上属于磁盘,而在物理上驻留在内存中的盘块。)
4、什么叫缓冲(buffering)? 缓冲与缓存(caching)有何差别?
利用存储区缓解数据到达速度与离去速度不一致而采用的技术称为缓冲,此时同一数据只包含一个拷贝。例如,操作系统以缓冲方式实现设备的输入和输出操作主要是缓解处理机与设备之间速度不匹配的矛盾,从而提高资源利用率和系统效率。缓存是为提高数据访问速度而将部分数据由慢速设备预取到快速设备上的技术,此时同一数据存在多个拷贝。例如,
远程文件的一部分被取到本地。当然,在有些情况下,缓冲同时具有缓存的作用。例如UNIX系统对于块型设备的缓冲区,在使用时可保持与磁盘块之间的对应关系,既有缓冲的作用也有缓存的作用,通过预先读与延迟写技术,进一步提高了I/O效率。
5、什么是DMA方式?它与中断方式、通道方式的主要区别是什么?
DMA方式:是对存储器直接存取,在DMA硬件控制下,数据直接在内存和外部设备之间进行传输,不再占用CPU时间,提高了CPU利用率,这种方式适合于成批数据的传输,功能较为简单,但不适合于复杂的I/O操作。
DMA方式与中断I/O方式的区别:
中断方式时是在数据缓冲寄存器满之后发中断要求CPU进行中断处理,而DMA方式则是在
所要求转送的数据块全部传送结束时要求CPU进行中断处理。
中断方式的数据传送是在中断处理时由CPU控制完成的,而DMA方式则是在DMA控制器
的控制下不经过CPU控制完成的。
I/O通道控制方式与DMA方式的区别:
在DMA方式中,数据的传送方向、存放数据的内存始址以及传送的数据块长度等都由CPU
控制,而在通道方式中,这些都由通道来进行控制。
DMA方式每台设备至少需要一个DMA控制器,一个通道控制器可以控制多台设备。
6、简述在通道方式中设备的分配过程。
①分配设备②分配控制器③分配通道(详细参考书P189)
7、简述SPOOLing系统的组成及工作原理。
SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。组成:SPOOLING系统主要有以下四个部分:(1)输入井和输出井,为磁盘上开辟的两大存储空间,分别模拟脱机输入/出时的磁盘,并用于收容I/O设备输入的数据和用户程序的输出数据;
(2)输入缓冲区和输出缓冲区,在内存中开辟,分别用于暂存由输入设备和输出井送来的数据;
(3)输入进程SPi和输出进程SPo,分别模拟脱机输入/出时的外围控制机,用于控制I/O过程;
工作原理:简单来说就是在内存中形成缓冲区,在高级设备形成输出井和输入井,传递的时候,从低速设备传入缓冲区,再传到高速设备的输入井,再从高速设备的输出井,传到缓冲区,再传到低速设备。
如果觉得《中兴校招软件测试面试题 中兴软创笔试题_中兴软创软件测试笔试题》对你有帮助,请点赞、收藏,并留下你的观点哦!