文档库 最新最全的文档下载
当前位置:文档库 › 数据库面试题及答案

数据库面试题及答案

数据库面试题及答案
数据库面试题及答案

数据库面试题 1

1. 在一个查询中,使用哪一个关键字能够除去重复列值?

答案:使用distinct关键字

2. 什么是快照?它的作用是什么?

答案:快照Snapshot是一个文件系统在特定时间里的镜像,对于在线实时数据备份非常有用。快照对于拥有不能停止的应用或具有常打开文件的文件系统的备份非常重要。对于只能提供一个非常短的备份时间而言,快照能保证系统的完整性。

3. 解释存储过程和触发器

答案:

存储过程是一组Transact-SQL语句,在一次编译后可以执行多次。因为不必重新编译Transact-SQL语句,所以执行存储过程可以提高性能。

触发器是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行。

4. SQL Server是否支持行级锁,有什么好处?

答案:支持动态行级锁定

SQL Server 2000动态地将查询所引用的每一个表的锁定粒度调整到合适的级别。当查询所引用的少数几行分散在一个大型表中时,优化数据并行访问的最佳办法是使用粒度锁,如行锁。但是,如果查询引用的是一个表中的大多数行或所有行,优化数据并行访问的最佳办法可以是锁定整个表,以尽量减少锁定开销并尽快完成查询。

SQL Serve 2000通过为每个查询中的每个表选择适当的锁定级别,在总体上优化了数据并发访问。对于一个查询,如果只引用一个大型表中的几行,则数据库引擎可以使用行级锁定;如果引用一个大型表的几页中的多行,则使用页级锁定;如果引用一个小型表中的所有行,则使用表级锁定。

5. 数据库日志干什么用,数据库日志满的时候再查询数据库时会出现什么情况。答案:每个数据库都有事务日志,用以记录所有事务和每个事务对数据库所做的修改。

6. 存储过程和函数的区别?

答案:存储过程是用户定义的一系列SQL语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表

7. 事务是什么?

答案:事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:

(1) 原子性

事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。

(2) 一致性

事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。

(3) 隔离性

由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。

(4) 持久性

事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。

8. 游标的作用?如何知道游标已经到了最后?

答案:游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。

9. 触发器分为事前触发和事后触发,这两种触发有何区别?语句级触发和行级触发有何区别?

答案:

事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。

语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。

10. 解决死锁的方法有哪些?

答案:

解决手段一:SQL Server自动检测和消除死锁

解决手段二:设置死锁优先级

解决手段三:设置锁定超时

解决手段四:使用更新锁避免死锁

11. 提高数据库运行效率的办法有哪些?

答案:在给定的系统硬件和系统软件条件下,提高数据库系统的运行效率的办法是:

(1) 在数据库物理设计时,降低范式,增加冗余, 少用触发器, 多用存储过程。

(2) 当计算非常复杂、而且记录条数非常巨大时(例如一千万条),复杂计算要先在数据库外面,以文件系统方式用C++语言计算处理完成之后,最后才入库追加到表中去。这是电信计费系统设计的经验。

(3) 发现某个表的记录太多,例如超过一千万条,则要对该表进行水平分割。水平分割的做法是,以该表主键PK的某个值为界线,将该表的记录水平分割为两个表。若发现某个表的字段太多,例如超过八十个,则垂直分割该表,将原来的一个表分解为两个表。

(4) 对数据库管理系统DBMS进行系统优化,即优化各种系统参数,如缓冲区个

数。

(5) 在使用面向数据的SQL语言进行程序设计时,尽量采取优化算法。总之,要提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化,这三个层次上同时下功夫。

12. 通俗地理解三个范式

答案:通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解):

第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟

一性;

第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。

13. 简述存储过程的优缺点

优点:

1. 更快的执行速度:存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度;

