数据库面试题2篇_第1页
数据库面试题2篇_第2页
数据库面试题2篇_第3页
数据库面试题2篇_第4页
数据库面试题2篇_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/1数据库面试题(菁选2篇)数据库面试题11、怎么在存储过程中使用临时表?

在Oracle中,临时表分为SESSION、TRANSACTION两种,SESSION级的临时表数据在整个SESSION都存在,直到结束此次SESSION;而TRANSACTION级的临时表数据在TRANACTION结束后消失,即COMMIT/ROLLBACK或结束SESSION都会清除TRANACTION临时表数据。

1、ONCOMMITDELETEROWS说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)

2、ONCOMMITPRESERVEROWS说明临时表是会话指定,当中断会话时ORACLE将截断表。

3、临时表(无论会话级还是事务级)中的数据都是会话隔离的,不同session之间不会共享数据。

4、在存储中使用事务级临时表时,注意commit前删除掉本事务的数据,否则可能会出现数据不断增加的情况(原因尚未搞明白)。

5、两种临时表的语法:

createglobaltemporarytable临时表名oncommitpreserve|deleterows;用preserve时就是SESSION级的临时表,用delete就是TRANSACTION级的临时表。

6、特性和性能(与普通表和视图的比较)

临时表只在当前连接内有效;

临时表不建立索引,所以如果数据量比较大或进行多次查询时,不推荐使用;

数据处理比较复杂的时候时表快,反之视图快点;

在仅仅查询数据的时候建议用游标:opencursorfor'sqlclause';

2、口述一下存储过程的写法

基本结构+存储名+输出变量+is+begin开始+操作语句+end结束

CREATEORREPLACEPROCEDUREfun_xsreMobile

(paR_intInterID_cnumber,

paR_lngMobile_cnumber,

Date_cnumber)

is

begin

select*from(

SelectID,CpID,MobState,Settled,SendDate,ReceCount,IsLocked,GateID,ExtData,ReceTs

Fromtb_prd_ofrwhereInterID=paR_intInterID_candMobile=paR_lngMobile_candSendDate>=Date_c

orderbyIDdesc)

whererownum=1;

end;

3、你了解oracle表分区吗?它有什么优缺点

分区表:

当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在张兴东279版权所有物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。

表分区的具体作用

Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。

分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理员在管理分区后的对象时有相当大的灵活性。但是,从应用程序的角度来看,分区后的表与非分区表完全相同,使用SQLDML命令访问分区后的表时,无需任何修改。

什么时候使用分区表:

1、表的大小超过2GB。

2、表中包含历史数据,新的数据被增加都新的分区中。

必须要建表之前就创建

表分区有以下优点:

1、改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。

2、增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;

3、维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;

4、均衡I/O:可以把不同的分区映射到磁盘以*衡I/O,改善整个系统性能。

缺点:

分区表相关:已经存在的表没有方法可以直接转化为分区表。不过Oracle提供了在线重定义表的.功能。

数据库面试题21.存储过程:存储过程就是编译好了的一些sql语句。

01.存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。

02.可保证数据的安全性和完整性。通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。

03.可以降低网络的通信量。存储过程主要是在服务器上运行,减少对客户机的压力。

04:存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因5:存储过程可以包含程序流、逻辑以及对数据库的查询。同时可以实体封装和隐藏了数据逻辑。

2.内联接,外联接区别?

内连接是保证两个表中所有的行都要满足连接条件,而外连接则不然。

在外连接中,某些不满足条件的列也会显示出来,也就是说,只限制其中一个表的行,而不限制另一个表的行。分左连接、右连接、全连接三种

3.触发器的作用?

触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。

4.什么是内存泄漏?

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

5.锁:在所以的DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。

有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。

6.游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。

7.说出一些数据库优化方面的经验?

用PreparedStatement一般来说比Statement性能高:一个sql发给服务器去执行,涉及步骤:

语法检查、语义分析,编译,缓存.

有外键约束会影响插入和删除性能,如果程序能够保证数据的完整性,那在设计数据库时就去掉外键。(比喻:就好比免检产品,就是为了提高效率,充分相信产品的制造商)

