收藏 分销(赏)

2023年数据库笔试题.doc

上传人:二*** 文档编号:4510383 上传时间:2024-09-26 格式:DOC 页数:12 大小:141.54KB
下载 相关 举报
2023年数据库笔试题.doc_第1页
第1页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、软件-数据库-级题目1在数据库系统模型中,哪三种模型是目前使用的,其中最具优势的是哪种模型?参考答案层次模型、网状模型、关系模型;关系模型。题目2关系数据库的专用语言是什么,它可以对数据中的数据进行数据检索及哪些操作,对检索出来的数据可以进行哪些操作?参考答案SQL;数据更新、数据删除;数据复制、数据排序、数据连接。题目3假如想向一个表做插入、更新、删除操作的时能自动执行另一SQL操作,用什么来实现?参考答案触发器题目41、 在主键与外键的互相关系描述中下面哪个操作不破坏参照完整性1)、主键值存在,删除外键值。2)、外键值存在,删除主键值。 3)、主键值不存在,插入外键值。参考答案第一个。题目

2、5如何避免数据库死锁?参考答案预先规定一个封锁顺序,所有的事务都必须按这个顺序对数据加锁。题目6请列举出ADO编程模型中4种以上对象的名称。参考答案连接、命令、参数、记录集、字段、错误、属性、集合、事件(四个即可)题目7写出一个连接查询的SQL语句。参考答案select * from tablename1,tablename2 where tablename1.field1 = tablename2.field2题目8写出一使用嵌套查询的SQL语句。参考答案select * from table1 where table1.field1 in (select table2.filed2 fro

3、m table2 )题目9编写一游标操作示例,从表中检索出某一列数据。参考答案declare 游标名 cursor for select classname from class; open 游标名; fetch 游标名 into : strClassName; close 游标名; free 游标名;题目10举例说明如何使用SQL Select 语句完毕操作:下面是图书管理模型:关系1:借书人(姓名、借书卡号、单位)关系2:图书借阅(卡号、书号、书名、借书日期)关系3:图书(书号、分类号、书名、作者、价格、书架号)1) 找出1999年9月15日前借书人的书证号和书号。2) 找出借阅的书号为2

4、23456的借书人的姓名和单位。3) 找出没被借出的书名。参考答案1、Select 卡号,书号 from 图书借阅 where 借期1999.09.05 Order by 卡号。 2、Select 姓名,单位 from 借书人 where 卡号=(select 卡号 from 图书借阅 where 书号=223456)。 3、select 书名 from 图书 where 书号 Not in (select 书号 from 图书借阅 where 书号=图书.书号 and 书名=图书.书名)题目11在下面列出的几种语言中,哪一种是关系数据库的标准语言? A) C B) FORTRAN C) SQ

5、L D) PASCAL 参考答案C题目12什么是触发器,有什么作用参考答案(1) 触发器是一种特殊类型的存储过程,当使用下面的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或 DELETE。触发器可以查询其它表,并且可以包含复杂的 SQL 语句。它们重要用于强制复杂的业务规则或规定。例如,可以控制是否允许基于顾客的当前帐户状态插入定单。(2) 触发器尚有助于强制引用完整性,以便在添加、更新或删除表中的行时保存表之间已定义的关系。然而,强制引用完整性的最佳方法是在相关表中定义主键和外键约束。假如使用数据库关系图,则可以在表之间创建关系以自动创建外键约