2. 与事务的结合,提供更好的解决方案:当对数据库进行复杂操作时(如对多个表进行Update、Insert、Query和Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用;

3. 支持代码重用:存储过程可以重复使用,可减少数据库开发人员的工作量;

4. 安全性高:可设定只有某此用户才具有对指定存储过程的使用权。

缺点:

1. 如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则您仍需要更新程序集中的代码以添加参数、更新 GetValue() 调用,等等,这时候估计比较繁琐了。

2. 可移植性差由于存储过程将应用程序绑定到 SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。如果应用程序的可移植性在您的环境中非常重要,则将业务逻辑封装在不特定于 RDBMS 的中间层中可能是一个更佳的选择。

14. 主键和唯一索引有什么区别?

答案:

相同点:它们都属于实体完整性约束。

不同点:

(1) 唯一性约束所在的列允许空值,但是主键约束所在的列不允许空值。

(2) 可以把唯一性约束放在一个或者多个列上,这些列或列的组合必须有唯一的。但是,唯一性约束所在的列并不是表的主键列。

(3) 唯一性约束强制在指定的列上创建一个唯一性索引。在默认情况下,创建唯一性的非聚簇索引,但是,也可以指定所创建的索引是聚簇索引。

(4) 建立主键的目的是让外键来引用。

(5) 一个表最多只有一个主键,但可以有很多唯一键。

15. 简述索引存取的方法的作用和建立索引的原则

作用:加快查询速度。

原则:

(1) 如果某属性或属性组经常出现在查询条件中,考虑为该属性或属性组建立索引;

(2) 如果某个属性常作为最大值和最小值等聚集函数的参数,考虑为该属性建立索引;

(3) 如果某属性经常出现在连接操作的连接条件中,考虑为该属性或属性组建立索引;

16. 简述数据库的设计过程

数据库设计分为五个阶段:

需求分析:主要是准确收集用户信息需求和处理需求,并对收集的结果进行整理和分析,形成需求说明。

概念结构设计:对用户需求进行综合、归纳、抽象,形成一个与与具体的DBMS 无关概念模型(一般为ER模型)。

逻辑结构设计:将概念结构设计的概念模型转化为某个特定的DBMS所支持的数据模型,建立数据库逻辑模式,并对其进行优化,同时为各种用户和应用设计外模式。

物理结构设计:为设计好的逻辑模型选择物理结构,包括存储结构和存取方法等,建立数据库物理模式。

实施和维护:实施就是使用DLL语言建立数据库模式,将实际数据载入数据库,建立真正的数据库。维护阶段是对运行中的数据库进行评价、调整和修改。

17. 什么是内存泄漏?

答案:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。

18. 什么是基本表?什么是视图?

答案:基本表是本身独立存在的表,在 SQL 中一个关系就对应一个表。

视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表

19. 试述视图的优点

(1) 视图能够简化用户的操作

(2) 视图使用户能以多种角度看待同一数据;

(3) 视图为数据库提供了一定程度的逻辑独立性;

(4) 视图能够对机密数据提供安全保护。

20. 所有的视图是否都可以更新?为什么?

答案:不是。

视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。

因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的。

21. 哪类视图是可以更新的?哪类视图是不可更新的?各举一例说明。

答案:基本表的行列子集视图一般是可更新的。若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。

22. 维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么? 答案:尽可能用约束(包括CHECK、主键、唯一键、外键、非空字段)实现,这种方式的效率最好;其次用触发器,这种方式可以保证无论何种业务系统访问数据库都能维持数据库的完整性、一致性;最后再考虑用自写业务逻辑实现,但这种方式效率最低、编程最复杂,当为下下之策。

23. 在为视图创建索引前,视图本身必须满足哪些条件?

(1) 视图以及视图中引用的所有表都必须在同一数据库中,并具有同一个所有者

(2) 索引视图无需包含要供优化器使用的查询中引用的所有表。

(3) 必须先为视图创建唯一群集索引,然后才可以创建其它索引。

(4) 创建基表、视图和索引以及修改基表和视图中的数据时,必须正确设置某些SET 选项(在本文档的后文中讨论)。另外,如果这些 SET 选项正确,查询优化器将不考虑索引视图。

(5) 视图必须使用架构绑定创建,视图中引用的任何用户定义的函数必须使用SCHEMABINDING 选项创建。

(6) 另外,还要求有一定的磁盘空间来存放由索引视图定义的数据。

24. 什么是SQL Server的确定性函数和不确定性函数?

答案:只要使用特定的输入值集并且数据库具有相同的状态,不管何时调用,始终都能范围相同结果的函数叫确定性函数。几十访问的数据库的状态不变,每次书用特定的输入值都可能范围不同结果的函数叫非确定性函数。

一.选择题

1. 下面叙述正确的是______。

A、算法的执行效率与数据的存储结构无关

B、算法的空间复杂度是指算法程序中指令(或语句)的条数

C、算法的有穷性是指算法必须能在执行有限个步骤之后终止

D、以上三种描述都不对

2. 以下数据结构中不属于线性数据结构的是______。

A、队列

B、线性表

C、二叉树

D、栈

3. 在一棵二叉树上第5层的结点数最多是______。

A、8

B、16

C、32

D、15

4. 下面描述中,符合结构化程序设计风格的是______。

A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑

B、模块只有一个入口,可以有多个出口

C、注重提高程序的执行效率

D、不使用goto语句

5. 下面概念中,不属于面向对象方法的是______。

A、对象

B、继承

C、类

D、过程调用

6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。

A、可行性分析

B、需求分析

C、详细设计

D、程序编码

7. 在软件开发中,下面任务不属于设计阶段的是______。

A、数据结构设计

B、给出系统模块结构

C、定义模块算法

D、定义需求并建立系统模型

8. 数据库系统的核心是______。

A、数据模型

B、数据库管理系统

C、软件工具

D、数据库

9. 下列叙述中正确的是______。

A、数据库是一个独立的系统,不需要操作系统的支持

B、数据库设计是指设计数据库管理系统

C、数据库技术的根本目标是要解决数据共享的问题

D、数据库系统中,数据的物理结构必须与逻辑结构一致

10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。

A、内模式

B、外模式

C、概念模式

D、逻辑模式

11. Visual FoxPro数据库文件是______。

A、存放用户数据的文件

B、管理数据库对象的系统文件

C、存放用户数据和系统的文件

D、前三种说法都对

12. SQL语句中修改表结构的命令是______。

A、MODIFY TABLE

B、MODIFY STRUCTURE

C、ALTER TABLE

D、ALTER STRUCTURE

13. 如果要创建一个数据组分组报表,第一个分组表达式是”部门”,第二个分组表达式是”性别”,第三个分组表达式是”基本工资”,当前索引的索引表达式应当是______。

A、部门+性别+基本工资

B、部门+性别+STR(基本工资)

C、STR(基本工资)+性别+部门

D、性别+部门+STR(基本工资)

14. 把一个项目编译成一个应用程序时,下面的叙述正确的是______。

A、所有的项目文件将组合为一个单一的应用程序文件

B、所有项目的包含文件将组合为一个单一的应用程序文件

C、所有项目排除的文件将组合为一个单一的应用程序文件

D、由用户选定的项目文件将组合为一个单一的应用程序文件

15. 数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是______。

A、DBS包括DB和DBMS

B、DBMS包括DB和DBS

C、DB包括DBS和DBMS

D、DBS就是DB,也就是DBMS

16. 在”选项”对话框的”文件位置”选项卡中可以设置______。

A、表单的默认大小

B、默认目录

C、日期和时间的显示格式

D、程序代码的颜色

17. 要控制两个表中数据的完整性和一致性可以设置”参照完整性”,要求这两个表______。

A、是同一个数据库中的两个表

B、不同数据库中的两个表

C、两个自由表

D、一个是数据库表另一个是自由表

18. 定位第一条记录上的命令是______。

A、GO TOP

B、GO BOTTOM

C、GO 6

D、SKIP

19. 在关系模型中,实现”关系中不允许出现相同的元组”的约束是通过______。

A、候选键

B、主键

C、外键

D、超键

20. 设当前数据库有10条记录(记录未进行任何索引),在下列三种情况下,当前记录号为1时;EOF()为真时;BOF()为真时,命令?RECN()的结果分别是______。

A、1,11,1

B、1,10,1

C、1,11,0

D、1,10,0

21. 下列表达式中结果不是日期型的是______。

A、CTOD(“2000/10/01″)

B、{^99/10/01}+365

C、VAL(“2000/10/01″)

D、DATE()

22. 只有满足联接条件的记录才包含在查询结果中,这种联接为______。

A、左联接

B、右联接

C、内部联接

D、完全联接

23. 索引字段值不唯一,应该选择的索引类型为______。

A、主索引

B、普通索引

C、候选索引

D、唯一索引

24. 执行SELECT 0选择工作区的结果是______。

A、选择了0号工作区

B、选择了空闲的最小号工作区

C、关闭选择的工作区

D、选择已打开的工作区

25. 从数据库中删除表的命令是______。

A、DROP TABLE

B、ALTER TABLE

C、DELETE TABLE

D、USE

26. DELETE FROM S WHERE 年龄>60语句的功能是______。

A、从S表中彻底删除年龄大于60岁的记录

B、S表中年龄大于60岁的记录被加上删除标记

C、删除S表

D、删除S表的年龄列

27. SELECT-SQL语句是______。

A、选择工作区语句

B、数据查询语句

C、选择标准语句

D、数据修改语句

28. SQL语言是______语言。

A、层次数据库

B、网络数据库

C、关系数据库

D、非数据库

29. 在SQL中,删除视图用______。

A、DROP SCHEMA命令

B、CREATE TABLE命令

C、DROP VIEW命令

D、DROP INDEX命令

30. 以下属于非容器类控件的是______。

A、Form

B、Label

C、page

D、Container

31. 将查询结果放在数组中应使用______短语。

A、INTO CURSOR

B、TO ARRAY

C、INTO TABLE

D、INTO ARRAY

32. 在命令窗口执行SQL命令时,若命令要占用多行,续行符是______。

A、冒号(:)

B、分号(;)

C、逗号(,)

D、连字符(-)

33. 设有图书管理数据库:

图书(总编号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语句正确的是______。

SELECT 姓名,书名 FROM 借阅,图书,读者 WHERE;

借阅.借书证号=”0001″ AND;

______

______

A、图书.总编号=借阅.总编号 AND;

读者.借书证号=借阅.借书证号

B、图书.分类号=借阅.分类号 AND;

读者.借书证号=借阅.借书证号

C、读者.总编号=借阅.总编号 AND;

读者.借书证号=借阅.借书证号

D、图书.总编号=借阅.总编号 AND;

读者.书名=借阅.书名

34. 设有图书管理数据库:

图书(总编号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 语句正确的是______。

SELECT 单位,______ FROM 借阅,读者 WHERE;

借阅.借书证号=读者.借书证号 ______

A、COUNT(借阅.借书证号) GROUP BY 单位

B、SUM(借阅.借书证号) GROUP BY 单位

C、COUNT(借阅.借书证号) ORDER BY 单位

D、COUNT(借阅.借书证号) HAVING 单位

35. 设有图书管理数据库:

图书(总编号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语句正确的是______。

SELECT 借书证号 FROM 借阅 WHERE 总编号=;

______

A、(SELECT 借书证号 FROM 图书 WHERE 书名=”现代网络技术基础”)

B、(SELECT 总编号 FROM 图书 WHERE 书名=”现代网络技术基础”)

C、(SELECT 借书证号 FROM 借阅 WHERE 书名=”现代网络技术基础”)

D、(SELECT 总编号 FROM 借阅 WHERE 书名=”现代网络技术基础”)

二、填空题

36. 算法的复杂度主要包括______复杂度和空间复杂度。

37. 数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。

38. 若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。

39. 如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体”工人”与实体”设备”之间存在______联系。

40. 关系数据库管理系统能实现的专门关系运算包括选择、连接和______。

41. 命令?LEN(“THIS IS MY BOOK”)的结果是______。

42.SQL SELECT语句为了将查询结果存放到临时表中应该使用______短语。

43. 多栏报表的栏目数可以通过______来设置。

44. 在打开项目管理器之后再打开”应用程序生成器”,可以通过按ALT+F2键,快捷菜单和”工具”菜单中的______。

45. 数据库系统的核心是______。

46. 查询设计器中的”联接”选项卡,可以控制______选择。

47. 设有图书管理数据库:

图书(总编号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的CREATE命令建立借阅表(字段顺序要相同),请对下面的SQL语句填空:______

48. 设有图书管理数据库:

图书(总编号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))

对图书管理数据库,查询由”清华大学出版社”或”电子工业出版社”出版,并且单价不超出20元的书名。请对下面的SQL语句填空:

SELECT 书名,出版单位,单价 FROM 图书;

WHERE_______ AND;

_______

49. 设有图书管理数据库:

图书(总编号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语句填空:SELECT _______ FROM 借阅

参考答案:

一、选择题

1-5 C C B A D

6-10 B D B C A

11-15 D C B A A

16-20 B A A B A

21-25 C C B B A

26-30 B B C C B

31-35 D D A A B

二、填空题

36. 时间

37. 模式或逻辑模式

38. 黑盒

39. 一对多

或 1对多

或一对n

或 1:N

或 1:n

或 1:n

或 1:N

或一对m

或 1:M

或 1:m

或 1:m

或 1:N

40. 投影

41. 15

42. Into cursor 或 Into cursor cursorname

43. 页面设置或列数

44. 应用程序生成器

45. 数据库管理系统或 DBMS

46. 联接类型或联接条件

47. CREATE TABLE 借阅

(借书证号 C(4),

总编号 C(6),

借书日期 D(8))

或 CREA TABL 借阅

(借书证号 C(4),

总编号 C(6),

借书日期D(8))

或 CREATE TABLE 借阅

(借书证号 C(4),

总编号 C(6),

借书日期 D)

或 CREA TABL 借阅

(借书证号 C(4),

总编号 C(6),

借书日期 D)

48. 单价<=20

或 (出版单位=”清华大学出版社” OR 出版单位=”电子工业出版社”)

或 (出版单位=”电子工业出版社” OR 出版单位=”清华大学出版社”)

或 (出版单位=’清华大学出版社’ OR 出版单位=’电子工业出版社’) 与 (出版单位=”清华大学出版社” OR 出版单位=”电子工业出版社”)

或 (出版单位=’清华大学出版社‘) 49. COUNT(DISTINCT 总编号)

或 COUN(DISTINCT 总编号) 或 COUNT(DIST 总编号) 或 COUN(DIST 总编号) 数据库面试题 3

一、选择题

1. 以下数据结构中不属于线性数据结构的是______。

A、队列

B、线性表

C、二叉树

D、栈

2. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是

______。

A、可行性分析

B、需求分析

C、详细设计

D、程序编码

3. 结构化程序设计主要强调的是______。

A、程序的规模

B、程序的易读性

C、程序的执行效率

D、程序的可移植性

4. 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。

A、概要设计

B、详细设计

C、可行性分析

D、需求分析

5. 下列关于栈的叙述中正确的是______。

A、在栈中只能插入数据

B、在栈中只能删除数据

C、栈是先进先出的线性表

D、栈是先进后出的线性表

6. 下面不属于软件设计原则的是______。

A、抽象

B、模块化

C、自底向上

D、信息隐蔽

7. 对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为

______。

A、N+1

B、N

C、(N+1)/2

D、N/2

8. 视图设计一般有3种设计次序,下列不属于视图设计的是______。

A、自顶向下

B、由外向内

C、由内向外

D、自底向上

9. 下列有关数据库的描述,正确的是______。

A、数据库是一个DBF文件

B、数据库是一个关系

C、数据库是一个结构化的数据集合

D、数据库是一组文件

10. 下列说法中,不属于数据模型所描述的内容的是______。

A、数据结构

B、数据操作

C、数据查询

D、数据约束

11. 在下面的Visual FoxPro表达式中,运算结果是逻辑真的是______。

A、EMPTY(.NULL.)

B、LIKE(‘acd’,'ac?’)

C、AT(‘a’,’123abc’)

D、EMPTY(SPACE(2))

12. 表达式VAL(SUBS(“奔腾586″,5,1))*Len(“visual foxpro”)的结果是______。

A、13.00

B、14.00

C、45.00

D、65.00

13. 以下关于自由表的叙述,正确的是______。

A、全部是用以前版本的FOXPRO(FOXBASE)建立的表

B、可以用Visual FoxPro建立,但是不能把它添加到数据库中

C、自由表可以添加到数据库中,数据库表也可以从数据库中移出成为自由表

D、自由表可以添加到数据库中,但数据库表不可从数据库中移出成为自由表

14. 下面关于数据环境和数据环境中两个表之间的关系的陈述中,______是正确的。

A、数据环境是对象,关系不是对象

B、数据环境不是对象,关系是对象

C、数据环境是对象,关系是数据环境中的对象

D、数据环境和关系均不是对象

15. 在”报表设计器”中,可以使用的控件是______。

A、标签、域控件和线条

B、标签、域控件和列表框

C、标签、文本框和列表框

D、布局和数据源

16.用二维表数据来表示实体及实体之间联系的数据模型称为______。

A、实体–联系模型

B、层次模型

C、网状模型

D、关系模型

17. 用来指明复选框的当前选中状态的属性是______。

A、Selected

B、Caption

C、Value

D、ControlSource

18. 使用菜单操作方法打开一个在当前目录下已经存在的查询文件zgjk.qpr 后,在命令窗口生成的命令是____。

A、OPEN QUERY zgjk.qpr

B、MODIFY QUERY zgjk.qpr

C、DO QUERY zgjk.qpr

D、CREATE QUERY zgjk.qpr

19. 可以伴随着表的打开而自动打开的索引是______。

A、单一索引文件(IDX)

B、复合索引文件(CDX)

C、结构化复合索引文件

D、非结构化复合索引文件

20. 在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现的______。

A、”一方”表的主索引或候选索引,”多方”表的普通索引

B、”一方”表的主索引,”多方”表的普通索引或候选索引

C、”一方”表的普通索引,”多方”表的主索引或候选索引

D、”一方”表的普通索引,”多方”表的候选索引或普通索引

21. 下列函数中函数值为字符型的是______。

A、DATE()

B、TIME()

C、YEAR()

D、DATETIME()

22. 下面对控件的描述正确的是______。

A、用户可以在组合框中进行多重选择

B、用户可以在列表框中进行多重选择

C、用户可以在一个选项组中选中多个选项按钮

D、用户对一个表单内的一组复选框只能选中其中一个

23. 确定列表框内的某个条目是否被选定应使用的属性是______。

A、Value

B、ColumnCount

C、ListCount

D、Selected

24. 设有关系R1和R2,经过关系运算得到结果S,则S是______。

A、一个关系

B、一个表单

C、一个数据库

D、一个数组

25. DBAS指的是______。

A、数据库管理系统

B、数据库系统

C、数据库应用系统

D、数据库服务系统

26. 设X=”ABC”,Y=”ABCD”,则下列表达式中值为.T.的是______。

A、X=Y

B、X==Y

C、X$Y

D、AT(X,Y)=0

27. 在表结构中,逻辑型、日期型、备注型字段的宽度分别固定为______。

A、3,8,10

B、1,6,4

C、1,8,任意

D、1,8,4

28. 在标准SQL中,建立视图的命令是______。

A、CREATE SCHEMA命令

B、CREATE TABLE命令

C、CREATE VIEW命令

D、CREATE INDEX命令

29. 有关SCAN循环结构,叙述正确的是______。

A、SCAN循环结构中的LOOP语句,可将程序流程直接指向循环开始语句SCAN,首先判断EOF()函数的真假

B、在使用SCAN循环结构时,必须打开某一个数据库

C、SCAN循环结构的循环体中必须写有SKIP语句

D、SCAN循环结构,如果省略了子句\FOR和WHILE条件子句,则直接退出循环

30. 设有图书管理数据库:

图书(总编号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语句正确的是______。

SELECT 出版单位,______,______,______;

FROM 图书管理!图书 ______ 出版单位

A、MIN(单价) AVGAGE(单价) COUNT(*) GROUP BY

B、MAX(单价) AVG(单价) COUNT(*) ORDER BY

C、MAX(单价) AVG(单价) SUM(*) ORDER BY

D、MAX(单价) AVG(单价) COUNT(*) GROUP BY

31. 设有图书管理数据库:

图书(总编号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))

对于图书管理数据库,求CIE单位借阅图书的读者的人数。

下面SQL语句正确的是______。

SELECT ______ FROM 借阅 WHERE;

借书证号 _______

A、COUNT (DISTINCT 借书证号)

IN (SELECT 借书证号 FROM 读者 WHERE 单位=”CIE”)

B、COUNT (DISTINCT 借书证号)

IN (SELECT 借书证号 FROM 借阅 WHERE 单位=”CIE”)

C、SUM (DISTINCT 借书证号)

IN (SELECT 借书证号 FROM 读者 WHERE 单位=”CIE”)

D、SUM (DISTINCT 借书证号)

IN (SELECT 借书证号 FOR 借阅 WHERE 单位=”CIE”)

32. 查询订购单号(字符型,长度为4)尾字符是”1″的错误命令是______。

A、SELECT * FROM 订单 WHERE SUBSTR(订购单号,4)=”1″

B、SELECT * FROM 订单 WHERE SUBSTR(订购单号,4,1)=”1″

C、SELECT * FROM 订单 WHERE “1″$订购单号

D、SELECT * FROM 订单 WHERE RIGHT(订购单号,1)=”1″

33. 在关系模型中,为了实现”关系中不允许出现相同元组”的约束应使用

______。

A、临时关键字

B、主关键字

C、外部关键字

D、索引关键字

34. 根据”职工”项目文件生成emp_sys.exe应用程序的命令是______。

A、BUILD EXE emp_sys FROM 职工

B、BUILD APP emp_sys.exe FROM 职工

C、LIKE EXE emp_sys FROM 职工

D、LIKE APP emp_sys.exe FROM 职工

35. 当前盘当前目录下有数据库:学院.dbc,其中有”教师”表和”学院”表。“教师”表:

“学院”表:

有SQL语句:

SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=;

ALL (SELECT 工资 FROM 教师 WHERE 系号=”02″)

与如上语句等价的SQL语句是______。

A、SELECT DISTINCT 系号 FROM 教师 WHERE工资>=;

(SELECT MAX(工资) FROM 教师 WHERE 系号=”02″)

B、SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=;

(SELECT MIN(工资) FROM 教师 WHERE 系号=”02″)

C、SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=;

ANY(SELECT 工资 FROM 教师 WHERE 系号=”02″)

D、SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=;

SOME (SELECT 工资 FROM 教师 WHERE 系号=”02″)

二、填空题

36. 若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。

37. 数据库系统的三级模式分别为______模式、内部级模式与外部级模式。

38. 在最坏情况下,冒泡排序的时间复杂度为______。

39. 在面向对象方法中,信息隐蔽是通过对象的______性来实现的。

40. 关系模型的数据操纵即是建立在关系上的数据操纵,一般有______、增加、删除和修改四种操作。

41.要把帮助文件设置为复制到硬盘上的Foxhelp.chm文件,需要在”选项”对话框的______选项卡上设置。

42. TIME( )的返回值的数据类型是______类型。

43. 在定义字段有效性规则中,在规则框中输入的表达式中类型是________。

44. 设计报表通常包括两部分内容:______和布局。

45. ______是指只有满足联接条件的记录才包含在查询结果中。

46. 设有图书管理数据库:

图书(总编号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))

检索书价在15元至25元(含15元和25元)之间的图书的书名、作者、书价和分类号,结果按分类号升序排序。

SELECT 书名,作者,单价,分类号 FROM 图书;

WHERE______;

ORDER BY______;

47. 设有如下关系表R、S和T:

R(BH,XM,XB,DWH)

S(SWH,DWM)

T(BH,XM,XB,DWH)

实现R∪T的SQL语句是_______。

48. 设有如下关系表R:

R(NO,NAME,SEX,AGE,CLASS)

主关键字是NO

其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。

插入”95031″班学号为30,姓名为”郑和”的学生记录;_______。

49. 设有如下关系表R:

R(NO,NAME,SEX,AGE,CLASS)

主关键字是NO

其中NO为学号(数值型),NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。

删除学号为20的学生记录;______。

参考答案:

一、选择题

1-5 C B B D D

6-10 C B B C C

11-15 D D C C A

16-20 D C B C A

21-25 B B D A C

26-30 C D C B D

31-35 A C B B A

二、填空题

36. 黑盒

37. 概念或概念级

38. n(n-1)/2

39. 封装

40. 查询

41. 文件位置

42. 字符或 C

43. 逻辑表达式

44. 数据源

45. 内部联接

46. 单价 BETWEEN 15 AND 25

或单价 BETW 15 AND 25

或单价 BETWE 15 AND 25

或单价>=15 and 单价<=25

或单价>=15 and 单价=<25

或单价=>15 and 单价<=25

或单价=>15 and 单价=<25 与分类号 ASC

或分类号

47. SELECT * FROM R UNION SELECT * FROM T

或 SELE * FROM R UNIO SELE * FROM T

或 SELECT * FROM R UNIO SELECT * FROM T

或 SELE * FROM R UNION SELE * FROM T

48. INSERT INTO R(NO,NAME,CLASS) VALUES(30,”郑和”,”95031″)

或 INSE INTO R(NO,NAME,CLASS) VALUES(30,”郑和”,”95031″)

49. DELETE FROM R WHERE NO=20

或 DELE FROM R WHERE NO=20

或 DELE FROM R WHER NO=20

或 DELETE FROM R WHER NO=20

数据库面试题 4

第一章:

1)E-R模型的组成包括以下的元素,除了(C)。(选择一项)

a) 实体

b) 属性

c) 记录

d) 关系