看mysql帮助文档子查询章节的最后部分,例如,根据扫描的原理,下面的子查询语句要比第二条关联查询的效率高:

1.,e.salarywheree.managerid=(selectidfromemployeewherename='zxx');

2.,e.salary,,m.salaryfromemployeese,employeesmwheree.managerid=='zxx';

表中允许适当冗余,譬如,主题帖的回复数量和最后回复时间等

将姓名和密码单独从用户表中独立出来。这可以是非常好的一对一的案例哟!

还有索引对查询性能的改进也是值得关注的。

数据库面试题(菁选2篇)扩展阅读

数据库面试题(菁选2篇)(扩展1)

——数据库常见面试题(菁选3篇)

数据库常见面试题11.在一个查询中,使用哪一个关键字能够除去重复列值?

答案:使用distinct关键字

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

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

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

答案:

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

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

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

答案:支持动态行级锁定

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

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

5.数据库日志干什么用,数据库日志满的时候再查询数据库时会出现什么情况。

答案:每个数据库都有事务日志,用以记录所有事务和每个事务对数据库所做的修改。

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

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

数据库常见面试题21.事务是什么?

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

(1)原子性

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

(2)一致性

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

(3)隔离性

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

(4)持久性

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

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

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

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

答案:

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

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

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

答案:

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

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

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

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

数据库常见面试题31.事务是什么?

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

(1)原子性

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

(2)一致性

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

(3)隔离性

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

(4)持久性

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

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

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

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

答案:

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

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

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

答案:

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

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

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

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

数据库面试题(菁选2篇)(扩展2)

——数据库面试题及答案(菁选2篇)

数据库面试题及答案11、面向对象的特征有哪些方面?

1.抽象:

抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

2.继承:

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

3.封装:

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

4.多态性:

多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

2、String是最基本的数据类型吗?

基本数据类型包括byte、int、char、long、float、double、boolean和short。

java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类

3、int和Integer有什么区别

Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。

原始类型封装类

booleanBoolean

charCharacter

byteByte

shortShort

intInteger

longLong

floatFloat

doubleDouble

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。

4、String和StringBuffer的区别

JAVA*台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。

5、运行时异常与一般异常有何异同?

异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

6、说出Servlet的生命周期,并说出Servlet和CGI的区别。

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

7、说出ArrayList,Vector,LinkedList的存储性能和特性

ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。

EJB包括SessionBean、EntityBean、MessageDrivenBean,基于JNDI、RMI、JAT等技术实现。

SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。

对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。

对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。

SessionBean还可以再细分为StatefulSessionBean与StatelessSessionBean,这两种的SessionBean都可以将系统逻辑放在method之中执行,不同的是StatefulSessionBean可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的StatefulSessionBean的实体。StatelessSessionBean虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫StatelessSessionBean的时候,EJBContainer并不会找寻特定的'StatelessSessionBean的实体来执行这个method。换言之,很可能数个使用者在执行某个StatelessSessionBean的methods时,会是同一个Bean的Instance在执行。从内存方面来看,StatefulSessionBean与StatelessSessionBean比较,StatefulSessionBean会消耗J2EEServer较多的内存,然而StatefulSessionBean的优势却在于他可以维持使用者的状态。

9、Collection和Collections的区别。

Collection是集合类的上级接口,继承与他的接口主要有Set和List.

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

10、">

1.抽象:

抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

2.继承:

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

3.封装:

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

4.多态性:

多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

2、String是最基本的数据类型吗?

基本数据类型包括byte、int、char、long、float、double、boolean和short。

java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类

3、int和Integer有什么区别

Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。

原始类型封装类

booleanBoolean

charCharacter

byteByte

shortShort

intInteger

longLong

floatFloat

doubleDouble

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的.缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。

4、String和StringBuffer的区别

JAVA*台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。

5、运行时异常与一般异常有何异同?

异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

6、说出Servlet的生命周期,并说出Servlet和CGI的区别。

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

7、说出ArrayList,Vector,LinkedList的存储性能和特性

ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。

