- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库-面试题.
数据库面试题(注:由于技术题库部分内容来源于网络,内容仅供参考,请面试官根据实际情况甄选使用)1、事务 事务是指一个工作单元,它包含了一组数据操作命令,并且所有的命令作为一个整体一起向系统提交或撤消请求操作,即这组命令要么都执行,要么都不执行。例如,网上购物的交易过程至少包括以下几个步骤的操作:(1)更新客户所购商品的库存信息。(2)保存客户付款信息。(3)生成订单井且保存到数据库中。(4)更新用户相关信息,如购物数量等 。 在正常的情况下,这些操作都将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果遇到突然掉电或是其他意外情况,导致这一系列过程中任何一个环节出了差错,如在更新商品库存信息时发生异常、顾客银行账户余额不足等,都将导致整个交易过程失败。而一旦交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败而导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态,即原有的库存信息没有被更新、用户也没有付款、订单也没有生成。否则,数据库的信息将会不一致,或者出现更为严重的不可预测的后果,数据库事务正是用来保证这种情况下交易的平稳性和可预测性的技术。 事务必须满足4个属性即原子性(atomicity)、一致性(consistency )、隔离性(isolation)、持久性( durability),即ACID 4种属性。2、什么是存储过程,与函数有什么区别? SQL语句执行的叶候要先编译然后再被执行。在大型数据库系统中,为了提高效率,将为了完成特定功能的SQL语句集进行编译优化后,存储在数据库服务器中,用户通过指定的存储过程的名字来调用执行。存储程是一组予编译的SQL语句。 使用存储过程可以增强SQL语言的功能和灵活性,由于可以用流程控制语句编写存储过程,有很强的灵活性,所以可以完成复杂的判断和运算,且可以保证数据的安全性和完整性,同时,存储过程可以使没有权限的用户在控制之下间接地存取数据库,也保证了数据的安全。但存储过程不等于函数,两者虽然本质上没有区别,但具体而言有以下几个方面的区别:?(1)存储过程一般是作为个独立的部分来执行的,而函数可以作为查询语句的一个部分来调用。由于函数可以返回一个对象,因此它一般在查询语句中位于From关键字的后面。?(2)一般而言,存储过程实现的功能较复杂,而函数实现的功能针对性比较强。?(3)函数需要用括号包住输入的参数,且只能返回一个值或表对象,存储过程可以返回多个参数。?(4)函数可以嵌入在SQL中使用,可以在select中调用,存储过程不行。?(5)函数不能直接操作实体表,只能操作内建表?(6)存储过程在创建时即在服务器上进行了编译,执行速度更快。3、什么是死锁? 在操作系统中有若干程序并发执行,它们不断地申请、释放资源,在此过程中,由于争夺资源而处于无限期的等待状态,造成程序无法继续执行,若无外力作用,它们都将无法推进下去,这时称系统处于死锁状态或系统产生了死锁。此时便只能通过外来打破这种状态。 产生死锁的原因有以下3点。 (1)首先,系统资源不足,在系统中常常有多个进程共享资源的情况,如打印机,这些资源在同一时刻只能被一个进程使用。当资源数目不能满足进程时,便可能因为抢夺资源产生死锁。 ? ?(2)其次,进程运行推进顺序不对,进程在运行中具有异步性,当进程推进顺序不当时,便产生死锁。例如,进程P1和P2,两进程同时具有R1和R2两个资源时,才能执行,当两进程并发执行时,若P1保持资源R1,P2保持资源R2,双方都在等待对方释放资源,此时便发生了死锁。 (3)最后,资源分配不当,如果系统资源充足,进程的资源请求都能得到满足,死锁的可能性会被大大降低,而进程推进顺序与速度不同,也可能会产生死锁。总的来说,产生死锁有4个必要条件:1) 互斥,每个资源每次只能被一个进程使用;2)请求与保持等待,一个进程因请求资源而被阻塞时,对已获得的资源保持不放;3)不可剥夺,进程已获得的资源,在未使用完之前,不能强制剥夺;4)环路等待,若干进程之间形成首尾相接的等待资源关系。 所以,为了预防死锁,就要打破产生死锁的4个条件中的一个或多个,网此需要最大限度地增加系统资源,合理地安排进程的顺序井确定合理的分配资源的算法。避免死锁是在资源的动态分配过程中,采取有效的方法防止系统进入不安全状态,达到预防死锁的目的,其中最具代表性的方法就是银行家算法。4、什么是共享锁?互斥锁? 在数据库中,锁主要是对数据进行读/写的一种保护机制,从数据库系统的角度来看,一般可以将锁分为共享锁和互斥锁。共享锁简称S锁,也叫读锁。用于不更改或不更新数据的操作(只读操作),如select语句。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。共享锁可
您可能关注的文档
- 提高孔加工的精度的方法..doc
- 提高我国中压电缆质量水平,化解产能过剩版(吴长顺)..docx
- 提高小学生计算能力的策略研究..doc
- 插画设计课程设计..doc
- 揭秘百亿级别私募及对冲基金面试全过程..doc
- 搅拌摩擦焊..docx
- 搅齿造粒机应用在干法造粒的过程..doc
- 搭板施工方案..doc
- 搬运机械手的结构和控制系统设计..doc
- 摄像头技术规范书..doc
- 2023-2024学年湖南省湘西州高一下期末数学试卷附答案解析.docx
- 2023-2024学年四川省凉山州高一下期末数学试卷附答案解析.docx
- 2023-2024学年山东省日照市高一下期末数学试卷附答案解析.docx
- 2023-2024学年河北省张家口市高一下期末数学试卷附答案解析.docx
- 2023-2024学年山东省枣庄市高一下期末数学试卷附答案解析.docx
- 2023-2024学年四川省成都市高一下期末数学试卷附答案解析.docx
- 2023-2024学年四川省成都七中高一下期末数学试卷附答案解析.docx
- 2023-2024学年陕西省咸阳市高一下期末数学试卷附答案解析.docx
- 2023-2024学年山东省泰安市高一下期末数学试卷附答案解析.docx
- 黑龙江省哈尔滨市九中2024-2025年4月考试高二语文试卷.docx
文档评论(0)