2) 你为公司开发了一个逻辑模型:公司有10个部门,每个部门有6-7个员工,但每个员工可能会不止一个部门工作。下面所给的模型正确的是(B)。(选择一项)

a) 部门和员工之间是一种确定的一对多的关系

b) 建立一个关联表,从该关联表到员工建立一个一对多的关系,然后再从该关联表到部门表建立一个一对多的关系

c) 建立一个关联表,从员工表到该关联表建立一个一对多的关系,然后再从部门表到该关联表建立一个一对多的关系

d) 这种情况不能建立正常的数据库模型

3) 下面(C)不是数据库规范化要达到的效果.(选择一项)

a) 改善数据库的设计

b) 实现最小的数据冗余

c) 可以用一个表来存储所有数据,使设计及存储更加简化

d) 防止更新,插入及删除的时候,产生数据丢失

4) (A)是个人能看到的相关数据库部分的数据库视图。(选择一项)

a) 外部级别

b) 逻辑级别

c) 用户级别

d) 物理级别

5) 在某ERD里有“客户”和“订单”两个实体,他们的关系是“客户”发出“订单”,在“订单”这个实体里又有“订购数量”、“产品代码”等属性,“产品”与“产品代码”之间的关系应该是(B)。(选择一项)

a) 一对一

b) 一对多