6、束。(3) 触发器是自动的:它们在对表的数据作了任何修改(比如手工输入或者应用程序采用的操作)之后立即被激活。(4) 触发器可以通过数据库中的相关表进行层叠更改。例如,可以在 titles 表的 title_id 列上写入一个删除触发器,以使其它表中的各匹配行采用删除操作。该触发器用 title_id 列作为唯一键,在 titleauthor、sales 及 roysched 表中对各匹配行进行定位。(5) 触发器可以强制限制,这些限制比用 CHECK 约束所定义的更复杂。与 CHECK 约束不同的是,触发器可以引用其它表中的列。例如,触发器可以回滚试图对价格低于 10 美元的书(存储在 ti

7、tles 表中)应用折扣(存储在 discounts 表中)的更新。 (6) 触发器是一种很好的方法,可以用于实现业务规则,可以检查事务,也可以很容易地存档系统信息。(7) 通过使用触发器收集的信息,可以提高数据库的性能,以及拟定所要采用的索引方案。所有这些功能,涉及实时更新,使触发器成为任何公司级数据库应用的集成部分。触发器可以使用户的应用程序的功能更强大。题目13什么是存储过程,如何写存储过程?存储过程与应用程序有什么不同参考答案(1) 存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一

8、个单元解决。存储过程存储在数据库内,可由应用程序通过一个调用执行,并且允许用户声明变量、有条件执行以及其它强大的编程功能。(2) 存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。(3) 可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:可以在单个存储过程中执行一系列 SQL 语句。可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。数据访问的公共接口代码的模块化和重用通过数据隔离实现安全性独立于外部编程语言(4) 存储过程的功能取决

9、于数据库所提供的功能。(5) 创建存储过程可使用 Transact-SQL 语句 CREATE PROCEDURE 创建存储过程。创建存储过程前,请考虑下列事项: 不能将 CREATE PROCEDURE 语句与其它 SQL 语句组合到单个批解决中。创建存储过程的权限默认属于数据库所有者,该所有者可将此权限授予其他用户。存储过程是数据库对象,其名称必须遵守标记符规则。只能在当前数据库中创建存储过程。 创建存储过程时,应指定: 所有输入参数和向调用过程或批解决返回的输出参数。执行数据库操作(涉及调用其它过程)的编程语句。返回至调用过程或批解决以表白成功或失败(以及失败因素)的状态值。题目14描述

10、tablespace和datafile之间的关系参考答案tablespace是逻辑上的概念,datafile是物理上的概念。一个tablespace可以由多个datafile组成,但一个datafile不能跨越多个tablespace。题目15绑定变量是什么?绑定变量有什么优缺陷?参考答案通俗的说,绑定变量就是变量的一个占位符,使用绑定变量可以减少对SQL语句的解析。优点:A.提高执行SQL语句性能;B.减少对SHARE POOL的占用缺陷:编码相对复杂,SQL语句不能动态拼装。题目16SQL语言和PL/SQL的区别参考答案SQL是非过程化语言,PL/SQL是一种过程化语言,可以象C语言那样进

11、行过程控制。题目17以下数据库哪个不能安装在UNIX操作系统A Sql server B Oracle C DB2 D Sybase参考答案A题目18列出你知道的oracle索引类型参考答案B树索引、位图索引、函数索引、反序索引题目19在ORACEL中,有哪些类型的SQL语句,请具体举例参考答案DATA REETRIVE: 数据查询 -SELECTDML: 数据操作语言 -INSERT UPDATE DELETE MERGEDDL:数据定义语言 -CREATE ALTER DROP RENAME TRUNCATEDCL:数据控制语言 -GRANT REVOKETRANSACTION CONTR

12、OL:事物控制 -COMMIT ROLLACK SAVEPOINT题目20在ORACEL中,有几种约束来保证数据的完整一致,请具体列出参考答案1.NOT NULL -不能为空2.PRIMARY KEY -主键3 FOREIGN KEY -外键4 UNIQUE -唯一5 CHECK -检查题目21请列出ORACLE数据库中常用的几种数据库对象(至少8种)参考答案1. TABLE 表 2.INDEX 索引 3.FUNCTION 函数 4.PROCEDURE 过程 5.PACKAGE 包 6.VIEW 视图7.SYNONYM 同义词 8.CLUSTER 簇 9.PACKAGE BODY 包体 10

