数据库面试时常见的26个问题.pdfVIP

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

数数据据库库⾯⾯试试时时常常见见的的26个个问问题题

1.SQL语⾔包括哪些类型?

数据定义:CreateTable,AlterTable,DropTable,Craete/DropIndex

数据操纵:Select,insert,update,delete

数据控制:grant,revoke

.内联接,联接区别?

内连接是保证两个表中所有的⾏都要满⾜连接条件,⽽连接则不然。

在连接中,某些不满条件的列也会显⽰出来,也就是说,只限制其中⼀个表的⾏,⽽不限制另⼀个表的⾏。分左连接、右连接、全连

接三种。

等连接(内连接)、⾮等连接、⾃连接、连接(左、右、全)

Orhashjoin/mergejoin/nestloop(clusterjoin)/indexjoin

1)内连接:只连接匹配的⾏

selectA.c1,B.cfromAjoinBonA.c3=B.c3;

)左连接:包含左边表的全部⾏(不管右边的表中是否存在与它们匹配的⾏)以及右边表中全部匹配的⾏

selectA.c1,B.cfromAleftjoinBonA.c3=B.c3;

3)右连接:包含右边表的全部⾏(不管左边的表中是否存在与它们匹配的⾏)以及左边表中全部匹配的⾏

selectA.c1,B.cfromArightjoinBonA.c3=B.c3;

4)全连接:包含左、右两个表的全部⾏,不管在另⼀边的表中是否存在与它们匹配的⾏

selectA.c1,B.cfromAfulljoinBonA.c3=B.c3;

5)(theta)连接:使⽤等值以的条件来匹配左、右两个表中的⾏

selectA.c1,B.cfromAjoinBonA.c3!=B.c3;

6)交叉连接:⽣成笛卡尔积——它不使⽤任何匹配或者选取条件,⽽是直接将⼀个数据源中的每个⾏与另⼀个数据源的每个⾏⼀⼀匹配

selectA.c1,B.cfromA,B;

3.什么是存储过程?⽤什么来调⽤?

存储过程是⼀个预编译的SQL语句,简单的说存储过程是为了完成某个数据库中的特定功能⽽编写的语句集,该语句集包括SQL语句

(对数据的增删改查)、条件语句和循环语句等。优点是允许模块化的设计,就是说只需创建⼀次,以后在该程序中就可以调⽤多次。

如果某次操作需要执⾏多次SQL,使⽤存储过程⽐单纯SQL语句执⾏要快。可以⽤⼀个命令对象来调⽤存储过程(CALL)。

4.触发器的作⽤?

触发器是⼀中特殊的存储过程,主要是通过事件来触发⽽被执⾏的。它可以强化约束,来维护数据的完整性和⼀致性,可以跟踪数据库

内的操作从⽽不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另⼀个表的数据操作,⽽该操作⼜会导致该

表触发器被触发。

5.索引的作⽤?和它的优点缺点是什么?

索引就⼀种特殊的查询表,数据库的搜索引擎可以利⽤它加速对数据的检索。它很类似与现实⽣活中书的⽬录,不需要查询整本书内容

就可以找到想要的数据。索引可以是唯⼀的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录⼊的速度,同时也增加了

数据库的尺⼨⼤⼩。

6.什么是内存泄漏?

⼀般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,⼤⼩任意的,使⽤完后要显⽰释放内存。当应⽤程序

⽤关键字new等创建对象时,就从堆中为它分配⼀块内存,使⽤完后程序调⽤free或者delete释放该内存,否则就说该内存就不能被使

⽤,我们就说该内存被泄漏了。

7.如何维护数据库的完整性和⼀致性?

尽可能使⽤约束,如check,主键,键,⾮空字段等来约束,这样做效率最⾼,也最⽅便。其次是使⽤触发器,这种⽅法可以保证,⽆

论什么业务系统访问数据库都可以保证数据的完整新和⼀致性。最后考虑的是⾃写业务逻辑,但这样做⿇烦,编程复杂,效率低下。

8.什么是事务?什么是锁?

事务就是被绑定在⼀起作为⼀个逻辑⼯作单元的SQL语句分组,如果任何⼀个语句操作失败那么整个操作就被失败,以后操作就会回滚

到操作前状态,或者是上有个节点。为了确保要么执⾏,要么不执⾏,就可以使⽤事务。

文档评论(0)

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

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

1亿VIP精品文档

相关文档