EJB包括SessionBean、EntityBean、MessageDrivenBean,基于JNDI、RMI、JAT等技术实现。

SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。

对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。

对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。

SessionBean还可以再细分为StatefulSessionBean与StatelessSessionBean,这两种的SessionBean都可以将系统逻辑放在method之中执行,不同的是StatefulSessionBean可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的StatefulSessionBean的实体。StatelessSessionBean虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫StatelessSessionBean的时候,EJBContainer并不会找寻特定的StatelessSessionBean的实体来执行这个method。换言之,很可能数个使用者在执行某个StatelessSessionBean的methods时,会是同一个Bean的Instance在执行。从内存方面来看,StatefulSessionBean与StatelessSessionBean比较,StatefulSessionBean会消耗J2EEServer较多的内存,然而StatefulSessionBean的优势却在于他可以维持使用者的状态。

9、Collection和Collections的区别。

Collection是集合类的上级接口,继承与他的接口主要有Set和List.

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

10、">数据库面试题(菁选2篇)(扩展3)

——数据库原理及应用试题及答案

数据库原理及应用试题及答案1一、单选题(共20分,每题1分)

1、DB、DBMS和DBS三者之间的关系是(B)

A、DB包括DBMS和DBS

C、DBMS包括DB和DBSB、DBS包括DB和DBMSC、DBS与DB和DBMS无关

2、在数据库系统中,读脏数据是指一个事务读了另一个事务(C)

A、未更新的数据

C、未提交的数据B、未撤销的数据D、未刷新的数据

3、加锁协议中规定“先申请先服务”的原则,可以避免数据库系统出现(A)

A、活锁B、死锁C、读写冲突D、写写冲突

4、语句DELETEFROMSC表明(A)

A、删除SC中的全部记录

B、删除基本表SCD、删除基本表SC中的部分行C、删除基本表SC中的列数据

5、数据库设计阶段分为(D)

A、物理设计阶段、逻辑设计阶段、编程和调试阶段

B、模型设计阶段、程序设计阶段和运行阶段

C、方案设计阶段、总体设计阶段、个别设计阶段和编程阶段

D、概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段

6、关系笛卡尔积运算记号R×S表示(D)

A、R为关系名,S为属性名

C、R为属性名,S为关系名B、R和S均为属性名D、R和S均为关系名

7、在DB应用中,一般一条SQL语句可产生或处理一组记录,而DB主语言语句

一般一次只能处理一条记录,其协调可通过哪种技术实现(B)

A、指针B、游标C、数组D、栈

8、下列说法中不正确的是(C)

A、任何一个包含两个属性的关系模式一定满足3NF

B、任何一个包含两个属性的关系模式一定满足BCNF

C、任何一个包含三个属性的关系模式一定满足3NF

D、任何一个关系模式都一定有码

9、在下列基本表中数值5表示(C)

CREATETABLEstudent(SnumCHAR(5)NOTNULLUNIQUE,SnameCHAR(2));

A、表中有5条记录

B、表中有5列D、表格的大小C、表中字符串Snum的长度

10、在视图上不能完成的操作是(C)

A、更新视图

B、查询D、在视图上定义新视图C、在视图上定义新的基本表

11、在DBS中,DBMS和OS之间的关系是(B)

A、相互调用B、DBMS调用OSC、OS调用DBMSD、并发运行

12、关系中行列次序的变换性质是(D)

A、行可以交换,列不可交换

C、行、列均不可交换B、行不可交换,列可交换D、行、列均可以交换

13、单个用户使用的数据视图的描述称为(A)

A、外模式B、概念模式C、内模式D、存储模式

14、数据库系统安排多个事务并发执行的过程称为(C)

A、步骤B、进程C、调度D、优先级

15、SQL语言有两种使用方式,分别称为交互式和(C)

A、提示式SQLB、多用户SQLC、嵌入式SQLD、解释式SQL

16、以下不属于服务器端脚本语言的是(D)。

A、JSPB、PHPC、ASPD、ADO