13、DATABAS LINK 数据连接11.TABLE PARTITION 表分区 12 INDEX PARTITION 索引分区 13.TYPE 对象14.TRIGGER 触发器 15 SEQUENCE 序列 16 MATERIALIZED VIEW 物化视图软件-数据库-级题目1为什么要使用存储过程,有哪些好处?参考答案存储过程是集中存储在数据库服务器中的预先定义且已经编译好的事务。存储过程SQL语句和流程控制语句组成。存储过程是预编译过的,这就意味着它与普通的SQL语句或批解决的SQL语句不同,当初次运营一个存储过程时,SQL Server的查询解决器对其进行分析,在排除了语法错误之后形成存

14、储在系统中的可执行方案。由于查询解决的大部分工作已经完毕,所以存储过程执行速度不久。 存储过程和待解决的数据都放在同一台运营数据库服务器的计算机上,使用存储过程查询本地的数据,效率自然很高。 存储过程一般多由Client端通过存储过程的名字进行调用,即跨网传送的只是存储过程的名字及少量的参数(假如有的话),而不是构成存储过程的许多SQL语句,因此可以减少网络传输量,加快系统响应速度。 存储过程尚有着如同C语言子函数那样的被调用和返回值的方便特性。 存储过程大大增强了SQL语言的功能、效率和灵活性,所以要使用存储过程。题目2请说明触发器的重要作用和分类。参考答案保证数据的一致性。Deleted

15、,inserted,updated题目3unique约束和primary key约束有何不同?参考答案unique产生唯一的非聚集约束.其列允许为空。primary key产生唯一的聚集约束.其列不允许为空。题目4存储过程为什么执行较快?参考答案已编译好放在服务器端。题目5为什么要使用视图?参考答案使用视图是为了安全性和一致性以及屏蔽复杂性。安全性:用户只拥有操作视图的权限而无操作表的权限,可以使一些用户不该操作的数据得到保护;一致性:当基表发生变化时,视图也进行修改,保持一致。屏蔽复杂性:视图可以使某些复杂的查询操作以简朴的形式将结果表现出来。题目6在VISUAL C+下的数据库访问接口有哪

16、些,请列举出3种以上。参考答案ODBC API、Embedded SQL、ADO、RDO、DAO、OLE DB、DMO等。题目7聚类索引(clustered)、非聚类索引(noclustered)的区别何在?参考答案在聚类索引中,表中数据行的物理顺序与索引中键行的顺序一致,非聚类索引表中数据行并不是这样排列顺序。题目8在何种情况下应当避免使用系统管理员登录数据库?参考答案在任何情况下尽量避免,在安装好数据库后就应重新建立一个登录用户,保证访问安全。题目9触发器是存储过程吗?请写出一个触发器的简朴示例。参考答案触发器是一种特殊的存储过程。Create trigger trigger_name o

17、n table_name for INSERT,DELETE,UPDATE as SQL语句题目10有两个表:学生表(学号、姓名)和选修课成绩表(学号、成绩)试编写一SQL 语句,从选修课成绩表中删除学号在学生表中不存在的记录。参考答案delete from 选修课成绩表 where 学号 not in (select 学号 from 学生表)。题目11Visual FoxPro(VFP)对xBase数据库作了许多改变,重要涉及 .VFP扩充了xBase关于一个数据库实质上是一个二维表的数据库概念 .VFP提供了数据字典 .VFP提供了存储过程、视图、触发器等 A) 和 B) 和 C) 和 D

18、) 都是 参考答案D题目12下面程序段的时间复杂度是:s = 0;for( i=0; in; i+)for( j=0; jnext;q-next= &s;题目14设有下列程序段: int arr=6,7,8,9,10; int * ptr; ptr=arr; * (ptr+2)+=2; printf (%d,%dn,*ptr,*(ptr+2);请选择,程序段的输出结果为: A)8,10 B)6,8 C)7,9 D)6,10参考答案D题目15在栈顶指针为HS的链栈中,编写一个计算该链栈中节点个数的函数。参考答案参考答案:intcount( node * HS)intn = 0;node*p;p

