java面试题库13907.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《java面试题库13907.docx》由会员分享,可在线阅读,更多相关《java面试题库13907.docx(118页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库基础(面试常见题)一、数据库库基础1. 数据据抽象:物物理抽象、概概念抽象、视视图级抽象象,内模式式、模式、外外模式2. SQLL语言包括括数据定义义、数据操操纵(Daata MManippulattion),数据控控制(Daata CContrrol)数数据定义:Creaate TTablee,Altter TTablee,Droop Taable, Craaete/Dropp Inddex等数数据操纵:Seleect ,inseert,uupdatte,deeletee,数据控控制:grrant,revooke3. SQLL常用命令令:CREEATE TABLLE Sttudennt
2、(IDD NUMMBER PRIMMARY KEY,NAMEE VARRCHARR2(500) NOOT NUULL);/建表表CREAATE VVIEW vieww_namme ASSSeleect * FROOM Taable_namee;/建建视图Crreatee UNIIQUE INDEEX inndex_namee ON TablleNamme(cool_naame);/建索索引INSSERT INTOO tabblenaame coluumn1,coluumn2, vvaluees(exxp1,eexp2,);/插入IINSERRT INNTO VViewnname collumn
3、11,collumn22, valuues(eexp1,exp22,);/插入入视图实际际影响表UUPDATTE taablenname SET namee=zaang 33 coondittion;/更新新数据DEELETEE FROOM Taablenname WHERRE coondittion;/删除除GRANNT (SSelecct,deeletee,) ON (对象) TO UUSER_NAMEE WIITH GGRANTT OPTTION;/授授权REVVOKE (权限表表) ONN(对象) FROOM USSER_NNAME WITTH REEVOKEE OPTTION /撤撤
4、权列出工工作人员及及其领导的的名字:SSelecct E.NAMEE, S.NAMEE FROOM EMMPLOYYEE EE S WWHEREE E.SSUPERRNamee=S.NName44. 视图图:5. 完完整性约束束:实体完完整性、参参照完整性性、用户定定义完整性性6. 第第三范式:1NF:每个属性性是不可分分的。 22NF:若若关系R是是NF,且每个非非主属性都都完全函数数依赖于RR的键。例例SLC(SID#, CoourceeID#, SNAAME,GGradee),则不不是2NFF; 3NNF:若RR是2NFF,且它的的任何非键键属性都不不传递依赖赖于任何候候选键。77. E
5、RR(实体/联系)模模型8. 索引作用9. 事务:是是一系列的的数据库操作作,是数据据库应用的的基本逻辑辑单位。事事务性质:原子性、l 原子性。即不可分割性,事务要么全部被执行,要么就全部不被执行。l 一致性或可串性。事务的执行使得数据库从一种正确状态转换成另一种正确状态l 隔离性。在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务,l 持久性。事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存。10. 锁:共享锁、互斥锁 两段锁协议:阶段:加锁阶段 阶段:解锁阶段11. 死锁及处理:事务循环等待数据锁,则会死锁。 死锁处理:
6、预防死锁协议,死锁恢复机制12. 存储过程:存储过程就是编译好了的一些sql语句。1.存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。2. 可保证数据的安全性和完整性。通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。3.可以降低网络的通信量。存储过程主要是在服务器上运行,减少对客户机的压力。4:存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因5:存储过程可以包含程序流、逻辑以及对数据库的查询。同时可以实体封装和隐藏了数据逻辑。 13. 触发器:
7、当满足触发器条件,则系统自动执行触发器的触发体。触发时间:有before,after.触发事件:有insert,update,delete三种。触发类型:有行触发、语句触发14.内联接,外联接区别?内连接是保证两个表中所有的行都要满足连接条件,而外连接则不然。在外连接中,某些不满条件的列也会显示出来,也就是说,只限制其中一个表的行,而不限制另一个表的行。分左连接、右连接、全连接三种15 SQQL语句-创建索引引creatte cllusteered indeex riiqi_ppersoon onn perrson(datee)-在在persson表的的datee字段上面面创建名为为riqii
8、_perrson的的【聚集索索引】crreatee nonnclusstereed inndex riqii_perrson on ppersoon(daate)-在peersonn表的daate字段段上面创建建名为riiqi_ppersoon的【非非聚集索引引】creeate clusstereed inndex datee_perrson on ppersoon(daate,iid)-在perrson表表的datte,agge字段上上面创建名名为riqqi_peersonn的【复合合聚集索引引】creeate noncclustteredd inddex ddate_persson oon
9、 peersonn(datte,agge)-在perrson表表的datte,agge字段上上面创建名名为riqqi_peersonn的【复合合非聚集索索引】语法:CCREATTE 索索引类型 INDDEX 索索引名称ON 表表名(列名名)WITHH FILLLFACCTOR = 填充充因子值001000GOUSE 库名GOIF EEXISTTS (SSELECCT * FROMM SYSSINDEEXES WHERRE NAAME=IX_TTEST_TNAMME)-检测是是否已经存存在IX_TESTT_TNAAME索引引DROPP INDDEX TTEST.IX_TTEST_TNAMME-如
10、如果存在则则删除-创建建索引CREAATE NNONCLLUSTEERED INDEEX IXX_TESST_TNNAME -创建建一个非聚聚集索引ON TTEST(TNAMME) -为TTEST表表的TNAAME字段段创建索引引WITHH FILLLFACCTOR = 300 -填填充因子为为30%GOSELEECT * FROOM TEEST(IINDEXX = IIX_TEEST_TTNAMEE) WHHERE TNAMME = A -指定定按IXX_TESST_TNNAME索引查询询总结: 1.什么是索索引:数据据库中的索索引是某个个表中一列列或多列值值的集合和和相应的指指向表中物物理
11、标识这这些值的数数据页的逻逻辑指针清清单。 2.分类: 唯一索索引(UNNIQUEE):不允允许两行具具有相同的的索引值(创创建了唯一一约束,系系统将自动动创建唯一一索引) 主键索索引:主键键索引要求求主键中的的每个值是是唯一的,(创创建主键自自动创建主主键索引) 聚集索引(CLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含一个聚集索引,主键列默认为聚集索引 非聚集索引(NONCLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个非聚集索引 3.创建索引的标准:用于频繁搜索的列;用于对数据进行排序的列注意:如果表中仅有几行,或
12、列中只包含几个不同的值,不推荐创建索引,因为SQL Server 在小型表中用索引搜索数据所花的时间比逐行搜索更长。实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别:其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“
13、安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果查“张”字,那您也会将您的字典翻到最后部分,因为“张”的拼音是“zhang”。也就是说,字典的正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容。我们把这种正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。如果您认识某个字,您可以快速地从自动中查到这个字。但您也可能会遇到您不认识的字,不知道它的发音,这时候,您就不能按照刚才的方法找到您要查的字,而需要去根据“偏旁部首”查到您要找的字,然后根据这个字后的页码直接翻到某页来找到您要找的字。但您结
14、合“部首目录”和“检字表”而查到的字的排序并不是真正的正文的排序方法,比如您查“张”字,我们可以看到在查部首之后的检字表中“张”的页码是672页,检字表中“张”的上面是“驰”字,但页码却是63页,“张”的下面是“弩”字,页面是390页。很显然,这些字并不是真正的分别位于“张”字的上下方,现在您看到的连续的“驰、张、弩”三字实际上就是他们在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。我们可以通过这种方式来找到您所需要的字,但它需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。通过以上例子,我们可以理解到
15、什么是“聚集索引”和“非聚集索引”。SQL试题题2一、教师号号星期期号是否否有课有有有有有有写一一条sqll语句让你你变为这样样的表教师号星星期一星星期二星星期三各星期下下的数字表表示:对应应的教师在在星期几已已经排的课课数二、书表(bookks)boook_iid,boook_nname,creaatdatte,Laastmoodifyydatee,deccripttion0001,三三个人的世世界,20005-002-022,20005-077-07,NULLL作者表(authhors)A_idd,A_nname001,王纷纷02,李李尚03,泰和部门门表(deepts)d_idd,d_n
16、name0001,编编辑一部0002,编编辑二部0003,编编辑三部书书和作者关关联表(bbookmmap)bbook_id,AA_id0001,0010011,020001,003部门和和作者关联联表(deepmapp)d_iid,a_id0001,011002,020003,033找出每个个部门的所所写的总书书两,比如如,一本书书有3个人人写,如果果三个人在在不同的部部门,则每每个部门的的总数量就就是1.最最后结果如如下:部门门,书量编编辑一部,1编辑二二部,1编编辑三部,1三、两个表表情况表名名:wu_plann ID plaan mmodell ccorp_codee plaannum
17、m priixis11 0000011 exxx22 nnokiaa 20000 02 000002 lc0001 soony 33000 0表名:wuu_bommID pplan paact amouunt1 000001 aa1 33002 000001 aa2 22003 000002 bb1 55004 000002 bb2 88005 000002 bb3 4400查询这两个个表中pllan唯一一,每一个个plann中,ammountt最少的,pplannnum大于于prixxis的记记录结果是是:ID plaan mmodell ccorp_codee plaannumm prii
18、xis pactt aamounnt1 000001 eexx222 nokkia 20000 00 aa2 20022 0000022 lc0001 ssony 30000 0 bb33 4000四、表1结结构如下:部门 条条码 品名名 销售额额 销售数数量 销售售日期表2结构如如下课别 部门要求:先按按部门排序序,再按销销售额、销销售数量排排序检索出出某个课别别每个部门门一个时期期内的商品品销售额的的前三名,如如查询011课别20007年44月15日日到20007年4月月22日每每个部门一一个周内的的商品销售售额合计的的前三名SQL 面面试题目汇汇总1触发器器的作用?答:触触发器是一一中特
19、殊的的存储过程程,主要是是通过事件件来触发而而被执行的的。它可以以强化约束束,来维护护数据的完完整性和一一致性,可可以跟踪数数据库内的的操作从而而不允许未未经许可的的更新和变变化。可以以联级运算算。如,某某表上的触触发器上包包含对另一一个表的数数据操作,而而该操作又又会导致该该表触发器器被触发。2。什么是是存储过程程?用什么么来调用?答:存储过过程是一个个预编译的的SQL语句句,优点是是允许模块块化的设计计,就是说说只需创建建一次,以以后在该程程序中就可可以调用多多次。如果果某次操作作需要执行行多次SQQL,使用用存储过程程比单纯SSQL语句句执行要快快。可以用用一个命令令对象来调调用存储过过
20、程。3。索引的的作用?和和它的优点点缺点是什什么?答:索引就就一种特殊殊的查询表表,数据库库的搜索引引擎可以利利用它加速速对数据的的检索。它它很类似与与现实生活活中书的目目录,不需需要查询整整本书内容容就可以找找到想要的的数据。索索引可以是是唯一的,创创建索引允允许指定单单个列或者者是多个列列。缺点是是它减慢了了数据录入入的速度,同同时也增加加了数据库库的尺寸大大小。3。什么是是内存泄漏漏?答:一般我我们所说的的内存泄漏漏指的是堆堆内存的泄泄漏。堆内内存是程序序从堆中为为其分配的的,大小任任意的,使使用完后要要显示释放放内存。当当应用程序序用关键字字new等创创建对象时时,就从堆堆中为它分分配
21、一块内内存,使用用完后程序序调用frree或者者deleete释放放该内存,否否则就说该该内存就不不能被使用用,我们就就说该内存存被泄漏了了。4。维护数数据库的完完整性和一一致性,你你喜欢用触触发器还是是自写业务务逻辑?为为什么?答:我是这这样做的,尽尽可能使用用约束,如如checck,主键键,外键,非非空字段等等来约束,这这样做效率率最高,也也最方便。其其次是使用用触发器,这这种方法可可以保证,无无论什么业业务系统访访问数据库库都可以保保证数据的的完整新和和一致性。最最后考虑的的是自写业业务逻辑,但但这样做麻麻烦,编程程复杂,效效率低下。5。什么是是事务?什什么是锁?答:事务就就是被绑定定在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 面试 题库 13907
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内