c) 多对多

d) 循环对应

6) 在ACCESS数据库表设计的时候,某用户在设计视图的有效性规则中设置为[get score]>[average score],则此用户用的是(C)类型的检查约束。(选择一项)

a) 字段值

b) 记录级

c) 表级

d) 平均值

第二章:T-SQ程序设计

1) 使用T-SQL定义两个局部变量AA和BB,正确的语句是(A).(选择一项)

a) DECLARE@AA,@BB

b) PIRVTE@AA;@BB

c) PUBLIC@AA;@BB

d) DECLARE@AA;@BB

第三章:事务和锁

1) 四个并发连接各自同时在select,insert,update和delete操作,有时当选择的行数超10,000时再做update/delete操作时会停止,你该(C)去修复。(选择一项)

a)在Selesct会话中,设置低优先级的Deadlock

b)在Update/Delete会话中,设置低优先级的Deadlock

c)在Select会话中,设置末提交读隔离低级别

d)设置查询等待选项为50,0000

第四章:用户和安全管理

1) 在sql server 2000的查询分析器中执行以下的t-sql:

exec sp_grantdbacces’workarea\remotelongin’,’dblocalh’

下列理解正确的是(B)(一项)

a) 允许windows nt 域 workarea的所有远程登陆的用户都具有访问数据库dblocalh的权限