19、= HS;while( p != NULL )n+;p = p - next;return(n);题目16Oracle数据库中是否大小写敏感?参考答案1 有些命令敏感,如 The CASCADE and RESTRICT clauses in the DROP TABLE, DROP VIEW, and REVOKE statements2 有些命令视具体的驱动器不同而大小写敏感情况不同如通过某些桥式驱动程序访问时大小写敏感,如删除表记录时在sqlplus等工具大小写不敏感,而在jdbc中大小写敏感,题目17在ORACLE中如何用转换函数进行16进制和10进制数的互转?参考答案16进制转换为1

20、0进制:to_number( 19f, xxx )10进制转换为16进制:to_char( 123, xxx )题目18简朴描述ORACLE数据库tablespace/segment/extent/block之间的关系参考答案这4个都是逻辑上的概念。block是最小的储存单元,多个block组成extent,多个extent组成segment,多个segment组成tablespace。题目19如何使用CBO,CBO与RULE的区别? 参考答案通过初始化参数optimizer_mode=CHOOSE/FIRST_ROWS/ALL_ROWS使用CBOCBO根据表和索引的记录信息、db_file_

21、multiblock_read_count、CPU并行能力等因素决定访问途径;RULE(RBO)根据表的索引及字句顺序决定访问途径。题目20Oracle数据库中哪个内存区域存放最近使用过的数据库块儿参考答案数据库缓冲区题目21请列出oracle数据库的重要后台进程参考答案数据库写进程、日记写进程、系统监控进程、进程监控进程、检查点进程题目22ORACLE数据库内置函数union和union all有区别吗?假如有请简述一下。参考答案有区别 1.union 会把结果集反复的记录过滤掉,只保存一条,在执行时会产生排序,速度相对较慢,所耗资源相对较多 2.union all 只是把结果集简朴相加,在

22、执行时会不产生排序,速度相对较快,所耗资源相对较少题目23在ORACLE数据库,有一张表有10万条记录,大小为10M,通过DELETE命令把记录所有删除,请问删除后标的大小为多少?为什么?参考答案表大小仍为10M,由于DELETE命令虽然把表的记录都删除了,但表高水位标志(HWM)并没有降下来,所以表的大小不变。题目24DECLAREBEGINFOR I IN 11000000 LOOP INSERT INTO EMP(ID, NAME, AGE, DEPT)VALUE(I+1, TEST, I+1, TEST); COMMIT;END LOOP;END;请问在ORACLE数据库此段代码是否合

23、理,假如不合理请指出是哪里,给出因素并修改代码参考答案不合理,不应当每循环一次都进行提交(COMMIT),因素:1.频繁的提交(COMMIT),会导致日记文献的频繁物理写入,容易产生等待2.导致不必要的块清除(block cleanout),消耗大量的CPU资源修改后的代码:DECLARE J NUMBER;BEGINFOR I IN 11000000 LOOP INSERT INTO EMP(ID, NAME, AGE, DEPT)VALUE(I+1, TEST, I+1, TEST); J := J+1; IF J = 5000 THEN -数量不一定是5000 COMMIT; END I

24、F; J := 0;END LOOP;END;软件-数据库-级题目1在数据库系统中,规则和约束有何区别?参考答案规则和约束都是用来对表的列的数据进行限制的,约束是首选的、标准的方式,表的每一列仅可以有一个规则,但可以有多个约束,约束是表的一部分,和表一起创建,而规则可以在表创建之前创建。题目2在数据库中,如何拟定用户是否具有访问视图和执行存储过程的权限?参考答案用户要访问视图和执行存储过程,必须拥有访问视图的基表或存储过程所引用的对象的权限。题目3在大型数据库系统中,有几种方式可以实现数据备份/恢复,它们是什么?(至少两种)参考答案3种。1.数据库整体备份/恢复,即使用Dump备份数据库和Lo