17、在数据库系统中,空值是(D)

A、0B、空格C、空字符串D、不确定

18、下列关于触发器的描述错误的是(C)。

A、触发器是一种实现复杂完整性约束的特殊存储过程

B、触发器必须创建在一个特定的表上

C、触发器通过EXECUTE语句调用

D、触发器中使用了两张专用的临时表inserted和deleted

19、数据库并发操作可能带来的问题包括(A)

A、丢失更新

B、数据独立性会提高D、增加数据冗余度C、非法用户的使用

20、下面不是数据库系统必须提供的数据控制功能的是(C)

A、安全性B、完整性C、可移植性D、并发控制

数据库面试题(菁选2篇)(扩展4)

——数据库登录合同书(菁华1篇)

数据库登录合同书1《_________数据库》_________版由_________开发,_________公司发行。现就数据库信息录入事项签订合同。

1.合同单位甲方(登录单位):______________________________乙方:__________________________________________

2.登录说明版位编号

录入版面

文字(个)

图片(张)

录入费(元)

赠光盘(套)

普通版

A1

基本信息

A2

基本信息

A3

基本信息加彩色图片

A4

基本信息加彩色图片

A5

基本信息加彩色图片

A6

基本信息加彩色图片

A7

基本信息加彩色图片

推介版

B1

_________版前10名

B2

_________版前10名

B3

_________版前10名

B4

_________版前10名

赞助版

C1

_________版

C2

_________版

C3

_________版

C4

_________版

成果发布

D

成果信息

备注:(1)企业基本信息包括_________字的企业简介及_________字的备注信息、联系方式等。(2)推介版享受条件:________________________________________________________。(3)赞助单位享受条件:______________________________________________________。(4)成果发布享受条件:______________________________________________________。(5)《_________数据库》________年_______月_______日结稿,________年_______月出版发行。

3.登录确认表登录单位全称

详细通信地址

邮政编码

法人代表

录入版位编号

录入费用

付款方式

电话

传真

Web

Email

付款行、帐号

户名:

开户行:

帐号:

电话/传真:

联系人:

Email:

备注

1.后先传回《____数据库》编撰办公室,备案和安排版面,单位提供资料必须保证真实性,正确性与合法性;

2.合同签定后,所有费用一律提前预收,款到后出具国家正式发票。

3.《____数据库》编撰办公室地点及联系方式:

地址:

电话/传真:

Email:

联系人:

数据库面试题(菁选2篇)(扩展5)

——数据库原理及应用何玉洁著课后答案下载(菁选2篇)

数据库原理及应用何玉洁著课后答案下载1此处下载☞☞☞数据库原理及应用(何玉洁著)课后答案☜☜☜

数据库原理及应用何玉洁著课后答案下载2《数据库原理及应用》较系统全面地阐述了数据库系统的基础理论、基本技术和基本方法,共分11章和2个附录,具体内容主要包括数据库的基本概念、数据模型、关系数据库、关系数据库标准语言sql、触发器、存储过程、数据完整性、数据库安全、关系数据库理论、索引、数据库设计、事务管理、并发控制、数据库备份与恢复、数据仓库、数据挖掘及数据库新技术、sqlserver2022的使用、实验指导等。

本教材以sqlserver数据库为实验环境,内容丰富全面,非常具有实用性。书中和sql语句有关的例子均在sqlserver2022环境下测试通过。

既可以作为高等院校计算机、软件工程、信息安全、信息管理与信息系统、信息与计算科学等相关专业本科生数据库课程的教材,也可以作为电气工程相关专业研究生数据库课程及电力企业信息化教材。

数据库面试题(菁选2篇)(扩展6)

——数据库实训的心得(菁选2篇)