b) 在当前数据库中为windows nt 用户workarea\remotelogin添加帐户,并取名为dblocalh

c) 把windows nt 用户workarea\remotelogin赋予已经存在的角色dblocalh

的全部权限

数据库面试题及答案

数据库面试题 1 1. 在一个查询中,使用哪一个关键字能够除去重复列值? 答案:使用distinct关键字 2. 什么是快照?它的作用是什么? 答案:快照Snapshot是一个文件系统在特定时间里的镜像,对于在线实时数据备份非常有用。快照对于拥有不能停止的应用或具有常打开文件的文件系统的备份非常重要。对于只能提供一个非常短的备份时间而言,快照能保证系统的完整性。 3. 解释存储过程和触发器 答案: 存储过程是一组Transact-SQL语句,在一次编译后可以执行多次。因为不必重新编译Transact-SQL语句,所以执行存储过程可以提高性能。 触发器是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行。 4. SQL Server是否支持行级锁,有什么好处? 答案:支持动态行级锁定 SQL Server 2000动态地将查询所引用的每一个表的锁定粒度调整到合适的级别。当查询所引用的少数几行分散在一个大型表中时,优化数据并行访问的最佳办法是使用粒度锁,如行锁。但是,如果查询引用的是一个表中的大多数行或所有行,优化数据并行访问的最佳办法可以是锁定整个表,以尽量减少锁定开销并尽快完成查询。 SQL Serve 2000通过为每个查询中的每个表选择适当的锁定级别,在总体上优化了数据并发访问。对于一个查询,如果只引用一个大型表中的几行,则数据库引擎可以使用行级锁定;如果引用一个大型表的几页中的多行,则使用页级锁定;如果引用一个小型表中的所有行,则使用表级锁定。 5. 数据库日志干什么用,数据库日志满的时候再查询数据库时会出现什么情况。答案:每个数据库都有事务日志,用以记录所有事务和每个事务对数据库所做的修改。 6. 存储过程和函数的区别? 答案:存储过程是用户定义的一系列SQL语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表 7. 事务是什么? 答案:事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务: (1) 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。

数据库笔试题 - 答案

XXXX感谢您对本套试题的回答,首先请您填写上您的姓名(____________),本套试题将作为XXXX入职的参考,多谢您的重视。本套试题分三部分:填空题(10分)、选择题(20分),SQL 基础题(30)、简答题(20)、综合题(30)。时间60分钟,满分110分。 一、填空题(每题2分,共10分) 1. 索引字段值不唯一,应该使用的索引类型为( 普通索引 ) 2. 只有满足联接条件的记录才包含在查询结果中,这种联接为( 内联接) 3. E-R模型的组成包括那些元素( 实体 )( 属性)( 关系) 4. 事务所具有的特性有( 原子性)( 一致性)( 隔离性)( 持久性) 5、结构化程序设计的三种基本逻辑结构是(顺序结构),(选择结构),(循环结构)。 二、选择提(每题1分,共20分) 1、在删除整表数据,同时保留表结构时,采用( C )的效率比( A )要高; A. delete B. drop table C. truncate Table 2、数据库管理系统中,能实现对数据库中的数据进行插入/修改/删除的功能称为(C); A.数据定义功能 B.数据管理功能 C.数据操作功能 D.数据控制功能 3、2 4、在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过(B)。 A:候选键B:主键C:外键D:超键 4、数据库管理系统DBMS S是( D); A.信息管理的应用软件 B.数据库系统+应用程序 C.管理中的数据库 D.管理数据的软件 5、关系数据库中,实现表与表之间的联系是通过(B)。 A、实体完整性规 B、参照完整性规则 C、用户自定义的完整性 D、值域 6、设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型(B)。 A、m:n B、1:m C、m:1 D、1:1 7、设有课程和学生两个实体,每个学生可以选修多个课程,一个课程可以有多名学生选修,则课程与学生实体之间的联系类型( A )。 A、m:n B、1:m C、m:1 D、1:1 8、如果一个班只能有一个班长,而且一个班长不能同时担任其它班的班长,班级和班长两个实体之间的关系属于(D)。 A、m:n B、1:m C、m:1 D、1:1 9、索引字段值不唯一,应该选择的索引类型为( B )。 A:主索引 B:普通索引C:候选索引D:唯一索引 10、如果指定参照完整性的删除规则为"级联",则当删除父表中的记录时( C )。 A:系统自动备份父表中被删除记录到一个新表中 B:若子表中有相关记录,则禁止删除父表中记录 C:会自动删除子表中所有相关记录

数据库面试题数据库的面试题及答案

数据库面试题:数据库的面试题及答案 疯狂代码 https://www.wendangku.net/doc/0f12188392.html,/ ?:http:/https://www.wendangku.net/doc/0f12188392.html,/DataBase/Article25003.html . 数据库切换日志的时候,为什么一定要发生检查点?这个检查点有什么意义? 答:触发dbwr的执行,dbwr会把和这个日志相关的所有脏队列写到数据文件里,缩短实例恢复所需要的时间。 2. 表空间管理方式有哪几种,各有什么优劣。 答:字典管理方式和本地管理方式,本地管理方式采用位图管理extent,减少字典之间的竞争,同时避免了碎片。 本地管理表空间与字典管理表空间相比,其优点如下: 1).减少了递归空间管理; 2).系统自动管理extents大小或采用统一extents大小; 3).减少了数据字典之间的竞争; 4).不产生回退信息; 5).不需合并相邻的剩余空间; 6).减少了空间碎片; 7).对临时表空间提供了更好的管理。 3. 本地索引与全局索引的差别与适用情况。 答:对于local索引,每一个表分区对应一个索引分区,当表的分区发生变化时,索引的维护由Oracle自动进行。对于global索引,可以选择是否分区,而且索引的分区可以不与表分区相对应。当对分区进行维护操作时 ,通常会导致全局索引的INVALDED,必须在执行完操作后REBUILD。Oracle9i提供了UPDATE GLOBAL INDEXES语句,可以使在进行分区维护的同时重建全局索引。 4. 一个表a varchar2(1),b number(1),c char(2),有100000条记录,创建B-Tree索引在字段a上,那么表与索引谁大?为什么? 答:这个要考虑到rowid所占的字节数,假设char总是占用2字节的情况,比较rowid,另外,table和index在segment free block的管理也有差别。 5. Oracle9i的data guard有几种模式,各有什么差别。 答:三种模式: 最大性能(maximize performance):这是data guard默认的保护模式。primay上的事务commit前不需要从standby上收到反馈信息。该模式在primary故障时可能丢失数据,但standby对primary的性能影响最小。 最大可用(maximize availability):在正常情况下,最大可用模式和最大保护模式一样;在standby不可用时 ,最大可用模式自动最大性能模式,所以standby故障不会导致primay不可用。只要至少有一个standby可用的情况下,即使primarydown机,也能保证不丢失数据。 最大保护(maximize protection):最高级别的保护模式。primay上的事务在commit前必须确认redo已经传递到至少一个standby上,如果所有standby不可用,则primary会挂起。该模式能保证零数据丢失。 6. 执行计划是什么,查看执行计划一般有哪几种方式。 答:执行计划是数据库内部的执行步骤: set autotrace on select * from table

sql数据库基础面试题复习试题考试题_全