25、ad恢复数据库;2.批量数据备份/恢复,如BCP,对BCP有命令行方式、Bulk-Library/C编程和DB-Library/C编程等方式。3.通过ODBC等访问接口编程实现。题目4什么样的表满足第二范式?什么样的表满足第三范式?参考答案满足第二范式的表,表中任一非主键列都依赖于主键列;满足第三范式的表,在满足第二范式的基础上,表中任一非主键列都不依赖于另一非主键列;题目5角色权限与用户权限有什么区别?参考答案可使用grant 授权各类角色,涉及系统和用户自定义角色。角色权限特殊性在于,角色权限驾凌于用户权限之上: 如用户A具有角色B,角色B有权限执行存储过程,当用户A的执行该存储过程的权限

26、被取消后,通过角色B,用户仍可执行该存储过程。题目6数据库同步时,做好配置后,数据库间传递的是什么?参考答案数据库同步时,做好配置后,数据库间传递的是:日记题目7你正在创建一个数据库,预计对它会有频繁的INSERT、UPDATE、DELETE操作,你将要如何调整事物日记默认的大小?假如重要用于查询,要如何解决?参考答案应当考虑手工增长事务日记的大小。重要用于查询的数据库通常不需要非常大的事务日记,应考虑将事务日记的大小降到数据库总大小的10%。题目8假设有两个表: class(classid, classname); score(studentid, classid ,sumscores)其中

27、第一个表存放班级信息,第二个存放学生的总成绩,试编写一个SQL语句,查询出学生总成绩的平均分超过80分的班级名称。参考答案select class.classname from class where class.classid in (select score.classid from score group by(score.classid) having avg(score.sumscores) 80)题目9为用户提供什么样的备份恢复策略比较好?参考答案应尽量提供自动备份功能,在用户规定的时间范围自动备份数据。题目10若使用ORACLE系统开发一个数据库应用系统,在进行数据库模式设计时,

28、在如下所列出的软件中,应选用A) ORACLE Developer/2023 B) ORACLE Designer/2023 C) ORACLE PL/SQL D) ORACLE RDBMS 参考答案B题目11谈谈你对3NF(三范式)的理解,为什么数据库设计最少要满足3NF的规定?参考答案当数据库按第三范式设计,就没有数据冗余,数据更新只需在一个地点进行,可以最大的保证数据的完整性、一致性,提高数据库的性能和效率。题目12Oracle数据库中是否大小写敏感?参考答案1 有些命令敏感,如 The CASCADE and RESTRICT clauses in the DROP TABLE, DR

29、OP VIEW, and REVOKE statements2 有些命令视具体的驱动器不同而大小写敏感情况不同如通过某些桥式驱动程序访问时大小写敏感,如删除表记录时在sqlplus等工具大小写不敏感,而在jdbc中大小写敏感,题目13存储量1GB(Giga Byte)大约等于, A) 1000KB B) 100KB C) 1000000KB D) 100000KB 答案C题目14以下关于链式存储结构的叙述中哪一条是不对的的? A) 结点除自身信息外还涉及指针域,因此存储密度小于顺序存储结构 B) 逻辑上相邻的结点物理上不必邻接 C) 可以通过计算直接拟定第i个结点的存储地址 D) 插入、删除运

30、算操作方便,不必移动结点 参考答案C题目15在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11, 所需的关键码比较次数为 A) 2 B) 3 C) 4 D) 5 参考答案C题目16设有关系R,S和T如下。关系T是由关系R和S通过哪种操作得到的? R S T A B C A B C A B C 1 2 3 4 1 6 4 1 6 1 2 3 3 2 4 2 7 1 3 2 4 A) RS B) R - S C) RS D) RS 参考答案B题目17以下关于广义表的叙述中,对的的是A) 广义表是0个或多个单元素或子表组成的有限序列B) 广义表至少有一

