程序员面试笔试经典学习.docxVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序员面试笔试经典学习

数据库一、数据库概念数据库经历了人工管理、文件系统到数据库系统3个阶段。数据库是具有逻辑关系和确定意义的数据结合,它能克服文件组织中所产生的一系列问题,数据冗余小,由于关系模型数据管理系统对于信息查询具有很大的灵活性,并且设计简单,所以已经被广泛使用在了十几的系统开发中。二、关系数据库与文件数据库系统的区别关系数据库是一个被组织成一组正式描述的表格的数据项的集合,这些表格中的数据能以不同的方式被存取或重新召集而不需要重新组织数据库表格,它对应于一个关系模型中的所有关系的集合。例如,教师、学生、课程这些关系以及关系间的联系就组成了一个教务系统。文件数据库系统是对文件的操作,包存储、查询等。关系数据库系统和文件数据库系统的区别如下:关系数据库系统的主要特点是数据的结构化,而文件数据库系统是数据的非结构化。关系数据库系统中,用户看到的逻辑结构是二维表,而文件数据库系统中,基本元素是文件。文件数据库系统可以实现多媒体文件管理,支持c/s工作模式。三、SQL语言的功能SQL是结构化查询语言的缩写,其功能包括数据查询、数据操作、数据定义和数据控制4个部分。数据查询是数据库中最常见的操作,通过select语句可以得到所需的信息。SQL语言的数据操作语句(DML)主要包括数据插入、数据修改和删除数据3中语句。SQL语言使用数据定义语言(DDL)实现数据定义功能,可对数据库用户、基本表、视图、索引进行定义和撤销。数据控制语句(DCL)用于对数据库进行统一的控制管理,保证数据在多用户共享的情况下能够安全。基本的SQL语句有select、insert、update、delete、create、drop、grant、revoke等。四、内连接和外链接有什么区别内连接也称为自然连接,只有二个表相匹配的行才能在结果集中出现。返回的结果集是二个表中所有相匹配的数据,而舍弃不匹配的数据。由于内连接是从结果表中删除与其他连接表中没有匹配行的所有行,所以内连接可能会造成信息的丢失。五、什么是事物事物是数据库中一个单独的执行单元(unit),它通常由高级数据库操作语言(如SQL)或编程语言(如C++)书写的用户程序的执行所引起的。当在数据库中更改数据成功时,在事物中更改的数据变回提交,不再改变。否则,事物就取消或者回滚,更改无效。例如:网上购物的交易过程至少包括以下几个步骤的操作:更新客户端所购物商品的库存信息。保存客户付款信息生成订单并且保存到数据库中更新用户相关信息,如购物数量等。在正常的情况下,这些操作都将顺利进行,最终交易成功,与交易相关的所有数据信息也成功更新。但是,如果遇到突然掉电或是其他意外情况,导致这一系列过程任何一个环节出现错误,如在更新商品库存信息时发生异常、顾客银行账户余额不足等,都将导致整个交易过程失败。而一旦交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败而导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态。即原有的库存信息没有被更新、用户也没有付款、订单也没有生成。否则,数据库的信息将会不一致,或者出现更为严重的不可预测的后果,数据库事务正是用来保证这种情况下交易的平稳性和可预测性的技术。事务必须满足4个属性,即原子性、一致性、隔离性、持久性。原子性。事务是一个不可分割的整体,为了保证事务的总体目标,事务必须具有原子性,即当数据修改时,要么全执行,要么全都不执行。即不允许事务部分地完成,避免了只执行这些操作的一部分而带来的错误。原子性要求事务必须被完整的执行。一致性。一个事务执行之前和执行之后数据库数据必须保持一致性状态。数据库的一致性状态应该满足模式所指定的约束,那么在完整执行事务后数据库仍然处于一致性状态。为了维护所有数据的完整性,在关系数据库中,所有的规则必须应用到事务的修改上。数据库的一致性状态由用户来负责,由并发控制机制来实现。例如,银行转账,转账前后二个账户余额之和应该保持不变。由并发操作带来的数据不一致性包括丢失数据修改、读脏数据、不可重复读和产生幽灵数据。隔离性。隔离性也被称为独立性,是指并行事务的修改必须与其它事务的修改相互独立。当一个事务处理数据时,要么是其它事务执行之前的状态,要么是其它事务执行之后的状态。例如,对任何一对事务T1,T2,对T1而言,T2要么在T1之前已经结束,要么在T1完成之后开始执行。数据库有4种类型的事务隔离级别:不提交的读、提交的读、可重复的读和串行化。因为隔离性使得每个事务的更新在它被提交之前,对其它事务都是不可见的,所以实施隔离性是解决临时更新与消除级联回滚问题的一种方式。持久性。持久性也被称为永久性,事务完成以后,DBMS保证他对数据的修改是永久的,当系统或介质发生变化时,该修改也永久保持。持久性一般通过数据库备份与恢复来保证。严格来说,数据

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档