不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。题量为50道,每题2分,总分为100分。) 第一章 1、是SQLServer数据库的主数据文件的扩展名。(选择一项) A、.sql B、.mdb C、.ldf D、.mdf 2、在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。 (选择一项) A、master B、pubs C、model D、msdb 3、当安装完SQL Server2005数据库时,系统默认当前的超级管理员是( ) (选择一项) A、sa B、master C、administrator D、super 4、在使用SQL Server2005数据库时,有时需要将本机的数据库移动到其他机器上,恢复成对应的数据库使用。移动数据库分两步进行,应包括()和附加数据库(选择一项)A、分离数据库 B、删除数据库 C、新建数据库 D、合并数据库 5、在SQL Server2005中,附加数据库操作是指()(选择一项) A、把SQL Server 数据库文件保存为其他数据文件 B、根据数据库物理文件中的信息,把数据库在SQL Server 2005中恢复 C、把所有该数据库表的数据清空 D、把数据库删除掉 6、某单位由不同的部门组成,不同的部门每天都会生产一些报告、报表等数据,以为都采用纸张的形式来进行数据的保存和分类,随着业务的发展,这些数据越来越多,管理这些报告越来越费力,此时应考虑()(选择一项) A、由多个人来完成这些工作 B、在不同的部门中,由专门的人员去管理这些数据 C、采用数据库系统来管理这些数据 D、把这些数据统一成一样的格式 7、在SQL Server 2005中,对于数据库的定义正确的是()(选择一项) A、数据库是用来描述事物的符号记录 B、数据库是位于用户与操作系统之间的一层数据管理软件

数据库笔试题及标准答案,常见数据库面试题

数据库笔试卷及答案 第一套 一.选择题 1. 下面叙述正确的是______。 A、算法的执行效率与数据的存储结构无关 B、算法的空间复杂度是指算法程序中指令(或语句)的条数 C、算法的有穷性是指算法必须能在执行有限个步骤之后终止 D、以上三种描述都不对 2. 以下数据结构中不属于线性数据结构的是______。A、队列B、线性表C、二叉树D、栈 3. 在一棵二叉树上第5层的结点数最多是______。A、8 B、16 C、32 D、15 4. 下面描述中,符合结构化程序设计风格的是______。 A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B、模块只有一个入口,可以有多个出口 C、注重提高程序的执行效率 D、不使用goto语句 5. 下面概念中,不属于面向对象方法的是______。 A、对象 B、继承 C、类 D、过程调用 6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。 A、可行性分析 B、需求分析 C、详细设计 D、程序编码 7. 在软件开发中,下面任务不属于设计阶段的是______。 A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型 8. 数据库系统的核心是______。 A、数据模型 B、数据库管理系统 C、软件工具 D、数据库 9. 下列叙述中正确的是______。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。 A、内模式 B、外模式 C、概念模式 D、逻辑模式 11. Visual FoxPro数据库文件是______。 A、存放用户数据的文件 B、管理数据库对象的系统文件 C、存放用户数据和系统的文件 D、前三种说法都对 12. SQL语句中修改表结构的命令是______。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 13. 如果要创建一个数据组分组报表,第一个分组表达式是"部门",第二个分组表达式是"性别",第三个分组表达式是"基本工资",当前索引的索引表达式应当是______。 A、部门+性别+基本工资 B、部门+性别+STR(基本工资) C、STR(基本工资)+性别+部门 D、性别+部门+STR(基本工资) 14. 把一个工程编译成一个应用程序时,下面的叙述正确的是______。 A、所有的工程文件将组合为一个单一的应用程序文件 B、所有工程的包含文件将组合为一个单一的应用程序文件

SQL数据库面试题以和答案

Student(S#,Sname,Sage,Ssex)学生表 S#:学号 Sname:学生姓名 Sage:学生年龄 Ssex:学生性别 Course(C#,Cname,T#)课程表 C#:课程编号 Cname:课程名称 T#:教师编号 SC(S#,C#,score)成绩表 S#:学号 C#:课程编号 score:成绩 Teacher(T#,Tname)教师表 T#:教师编号: Tname:教师名字 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号 select a.S# from (select S#,score from SC where C#='001')a, (select s#,score from SC wh ere c#='002')b Where a.score>b.score and a.s# = b.s#; 2、查询平均成绩大于60分的同学的学号和平均成绩 select S#, avg(score) from sc group by S# having avg(score)>60 3、查询所有同学的学号、姓名、选课数、总成绩 select student.S#, student.Sname, count(sc.C#), sum(score) from student left outer join SC on student.S# = SC.S# group by Student.S#, Sname

4、查询姓‘李’的老师的个数: select count(distinct(Tname)) from teacher where tname like '李%'; 5、查询没有学过“叶平”老师可的同学的学号、姓名: select student.S#, student.Sname from Student where S# not in (select distinct(SC.S#) from SC,Course,Teacher where sc.c#=course.c# AND teacher.T#=course.T# AND Teahcer.Tname ='叶平'); 6、查询学过“叶平”老师所教的所有课的同学的学号、姓名:select S#,Sname from Student where S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平' group by S# having count(SC.C#)=(select count(C#) from Course,Teacher where Teacher.T#=Course.T# and Tname='叶平')); 7、查询学过“011”并且也学过编号“002”课程的同学的学号、姓名: select Student.S#,Student.Sname from Student,SC where Student.S#=SC.S# and SC.C#='001'and exists( Select * from SC as SC_2 where SC_2.S#=SC.S# and SC_2.C#='002'); 8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名: Select S#,Sname

常见SQL数据库面试题和答案(一)

常见SQL数据库面试题和答案(一) Student(S#,Sname,Sage,Ssex) 学生表S#:学号;Sname:学生姓名;Sage:学生年龄;Ssex:学生性别 Course(C#,Cname,T#) 课程表C#,课程编号;Cname:课程名字;T#:教师编号 SC(S#,C#,score) 成绩表S#:学号;C#,课程编号;score:成绩 Teacher(T#,Tname) 教师表T#:教师编号;Tname:教师名字 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select # from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where > and #=#; 2、查询平均成绩大于60分的同学的学号和平均成绩; select S#,avg(score) from sc group by S# having avg(score) >60; 3、查询所有同学的学号、姓名、选课数、总成绩; select #,,count#),sum(score) from Student left Outer join SC on #=# group by #,Sname 4、查询姓“李”的老师的个数; select count(distinct(Tname)) from Teacher where Tname like '李%'; 5、查询没学过“叶平”老师课的同学的学号、姓名; select #, from Student where S# not in (select distinct( #) from SC,Course,Teacher where #=# and #=# and ='叶平'); 6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名; select #, from Student,SC where #=# and #='001'and exists( Select * from SC as SC_2 where #=# and #='002'); 7、查询学过“叶平”老师所教的所有课的同学的学号、姓名; select S#,Sname from Student where S# in (select S# from SC ,Course ,Teacher where #=# and #=# and ='叶平' group by S# having count#)=(select count(C#) from Course,Teacher where #=# and Tname='叶平')); 8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;Select S#,Sname from (select #,,score ,(select score from SC SC_2 where #=# and #='002') score2

数据库面试题答案

数据库 SQL面试题 1)谈一下数据库的索引的原理,如何发挥作用的?针对插入操作索引会起正面作用么? 索引类似于书的目录,主要用于提高查询效率,也就是按条件查询的时候,先查询索引,再通过索引找到相关的数据,索引相当于记录了对某个关键词,指定到不同的文件,或者文件里的不同位置的结构 索引会降低数据更新的效率,当插入、修改、删除时会引起索引结构的更新 2) 数据库表里如果数据行数很多,做分页查询,SQL如何书写? 3) 说说group by, having是做什么的,举一个group by的例子 4) 说说外连接和连接的区别 5) 事务是什么概念,举例说明 6) 一个表:emp(,性别,年龄,工作类型,领导,工资,部门) a) 列出每个部门的最高工资和最低工资 Select max(工资),min(工资) from emp group by部门 b) 列出各部门’工作类型’为’普通职员’的最低和最高工资 Select max(工资),min(工资) from emp group by部门 Where工作类型=’普通职员’ c) 列出高于本部门平均工资的员工,工资,部门 select ,工资,部门 from emp e1 where工资>( select avg(工资) from emp e2 where e2. 部门=e1.部门 ) 存储过程和函数的区别是什么? 答:存储过程是用户定义的一系列SQL语句的集合,涉及特定表或其他对象的任务,用户可以调用存储过程。而函数通常是数据库已定义的方法,它接受参数并返回某种类型的值,并且不涉及特定用户表。 4.事务是什么? 答:事务是作为一个逻辑单元执行的一系列操作。一个逻辑工作单元必须有4个属性,称为ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能称为一个事务。 5.游标的作用是什么?如何知道游标已经到了最后? 答:游标用于定位结果集的行。通过判断全局变量FETCH_STATUS可以判断其是否到了最后。通常此变量不等于0表示出错或到了最后。