31、个元素是子表 C) 广义表不可以是自身的子表 D) 广义表不能为空表 参考答案A题目18假如一棵二叉树结点的前序序列是A、B、C,后序序列是C、B、A,则该二叉树结点的对称序序列 A) 必为A、B、C B) 必为A、C、B C) 必为B、C、A D) 不能拟定 参考答案D题目19设有关系R(S,D,M),其函数依赖集F=SD,DM。则关系R至多满足A) 1NF B) 2NF C) 3NF D) BCNF 参考答案B题目20ORACLE控制文献坏了一个后如何启动数据库?参考答案在pfile中删除该控制文献的设立或将另一个好的控制文献覆盖到坏的控制文献,重启数据库。题目21Oracle系统进程重要

32、有哪些?作用是什么?参考答案A数据库写程序 (DBW0) 负责将更改的数据从数据库缓冲区高速缓存写入数据文献B日记写入程序 (LGWR) 将重做日记缓冲区中注册的更改写入重做日记文献C系统监控程序 (SMON) 检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复D过程监视器 (PMON) 负责在一个 Oracle 进程失败时清理资源E检查点进程 (CKPT) 负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时更新控制文献和数据文献中的数据库状态信息题目22ORACLE备份有哪几类?简要描述一下。参考答案逻辑备份和物理备份。Oracle备份涉及逻辑备份和物理备份。 A逻辑备份 (1

33、)输出(Export)输出可以是整个数据库、指定用户或指定表。 (2)输入(Import)输入将输出建立的二进制转储文献读入并执行其命令。 B物理备份 物理备份包含拷贝构成数据库的文献而不管其逻辑内容。 Oracle支持两种不同类型的物理文献备份:脱机备份(offline backup)和联机备份(online backup)。 (1) 脱机备份 脱机备份用在当数据库已正常关闭,数据库处在offline时,要备份下列文献: l 所有数据文献 l 所有控制文献 l 所有联机日记 l init.ora(可选的)2) 联机备份 联机备份可用来备份任何运作在ARCHIVELOG方式下的数据库。在这种方

34、式下,联机日记被归档,在数据库内部建立一个所有作业的完整记录。 联机备份过程具有强有力的功能。第一,提供了完全的时间点(point-in-time)恢复。第二,在文献系统备份时允许数据库保持打开状态。 题目23简要描述oracle专有服务器模式下PGA(程序全局区)的构成参考答案排序区、会话信息、光标状态、堆栈空间题目24请简述oracle数据库中检查点(checkpoint)的含义参考答案当oracle后台写进程将所有更改的数据库缓冲区(涉及提交和未提交的数据)写到数据库文献时,这个事件称为检查点题目25在ORACLE数据库中,插入(INSERT)数据时是会产生锁及相应得等待事件吗,请具体说

35、明。参考答案会产生锁,表级锁(TM)为:Row Exclusive(行排他锁)行级级锁(TX)为:Exclusive(排他锁)当不同会话(SESSION)插入同一数值到同一字段,此字段是主键或有唯一(UNIQUE)限制时,则会产生等待(阻塞)题目26在ORACLE数据库中,如何用SQL语句停止一个会话进程(SESSION)参考答案ALTER SYSTEM KILL SESSION sid,serial#题目27在ORACLE数据库中,有一个表EMP(ID NUMBER,NAME VARCHAR2(10))其中ID 100 的记录为1000条100 = ID 500的记录为3000条请用一个sql语句(不涉及子查询模式)用以下的格式输出: CLOUMN1 CLOUMN 2 CLOUMN 3 1000 2023 3000参考答案SELECT SUM(CASE WHEN ID 100 THEN 1 ELSE 0 END ) CLOUMN1, SUM(CASE WHEN 100 = ID AND ID 7782 THEN 1 ELSE 0 END ) CLOUMN3FROM EMP

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服