数据库实训的心得1有关于数据库实验的心得体会,总的来说,受益匪浅。在这些天中,我们学到了很多东西,包括建表,导入数据,查询,插入。最重要的是我们有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥或是不可接近的新型语言,尽管自己对C语言非常感兴趣,但还是有些心理上的陌生感。学习数据库就和我们*时的其它科目学习一样感觉它有永无止境的知识,数据库是我在高中时候听过,到了大学渐渐了解了些,但就其原理性的内容还不知道,也就是根本就不清楚什么是数据库,只是知道一个所谓的*字典里的名词。我认识它是从我接触实验运作开始的,刚开始就是建立数据库,两种验证模式,没什么东西但还觉得不错。进而就是操作语言了,紧接着就是触发器的使用,进而对数据库高级的使用,等等。

开始知道数据库的时候想学,不知道从何而起,不懂的话怎么问,从什么地方学起。后来到大三开学后有数据库原理必修课,非常高兴。当时感觉SQLSever数据库管理既然是单独一门课程一定会讲的比较细,也能学到真正实用的内容。学了这门课以后发现和我想的基本是一样的,老师对学生也比较和蔼可亲,对我们要求也不是很紧。让每个人都觉得轻轻松松就能把这门课程学完,没有多么紧张的作业,也没有太苛刻的要求。

当老师在最后说这个课程结束了,回顾一下以前老师给我们讲过的东西,真的有很多是我们应该去注意的。学习完SQLSever数据库后感觉可分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员。开发还需要有较强的逻辑思维和创造能力,自己没有真正做过,但感觉应该会比较辛苦,是青春饭;管理则需要对SQLSever数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会弄掉整个数据库,相对前者来说,后者更看重经验。这些东西都是从老师哪里和朋友的讨论中得到的心得,也希望其他朋友能多多向老师和朋友请教,如果是个人单独靠自己来完成一个完美的数据库我觉得比较困难,现在基本上都是团队类型的,而且他们的效率高开发的周期也快。由于数据库管理的责任重大,很少公司愿意请一个刚刚接触SQLSever的人去管理数据库。对于我们这些初出茅庐的新手而且电子商务的专业,个人认为可以先选择做管理,有一定经验后转型,去做数据库的开发。当然,这个还是要看人个的实际情况来定。

SQLServer数据库的实验学习使我对数据库的有了新的进步,以后再看到也就不至于什么也不懂,其实那么多数据库我觉得学好一门就行,只是他们的语言可能不大一样,学好一门后就可去认识其它的,这样应该有事半功倍的效果。就像我学习C语言,当时不能说是学习的棒,但不算差。所以我对以后的语言感觉都不是很困难,了解了VB、C++还有网页中用的Html语言、asp语言都能看懂,起码可以对别人的东西进行了一下修改。因此,我感谢数据库老师给了我有用的知识,以便我在以后学习或认识更多的内容能有新的方法和思维,也能更加有效和快速的去消化吸收新的东西。希望在今后中,SQLServer能给我更多帮助。感谢学校开设这样一门优秀使用的课程,让我对数据库有了更深的了解。

数据库实训的心得2在学习这门课的过程中,在对数据库的了解过程中,慢慢对数据库有了感观。数据库这一词并不是很难想象,并不是像外人看来很神奇。作为计算机专业的学生,这样的专业术语或者专业知识是最基本的。

学习的时候没有想象中的那么难,只要上课能听懂就基本还可以。但是问题还是出在书本有点厚,有的时候上课的内容都要找很久才能找到,甚至有的时候老师讲的知识书本上是找不到的,是另外补充而且是相当重要的内容。有的时候开小差,没有听到老师讲的知识点,这就导致了以后的学习无法顺利进行,使得学习起来十分困难。所以在数据库这门课的学习中,上课一定要听牢,就像老师说的那样,这样的专业课如果想凭考试前几天突击是行不通的,必须是日积月累的知识才能取得好成绩。

通过对数据库的学习,我也明白了各行各业都离不开数据库,就算是一个小型的超市也离不开它。可见数据库这门课的广泛性,如果能够认真学好它将来必有成就。我就是抱着这种信念去学习数据库的。第一次接触数据库,第一次接触SQL语言,虽然陌生,但是可以让我从头开始学,就算没有基础的人也可以学得很好。刚开始练习SQL语言的时候,并不是很难,基本上都是按照老师的步骤来做,还很有成就感。后来学了单表查询和连接查询后,就慢慢发现越学越困难了,每个题目都要思考很久,并且每个题目基本上不止一个答案,所以必须找出最优的答案。后面的删除、插入、修改这些题目都变化蛮大的,书本上的例题根本无法满足我们,好在老师给我们提供了大量的.课件,通过这些PPT,我们可以巩固课内的知识,还可以学习内容相关的知识,更好地完成老师布置的作业。