数据库面试题

1.1.数据库 1.1.1.数据库 员工表的定义如下: Last_name VARCHAR2(25) First_name VARCHAR2(25) Salary NUMBER(7,2) 现查询显示未达到平均工资的员工姓名.请考察下面的SQL语句: SELECT last_name, first_name FROM employee WHERE salary < avg(salary); 对这条SQL做以下哪项修改能够达到目的? A.改变WHERE子句 B.把聚合函数移到SELECT列表中,并增加GROUP子句 C.通过子查询得出平均工资水平并在父查询的WHERE子句中比较 D.把聚合函数移到SELECT列表中,并增加GROUP BY子句和HAVING子句 注:SELECT last_name, first_name FROM employee where sal<(Select avg(salary) from employee); 1.1. 2.数据库 要从员工表中查询所有姓Smith的人,但是并不能确定所有Smith的大小写,以下哪条语句能解决问题? A.SELECT last_name, first_name FROM emp WHERE last_name=’smith’ B.SELECT last_name, first_name FROM emp WHERE UPPER(last_name)=’smith’ C.SELECT last_name, first_name FROM emp WHERE last_name=UPPER(‘smith’) D.SELECT last_name, first_name FROM emp WHERE LOWER(last_name)=’smith’ 1.1.3.delete from tablea & truncate table tablea的区别( ) A.没有区别 B.速度相同 C.速度不同 D.日志记录不同 1.1.4.下列哪些(或哪个)不是PL/SQL的组成部分() A.DECLARE B.CATCH C.THROW D.EXCEPTION 1.1.5.SQL语句中修改表结构的命令是______。 A.MODIFY TABLE

SQL数据库面试题目及其答案

1.触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。 它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。 2.什么是存储过程?用什么来调用? 答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。 3.索引的作用?和它的优点缺点是什么? 答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。 缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。 3。什么是内存泄漏? 答:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new 等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。 4.维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么? 答:我是这样做的,尽可能使用约束,如check,主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。 5.什么是事务?什么是锁? 答:事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。 要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。 锁:在所以的DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。

Oracle数据库DBA面试题及答案_经典

1.OracleDBA面试题之一解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。 冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢? 解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 3. 如何转换init.ora到spfile? 解答:使用create spfile from pfile 命令 4. OracleDBA面试题:解释data block , extent 和 segment的区别(这里建议用英文术语) 解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents 被称为该对象的segment. 5. 给出两个检查表结构的方法 解答:1、DESCRIBE命令 2、DBMS_METADATA.GET_DDL 包 6. 怎样查看数据库引擎的报错 解答:alert log. 7. 比较truncate和delete 命令 解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要 rollback segment .而Delete是DML操作需要rollback segment 且花费较长时间. 8. 使用索引的理由 解答:快速访问表中的data block 9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据 解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而dimension tables 存放对fact table 某些属性描述的信息

数据库试题及答案

一、选择题 1.在数据库系统中,把可以相互区别的客观事物称为(D ) A.属性 B. 字段 C.文件 D.实体 2.数据库的存储设备和存取方法变化不影响整体逻辑结构的特点,称为数据库的( D ) A.实体独立性B.物理数据独立性 C.客观独立性 D.逻辑数据独立性 3.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( B ) A. 多对多 B. 一对多 C. 多对一 D. 一对一 4.如果关系模式R上有函数依赖AB→C和A→C,则R中存在(B ) A. 完全依赖 B.部分依赖 C. 传递依赖 D.多值依赖 5.关系模型的参照完整性约束是指(C) A.限制引用一个关系中的不同元组数据 B.限制引用不同关系中的元组数据 C.限制一个关系引用与之联系关系中不存在的元组数据 D.限制两个关系间的互相引用 6.在嵌入式SQL中,为了把集合操作转换成单记录处理方式,引进了以下哪个概念( B )

A.宿主语言B.游标 语言语言 7、单个用户使用的数据视图的描述称为(A )。 A. 外模式 B. 概念模式 C. 内模式 D. 存储模式 8.在SQL中,下列涉空值的操作,不正确的(D:AGE=NULL) 9.数据库系统的独立性是指(B) A. 不会因为数据的变化而影响应用程序 B. 不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序 C. 不会因为数据存储策略的变化而影响数据存储结构 D. 不会因为某些数据逻辑结构的变化而影响应用程序 10.设有T1和T2两个事务,若并发操作如下,则下面评价中正确的是(C )。 T1 T2 ①读A=100,B=5 ②读A=100 A=A*2 回写 ③求A+B=105,验证错 A. 该操作不存在问题 B. 该操作丢失修改 C. 该操作不能重复读 D. 该操作读“脏数据”

数据库面试题

1.事务四大特性 原子性,要么执行,要么不执行 隔离性,所有操作全部执行完以前其它会话不能看到过程 一致性,事务前后,数据总额一致 持久性,一旦事务提交,对数据的改变就是永久的 2.数据库隔离级别 脏读:事务B读取事务A还没有提交的数据 不可重复读:两次事务读的数据不一致 幻读:事务A修改了数据,事务B也修改了数据,这时在事务A看来,明明修改了数据,咋不一样 3.MYSQL的两种存储引擎区别(事务、锁级别等等),各自的适用场景 4.索引有B+索引和hash索引 5.聚集索引和非聚集索引

6.索引的优缺点,什么时候使用索引,什么时候不能使用索引 索引最大的好处是提高查询速度, 缺点是更新数据时效率低,因为要同时更新索引 对数据进行频繁查询进建立索引,如果要频繁更改数据不建议使用索引。 7.InnoDB索引和MyISAM索引的区别 一是主索引的区别,InnoDB的数据文件本身就是索引文件。而MyISAM的索引和数据是分开的。二是辅助索引的区别:InnoDB的辅助索引data域存储相应记录主 8.索引的底层实现(B+树,为何不采用红黑树,B树)重点 树区别 红黑树增加,删除,红黑树会进行频繁的调整,来保证红黑树的性质,浪费时间 B树也就是B-树B树,查询性能不稳定,查询结果高度不致,每个结点保存指向真实数据的指针,相比B+树每一层每屋存储的元素更多,显得更高一点。 B+树B+树相比较于另外两种树,显得更矮更宽,查询层次更浅 9.B+树的实现 一个m阶的B+树具有如下几个特征: 1.有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。 2.所有的叶子结点中包含了全部元素的信息,及指向含这些元素记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。 3.所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素10.为什么使用B+Tree 索引查找过程中就要产生磁盘I/O消耗,主要看IO次数,和磁盘存取原理有关。根据B-Tree的定义,可知检索一次最多需要访问h个节点。数据库系统的设计者巧妙利用了磁

SQL Server数据库笔试题和答案

