数据库部分面试题.docx
《数据库部分面试题.docx》由会员分享,可在线阅读,更多相关《数据库部分面试题.docx(22页珍藏版)》请在咨信网上搜索。
1、数据库部分面试题资料仅供参考就业面试题库 数据库部分1. 谈谈你对Oracle的理解。Oracle是一系列产品的总和,也能够说是一个平台,它包含Oracle数据库、Oracle中间件、Oracle管理软件等,我简单的描述一下对于Oracle数据库的理解。它是一种基于网络访问的可跨平台的关系型数据库,具有较强的可移植性;经过连接存储池(connection polling)和多路复用(multiplexing)机制来实现动态可伸缩性;它经过并行服务器(Parallel Server Option )来提高系统的可用性;Oracle的自动备份和恢复功能,提供了对大规模和更加细化的分布式操作系统的支
2、持等等。2. 主键的作用有哪些?1) 保证数据的唯一性,避免发生数据重复的情况。2) 因为主键能够唯一标识某一行记录,因此能确保执行数据更新、删除的时候不会出现张冠李戴的错误。3) 主键常常与外键构成参照完整性约束,防止出现数据不一致。3. 索引对数据并发会有影响吗?索引能大大提高对于数据查询的访问速度,但当有大量基于数据插入的并发操作时,索引反而会降低并发操作的执行速度;当然如果有行级锁的话,情况又会有变化。4. 查询数据库中的某一个到某一个段之间的SQL语句?(比如查询第20到30条的数据)Oracle:select * from (select rownum r, a.* from ta
3、ble a where rownum = 20SQL Server: select * from(ITPUB个人空间)m MrU mAcY;H#|.N7D,CJP3v0 select top 21 * fromITPUB个人空间)Ya.xZ7m9 Xw (select top 30 * from test1 order by _id ) t2AGzb,r7b0M6H H0 order by _id desc?;kt0J.I I&0) t order by _id5. SQL Server中的内置函数有哪些?标量函数,如:Date(), Convert()聚合函数,如:SUM(),MAX(),S
4、TDEV()行集函数,如:getdate(), Substring(), , 6. 数据库的设计原理。1) 原始单据与实体之间的关系2) 主键与外键3) 范式标准4) 完整性约束7. 存储过程的理解。存储过程能够使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序经过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程可包含程序流、逻辑以及对数据库的查询。它们能够接受参数、输出参数、返回单个或多个结果集以及返回值。能够出于任何使用SQL
5、语句的目的来使用存储过程,它具有以下优点:1) 能够在单个存储过程中执行一系列 SQL 语句。 2) 能够从自己的存储过程内引用其它存储过程,这能够简化一系列复杂语句。 3) 存储过程在创立时即在服务器上进行编译,因此执行起来比单个SQL语句快。8. 在Oracle大数据量下的分页解决方法。type refCursorType is REF CURSOR; -游标类型定义,用于返回数据集procedure sp_Page(p_PageSize int, -每页记录数 p_PageNo int, -当前页码,从 1 开始 p_SqlSelect varchar2, -查询语句,含排序部分 p_S
6、qlCount varchar2, -获取记录总数的查询语句 p_OutRecordCount out int,-返回总记录数 p_OutCursor out refCursorType)as v_sql varchar2(3000); v_count int; v_heiRownum int; v_lowRownum int;begin -取记录总数 execute immediate p_SqlCount into v_count; p_OutRecordCount := v_count; -执行分页查询 v_heiRownum := p_PageNo * p_PageSize; v_lo
7、wRownum := v_heiRownum - p_PageSize + 1; v_sql := SELECT * FROM ( SELECT A.*, rownum rn FROM (| p_SqlSelect |) A WHERE rownum = | to_char(v_lowRownum) ; -注意对rownum别名的使用,第一次直接用rownum,第二次一定要用别名rn OPEN p_OutCursor FOR v_sql;end sp_Page;9. 存储过程和函数的区别存储过程是用户定义的一系列SQL语句的集合,涉及特定表或其它对象的任务,用户能够调用存储过程,而函数一般是数
8、据库已定义的方法,它接收参数并返回某种类型的值而且不涉及特定用户表。10. 事务是什么?事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:原子性,事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。一致性,事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。隔离性,由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数
9、据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,而且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。持久性,事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。11. 游标的作用?如何知道游标已经到了最后?游标用于定位结果集的行,经过判断全局变量FETCH_STATUS能够判断是否到了最后,一般此变量不等于0表示出错或到了最后。12. 触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。事前触发器运行于触发事件发生之前,而
10、事后触发器运行于触发事件发生之后。一般事前触发器能够获取事件之前和新的字段值。语句级触发器能够在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。13. 你在数据库编程过程中,面临的数据量有多大?如果有一个项目中每天有三张结构完全相同的表,一个365天天天如此,每张表记录在100万条以上,现需要分页查询,根据这样的项目,采用你用过的分页原理,行吗?这是考的是性能,一般的分页方式不行,遇到这样的题,你能够说,你需要了解更详细的业务,认真的研究一下,是能够的,当然,如果你认为你的方法能够,能够对这样的问题进行交流,等等。这样的题,说不好也行,不影响你的面试,主要是看一下你对问题的态度1
11、4. 写出从数据库表Custom中查询No、Name、Num1、Num2并将Name以姓名显示、计算出的和以总和显示的SQL。SELECT No, Name AS 姓名, Num1 ,Num2,(Num1+Num2) AS 总和 FROM Custom15. 何为“事务处理”,谈谈你对它的理解。事务处理是指一个单元的工作,这些工作要么全做,要么全部不做。作为一个逻辑单元,必须具备四个属性:自动性、一致性、独立性和持久性。自动性是指事务必须是一个自动的单元工作,要么执行全部数据的修改,要么全部数据的修改都不执行。一致性是指当事务完成时,必须使所有数据都具有一致的状态。在关系型数据库中,所有的规则
12、必须应用到事务的修改上,以便维护所有数据的完整性。所有的内部数据结构,在事务结束之后,必须保证正确。独立性是指并行事务的修改必须与其它并行事务的修改相互独立。一个事务看到的数据要么是另外一个事务修改这些事务之前的状态,要么是第二个事务已经修改完成的数据,可是这个事务不能看到正在修改的数据。16. 数据库名词解析批:是包含一个或多个 Transact-SQL 语句的组,从应用程序一次性地发送到 Microsoft SQL Server 执行。批作为一个整体执行,以GO命令结束。批处理是客户端作为一个单元发出的一个或多个 SQL 语句的集合。每个批处理编译为一个执行计划。触发器:触发器是在对表进行
13、插入、更新或删除操作时自动执行的存储过程,触发器一般见于强制业务规则,触发器能够确保数据的完整性和一致性。事务:是用户定义的一个操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位(构成单一逻辑工作单元的操作集合)如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分。如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除锁:是在多用户环境中对数据访问的限制封锁就是事务 T 在对某个数据对象(如表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务 T 就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。(锁蕴含的
14、基本概念是用户需要对表的排它访问)从程序员的角度看:分为乐观锁和悲观锁。乐观锁:完全依靠数据库来管理锁的工作。悲观锁:程序员自己管理数据或对象上的锁处理。子查询:一个 SELECT 语句嵌套在另一个 SELECT 语句中。索引:是一个数据库对象,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单,然后根据指定的排序次序排列这些指针 优点:提高查询执行的速度,强制实施数据的唯一性,提高表之间联接的速度。缺点:存储索引要占用磁盘空间,数据修改需要更长的时间,因为索引也要更新。试图:是一种虚拟表,一般是作为来自一个或多个表的行或列的子集创立的。视图本质上讲,就是保存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 部分 试题
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。