除了老师布置的一些基本作业外,还有一份大作业。就像我们小组的是杂货店的销售管理系统,在完成这一作业的过程中,我们可以通过网络实现一家杂货店。过程是很复杂的,杂货店需要员工,还有百来种商品,不仅需要大量的数据,还要完成需求说明,数据词典,还有ER图等,虽然想象起来并不是很难,但是要转化成文字,转化*们能够读懂的文字就显得十分困难。特别是一个完整的销售系统,对我们来说都是第一次接触,在做大作业的时候经常是前面改改,后面改改,因为一些数据不能很好地对应起来,经常会遗忘一些,所以出现了这样的情况。一个完整的数据库系统也就是在这样修修改改的状态下完成的,也给了我很大的反思。第一、一个数据库的完成一定要考虑各方面的因素,包括现实因素。第二、在完成这类作业时,修修改改是很正常的,不要因此而厌倦。第三、一个完整的数据库一定不能出现错误,否则会在现实生活中带来不必要的麻烦。

通过本学期数据库的学习及大作业的完成,很有去作项目的冲动,但深知自己的能力水*有限,还需要更多的学习。

数据库面试题(菁选2篇)(扩展7)

——软件面试题目(菁选2篇)

软件面试题目11.什么是白盒测试?白盒测试的工具有哪些?

白盒测试是测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有的逻辑路径进行测试。

工具有:RationalPurify、RationalQuantify、RationalPurecoveage

2.路由器,集线器,交换机的区别?

路由器的作用是用于连接不同网段并且找到网络中数据传输最合适的路径。

集线器的作用是将一些pc机连起来组成一个局域网。

交换机的作用与集线器的相似,区别在于集线器采用的是共享带宽的方式,交换机是独享带宽。

4.我手上这支笔,请你根据这支笔设计测试用例

首先我要测它的外观、颜色是否符合要求、她所占的空间是多大、是否环保、接下来测它的质量、这支笔是否能够写字流畅、写出的'自得颜色是否符合要求、能使用多长时间等

5.BUG报告包括那些内容

Bug出现的位置、可重现的步骤、所使用的数据、bug的截图、发现人及日期。

6.请列举一些Oracle数据库中的SID语句

7.W和H模型的区别

W模型强调的是测试伴随整个软件开发周期,而且测试的对象不仅是程序,需求也需要进行测试,测试与开发是同步进行的。

H模型是讲测试活动玩却的独立出来,形成了完全独立的流程,可以实现迭代而W模型不支持迭代这是两者最打的区别。

软件面试题目21.没有任何说明书,如何进行测试?

首先是通过对软件测使用来熟悉整个软件,接着是与开发沟通掌握软件的特性并一一记录下来,作为测试的依据。

2.测试计划包括那些内容那些重要?

测试计划包括:产品基本情况的调研、测试需求说明、本阶段测试策略和记录、测试资源配置、计划表、问题跟踪报告、测试计划的评审、结果等。

重要的有产品的调研、资源配置、计划表、问题跟踪报告、评审。

3.什么是回归测试

回归测试是代码别修改后,或bug被修改后,进行的测试。主要目的是确认修改的程序火别修改的bug没有引起新的错误或者导致其他代码产生错误。

4.执行SQL脚本工具的是?

查询分析器

5.javaweb应用的三层结构

6.cookie和session什么意思,有什么区别

Cookie是在浏览网页是留在本地的记录,不是很安全。

Session与cookie功能相似,比期安全

7.负载测试、可靠性测试、可用性测试的定义,有什么区别

负载测试是持续加压是的表现,测系统处理数据的能力表

可靠性测试在规定的条件下,规

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论