一单词解释(2分/个) 34分 Data 数据Database 数据库RDBMS 关系数据库管理系统GRANT 授权 REVOKE 取消权限DENY 拒绝权限DECLARE 定义变量PROCEDURE存储过程 事务Transaction 触发器TRIGGER 继续continue 唯一unqiue 主键primary key 标识列identity 外键foreign key 检查check 约束constraint 二编写SQL语句(5分/题) 50分(包含笔试题问题与解答答案) 1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话 Create table stu (学号int , 姓名varchar(8), 年龄int, 性别varchar(4), 家庭地址varchar(50), 联系电话int ); 2) 修改学生表的结构,添加一列信息,学历 Alter table stu add 学历varchar(6); 3) 修改学生表的结构,删除一列信息,家庭住址 Alter table stu drop column 家庭地址 4) 向学生表添加如下信息: 学号姓名年龄性别联系电话学历 1A22男123456小学 2B21男119中学 3C23男110高中 4D18女114大学 Insert into stu values(1,’A’,22,’男’,123456,’小学’) Insert into stu values(2,’B’,21,’男’,119,’中学’) Insert into stu values(3,’C’,23,’男’,110,’高中’) Insert into stu values(4,’D’,18,’女’,114,’大学’) 5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专” Update stu set 学历=’大专’ where 联系电话like ‘11%’ 6) 删除学生表的数据,姓名以C开头,性别为‘男’的记录删除 Delect from stu where 性别=’男’ and 姓名like ‘c%’ 7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名与学号示出来Select 姓名,学号from stu where 年龄<22 and 学历=’大专’ 8) 查询学生表的数据,查询所有信息,列出前25%的记录

数据库试题及答案

《数据库技术与应用》样题 一、选择题( 共30 分,1--20 每小题1 分,21—25 每小题2 分。下列各题A)、B)、 C)、D)四个选项中,只有一个选项是正确的) 1 在SQL Server 中,关于视图的正确叙述是 A)视图与数据库表相同,用来存储数据B)视图不能同数据库表进行连接操作 C)在视图上不能进行更新操作D)视图是从一个或多个数据库表导出的虚拟表 2 SQL 是那几个英文单词的缩写 A)Standard Query LanguageB)Structured Query Language C) Select Query LanguageD)以上都不是 3 不属于SQL Server 系统全局变量的是()。 A、@@Error B、@@Connection C、@@Fetch_Status D、@Records 4 下面描述错误的是() A、每个数据文件中有且只有一个主数据文件 B、日志文件可以存在于任意文件组中 C、主数据文件默认为primary 文件组 D、文件组是为了更好地实现数据库文件组织 5 SQL Server 数据库文件有三类,其中主数据文件的后缀为() A、.mdf B、.ldf C、.ndf D、.idf 6、下面标识符不合法的是() A、[my delete] B、_mybase C、$money D、trigger1 7 下面字符串能与通配符表达式[ABC]%a 进行匹配的是() A、BCDEF B、A_BCD C、ABC_a D、A% 8、下面对索引的相关描述正确的是()列值唯一的列适合间索引 A、经常被查询的列不适合建索引 B、列值惟一的列适合建索引 C、有很多重复值的列适合建索引 D、是外键或主键的列不适合建索引 9、在“连接”组中有两种连接认证方式,其中在()方式下,需要客户端应用程序连接 时提供登录时需要的用户标识和密码。 A、Windows 身份验证 B、SQL Server 身份验证 C、以超级用户身份登录时 D、其他方式登录时 10、索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它能够加快数据的()速度。 A、插入 B、修改 C、删除 D、查询在where子句中出现频率较高的列应尽量创建索引 11、以下哪种情况应尽量创建索引() A、在Where 子句中出现频率较高的列 B、具有很多NULL 值的列 C、记录较少的基本表 D、需要更新频繁的基本表 12、域完整性用于保证给定字段中数据的有效性,它要求表中指定列的数据具有正确的数据类型、格式和有效的()。 A、数据值 B、数据长度 C、取值范围 D、以上都不是 13 以下不属于表之间定义关系的是 A)一对一关系B) 一对多关系C) 多对多关系D) 少对多关系 14 目前数据库有三种基本的数据模型是________ 。 A、层次模型、网络模型、关系模型 B、对象模型、网络模型、关系模型 网络模型、对象模型、层次模型D、层次模型、关系模型、对象模型 15 从“产品”表里查询出价格高于产品名称为“海天酱油”的产品的记录,此SQL 语句为 A、SELECT * FROM 产品WHERE 价格>海天酱油

Oracle数据库面试题目

Oracle常见面试题 1、对数据库SQL2005、ORACLE熟悉吗? SQL2005是微软公司的数据库产品。是一个RDBMS数据库,一般应用在一些中型数据库的应用,不能跨平台。 ORACLE是ORACLE公司的数据产品,支持海量数据存储,支持分布式布暑,支持多用户,跨平台,数据安全完整性控制性能优越,是一个ORDBMS,一般用在大型公司。 2、能不能设计数据库?如何实现数据库导入与导出的更新 使用POWERDISINE工具的使用,一般满足第三范式就可以了。EXP与IMP数据库的逻辑导入与导出 3、如何只显示重复数据,或不显示重复数据 显示重复:select * from tablename group by id having count(*)>1 不显示重复:select * from tablename group by id having count(*)=1 4、什么是数据库的映射 就是将数据库的表与字段对应到模型层类名与属性的过程. 5、写分页有哪些方法,你一般用什么方法?用SQL语句写一个分页? 如何用存储过程写分页? 在SQLSERVER中使用TOP分页,在ORACLE中用ROWNUM,或分析函数 ROW_NUMBER 使用TOP: select top 20,n.* from tablename n minus select top 10,m.* from tablename m 使用分析函数: select * from (select n.*,row_number() over(order by columnname) num from tablename n) where num>=10 and num <=20; 使用过程时,只要将分页的范围用两个参数就可以实现。在ORACLE中,要将过程封装在包里,还要用动态游标变量才能实现数据集的返回。 6、ORACLE中左连接与右连接 左连接:LEFT JOIN 右连接:RIGHT JOIN select n.column,m.column from tablename1 n left join tablename2 m on n.columnname=m.columnname 用WHERE实现: select n.column,m.column from tablename1 n,tablename2 m where n.columnname(+)=m.columnname

Oracle数据库DBA面试题

数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复 操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢 解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 3. 如何转换到spfile 解答:使用create spfile from pfile 命令 . 4. 解释data block , extent 和segment的区别(这里建议用英文术语) 解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一 个数据库对象拥有的所有extents被称为该对象的segment. 5. 给出两个检查表结构的方法 解答:1、DESCRIBE命令 2、包 6. 怎样查看数据库引擎的报错 解答:alert log. 7. 比较truncate和delete 命令 解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作 , 需要rollback segment 且花费较长时间. 8. 使用索引的理由 解答:快速访问表中的data block 9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据 解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而dimension tables 存放对fact table 某些属性描述的

sql数据库面试题及答案

sql数据库面试题及答案 【篇一:sql数据库经典面试题(笔试题)】 =txt>1.一道sql语句面试题,关于group by 表内容: 2005-05-09 胜 2005-05-09 胜 2005-05-09 负 2005-05-09 负 2005-05-10 胜 2005-05-10 负 2005-05-10 负 如果要生成下列结果, 该如何写sql语句? 胜负 2005-05-09 2 2 2005-05-10 1 2 ------------------------------------------ create table #tmp(rq varchar(10),shengfu nchar(1)) insert into #tmp values(2005-05-09,胜) insert into #tmp values(2005-05-09,胜) insert into #tmp values(2005-05-09,负) insert into #tmp values(2005-05-09,负) insert into #tmp values(2005-05-10,胜) insert into #tmp values(2005-05-10,负) insert into #tmp values(2005-05-10,负) 1)select rq, sum(case when shengfu=胜 then 1 else 0 end)胜,sum(case when shengfu=负 then 1 else 0 end)负 from #tmp group by rq 2) select n.rq,n.勝,m.負 from ( select rq,勝=count(*) from #tmp where shengfu=胜group by rq)n inner join (select rq,負=count(*) from #tmp where shengfu=负group by rq)m on n.rq=m.rq 3)select a.col001,a.a1 胜,b.b1 负 from (select col001,count(col001) a1 from temp1 where col002=胜group by col001) a,

相关文档