数据库程序员面试分类真题28.docx

上传人:夺命阿水 文档编号:1416115 上传时间:2024-06-15 格式:DOCX 页数:13 大小:56.88KB
返回 下载 相关 举报
数据库程序员面试分类真题28.docx_第1页
第1页 / 共13页
数据库程序员面试分类真题28.docx_第2页
第2页 / 共13页
数据库程序员面试分类真题28.docx_第3页
第3页 / 共13页
数据库程序员面试分类真题28.docx_第4页
第4页 / 共13页
数据库程序员面试分类真题28.docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数据库程序员面试分类真题28.docx》由会员分享,可在线阅读,更多相关《数据库程序员面试分类真题28.docx(13页珍藏版)》请在课桌文档上搜索。

1、数据库程序员面试分类真题28一、单项选择题1. 您的公司有一个DBSCrVer,名为AHWin,其上装了MSSQ1.SERVER2000o现在需要您写一个数据库连接字符串,用以连接AlIWin上SQ(江南博哥)1.SERVER中的一个名为PUbBaSe实例的TeSt库。请问,应该选择A.SerYer=AllWin:DataSource=PubBase:InitialCatalog=Test;IntegratedSecurity=SSPI,B. ”Server=AllWin;DataSource=PubBase;Database=Test;IntegratedSecurity=SSP,C. ”D

2、ataSource=AllWinPubBase;InitialCategory=BubBase;IntegratedSecufity=SSPl,D. “DataSource=AllWinXPubBase;Database=Test;IntegratedSecuriIy=SSPI”正确答案:B解析使用服务器名实例名作为连接指定SQ1.SerVer实例的数据源。如果使用的是SQ1.Server2008EXPreSS版,那么实例名为SQ1.EXPRESS。(D标准安全连接DataSource=InyServeHddressJnitialCatalog=InyDataBaseilIserId=myUs

3、emame;Password=myPassword:(2)可替代的标准安全连接SerVer=InySeNerAddrNs;DatabaSe=myDataBase;USerIDFyUsername;PaSSWord=myPasSWord;TrUSted_Connection=False;(3)信任连接DataSource=myServerddress;InitialCataIog=HiyDataBase;IntegratedSecurity=SSPI;(4)可替代的信任连接Servcr=myServerAddress;Database=myDataB?ise:Trusted-Connection

4、=True;2. 在SQ1.Seiver中,保存所有的临时表和临时存储过程的是.Master数据库B.Tempdb数据库C-Model数据库D.Msdb数据库正确答案:B考点维护操作解析总体而言,SQ1.SerVer有如下4个默认的数据库:Master、Model、Tempdb和MSdbo(I)MasterMaSter数据库(主数据库)保存放在SQI.Server实体上的所有数据库元数据的详细信息,它还是将引擎固定起来的粘合剂。由于如果不使用MaSter数据库,那么SQ1.SerVCr就不能启动,所以,必须要小心地管理好这个数据库。因此,对这个数据库进行常规备份是卜分必要的。这个数据库还包括了

5、诸如系统登录、配置设置、已连接的SerVer信息、扩展存储过程等。(2)ModelModel数据库(模型数据库)是一个用来在实体上创建新用户数据库的模板数据库,可以把任何存储过程、视图、用户等放在模型数据库里,这样在创建新数据库的时候,新数据库就会包含存放在模型数据库里的所有时象/.(3)TempdbTenlPdb数据库存有临时对象,例如全局和本地临时表和存储过程。这个数据库在SQ1.ServCr每次重启的时候都会被重新创建,而其中包含的对象是依据模型数据库里定义的对象被创建的。除了这些对象,Tc叩db还存有其他对象,例如表变量、来自表值函数的结果集以及临时表变量。由于TemPdb会保留SQ1

6、.SerVer实体上所有数据库的对象类型,所以,对数据库进行优化配置是非常重要的。(4)MsdbMSdb数据库用来保存数据库备份、SQ1.Agent信息、DTS程序包和SQ1.Server任务等信息,以及诸如口志转移这样的复制信息。从SQlServerStUdi。中可以查看所有的数据库,如下图所示。文件)蝴qpttSQ)项目940t)JlHMiW(I)j盟电JdSe虹WI上习sXntBuaCSV.Srvr10.0IeoO-aapS(Jttr(J困IJdjjtpdbUBtportStrvtr力JRrtSEiTspDB3.在SQ1.Server2000中,若希望用户userl具有数据库服务器上的全

7、部权限,则应将USerl加入角色A.db_ownerB.publicC.db_datawriterD.sysadmin正确答案:D考点维护操作解析登录名就此可以登录该服务器的名称;服务器角色就是该登录名对该服务器具有的权限。一个服务器可以有多个角色,一个角色可以有多个登录名,就好像操作系统可以有多个登录用户。固定服务器角色sysadminServeradminSetupadminsecurityadminprocessadmindbcreatordiskadminbulkadmindb_ownerdb_accessadmindb_sccurityadmindbddladmin描述可以在SQ1.

8、SerVer中执行任何操作可以设置服务器范围的配置选项,可以关闭服务器可以管理链接服务器和启动过程nJ以管理登录和CREATEDATABASE权限,还可以读取错误日志和更改密码nJ以管理在SQ1.Server中运行的进程nJ以创建、更改和删除数据库可以管理磁盘文件可以执行BU1.KINSERT语句在数据库中有全部权限可以添加或删除用户ID可以管理全部权限、对象所有权、角色和角色成员资格可以发出A1.1.DD1.,但不能发出GRANT、REVOKE或DENY语句db_backupoperator可以发出DBCC、CHECKPOINT和BACKUP语句db_datareadcr可以选择数据库内任何

9、用户表中的所有数据db_datawriter可以更改数据库内任何用户表中的所有数据db_denydaIareader不能选择数据库内任何用户表中的任何数据db_denydatawriter不能更改数据库内任何用户表中的任何数据在使用的过程中,一般使用sa(登录名)或WindolVSAdministration(Windows集成验证登录方式)登录数据库。这种登录方式登录成功以后具有最高的服务器角色,也就是可以对服务器进行任何一种操作。而这种登录名具有的用户名是DBO(数据库默认用户,具有所有权限),但是,在使用的过程中,一般感觉不到DBO的存在,但它确实存在。通常创建用户名与登录名相同(如果不

10、改变用户名称,那么系统会自动创建与登录名相同的用户名,这个不是强制相同的),例如,创建了一个登录名称为“ds”,那么可以为该登录名“ds”在指定的数据库中添加一个同名用户,使登录名“ds”能够访问该数据库中的数据。考点维护操作4.SQ1.Server2000提供了完全备份、差异备份和日志备份等几种备份方法,其中差异备份备份的内容是A.上次差异备份之后修改的数据库全部内容B.上次完全备份之后修改的数据库全部内容C.上次日志备份之后修改的数据库全部内容D上次完全备份之后修改的数据库内容,但不包括H志等其他内容正确答案:B考点备份恢豆解析完全备份可对整个数据库进行备份。这包括对部分事务日志进行备份,

11、以便在还原完整数据库备份之后,能够恢曳完整数据库。差异备份基于的是最近一次的完全备份。差异备份仅捕获自上次完全备份后发生更改的数据。差异备份基于的完全备份称为差异的“基准”。完全备份可以用作一系列差异备份的基准,包括数据库备份、部分备份和文件备份。文件差异备份的基准备份可以包含在完全备份、文件备份或部分备份中。口志备份分为事务口志备份和结尾口志备份。在创建任何口志备份之前,必须至少创建一个完全备份。然后,可以随时备份事务日志。建议经常执行日志备份,这样既可尽量减少丢失工作的风险,也可以被断事务H志。通常,数据库管理员偶尔(例如,每周)会创建完全备份,还可以选择以较短间隔(例如,每天创建一系列差

12、异备份。数据库管理员可以比较频繁地(例如每隔IoInin)创建事务日志备份。对于给定的备份类型,最恰当的备份间隔取决于一系列因素,例如,数据的事要性、数据库的大小和服务器的工作负载。结尾日志备份捕获尚未备份的任何日志记录(“结尾日志”),以防丢失所做的工作并确保日志链完好无损。在将SQ1.SerVer数据库恢复到其最近一个时间点之前,必须先备份数据库的事务日志。结尾日志备份将是数据库还原计划中相关的最后一个备份。二、茴答题1.SQ1.SerVer如何获取系统时间?正确答案:利用函数GETDATE可以获取系统时间,查询语句为SE1.ECTGETDATE()考点函数SOI.Server如何查看版本

13、?正确答案:可以通过图形界面查询,也可以通过SQ1.语句杳询来获取数据库的版本,SQ1.语句为SE1.ECT幽VERSIoN,如下:MicrosoftSQ1.Server2008(RTM)-10.0.1600.22(IntelX86)Jul9200814:43:34Copyright(c)1988-2008MicrosoftCorporationEnterpriseEditiononWindowsNT5.1(Build2600:ServicePack3)(VM)考点函数3. 用一条SQ1.语句查询出每门课都大于80分的学生姓名:namekechengfenshu文学文学文学语语数语数语数英三三

14、四四五五五笫张张李李王王王答817576908110090SE1.ECTDISTINCTNAMEFROMTAB1.EWHERENAMENOTIN(SE1.ECTDISTINCTNAMEFROMTAB1.EWHEREFENSHUV=80);。考点SQ1.部分设教学数据库中有三个基本表:学生表S(S拌,SNAVE,AGE,SEX),其属性表示学生的学号、姓名、年龄和性别;选课表SC(S#,C#,GRADE),其属性表示学生的学号、所学课程的课程号和成绩:课程表C(C#,CNAME,TEACHER),其属性表示课程号、课程名称和任课教师姓名。卜面的题目都是针对上述三个基本表操作的。4. 试写出卜.列

15、插入操作的SQ1.语句:把SC表中每门课程的平均成绩插入另一个已存在的表SC_C(Ctt.CNAME,NG_GRADE)中,其中,AVG_GRADE为每J课程的平均成绩。定确答案:INSERTINTOSC_C(Ctt,CNME,AVG_GRADE)SE1.ECTSC.C#,C.CNMIE,AVG(GRADE)FROMSC,CWHERESC.C#=C.C#GROUPBYSC.C#,C.CNAifE;考点SQ1.部分试写出下列删除操作的SQ1.语句:从SC表中把WU老师的女学生选课元组删去。正确答案:DE1.ETEFROMSCWHERES#IN(SE1.ECTS#FROMSWHERESEX=女)A

16、NDC#IN(SE1.ECTC#FROMCWHERETEACHER=WU,);6.设有如下关系表:供应者:SUPP1.IER(SNO,SNME,CITY),其中,SNo为供应者编号,SNAME为供应者姓名,ClTY为所在城市。零件:PART(PN0,PNAME,WEIGHT),其中,PNO为零件号,PNAME为零件名称,WElGHT为重量。工程:JOB(JN0,JNAME,ClTY),其中,JNO为工程号,JNAME为工程名,ClTY为所在城市。联系关系:SPJ(SNO,PNO,JNO,QTY),其中,QTY为数量。1)查找给工程Jl提供零件Pl的供应者号SNO02)杳找在北京的供应者给武汉的

17、工程提供零件的零件号。3)查找由供应者Sl提供的零件名PNAMEo4)查找CITY值为上海的工程号和名称。5)将工程J3的城市改为广州。6)将所有重20公斤的零件改为重10公斤。7)将给工程Jl提供零件Pl的供应者Sl改为S2o8)将值(S3,麦苗,上海)加到SUPP1.IER中。9)删除所有上海工程的数据。正确答案:DselectsnoFRoMsbj,part,jobwheresbj.pno=part.pnoANDSPJ.JNO=JOB.JNOANDPART.PNAME=Pl,ANDJOB.JNAME=J;2)SE1.ECTPNoFRoMSPJ,PART,JOBWHERESPJ.PNO=PA

18、RT.PNOANDSPJ.JNO=JOB.JNOANDJOB.CITY=武汉ANDSUPP1.IER.CITY=北京;3)SE1.ECTPNAMEFROMPARTWHEREPNOIN(SE1.ECTPNOFROMSPJ,SUPP1.IERWHERESPJ.SNO=SUPP1.IER.SNOANDSUPP1.IER.SNME=,S1);4) SE1.ECTJNO,JNAMElROMJOBWHERECrrY=上海;5) UPDATEJOBSETCITY=广州WHEREJNAME=J3;6)UPDATEPARTSETWEIGHT=*10公斤WHEREWEIGHT=*20公斤;7)UPDATESUPP

19、1.IERSETSNAME=S2WHERESNAME=SANDSNOIN(SE1.ECTSNOHKOMSPJlJOBfPAKTWHERESPJ.JNO=JOB.JNOANDJOB.JNAME=JlANDSPJ.PNO=PART.PNOANDPART.PNAME=Pl);8) INSERTINTOSUPP1.IERVA1.UES(;S3,爰苗,上海);9)DE1.ETEFROMSPJWHEREJNOIN(SE1.ECTJNOFROMJOBWHERECITY=上海);DE1.ETEFROMJOBWHERECITY=上海1.-需要注意的是,上述语句的顺序不能弄反。学生信息管理系统中有张表STUDEN

20、T,其中有字段ID、NAME、SEX、BIRTH,清回答如卜.问题:7. 找出NAME相同的学生(用一句SQ1.语句):正确答案:SE1.ECT*FROMSTUDENTWHERENAMEIN(SE1.ECTNAMEFROMSTUDENTGROUPBYNAMEHAVINGCOUNT(NME)1);考点SQ1.部分8. 用句SQ1.语句把学生SEX为男的改为女,女的改为男。正确答案:UPDATESTUDENTSETSEX=CASESEXWHEN男THEN女E1.SE男END;9. 假设有表数据:TAB1.EIDNAMENUMAa9Ab11Bf7Bg8所要结果:Ab11Bg8请写出获得此结果的SQ1

21、.语句。正确答案:本题考卷而是聚合函数和子查询,先按照ID列进行分组找出NUV最大的值,然后回表查询即可得最终结果,最终SQ1.语句如下:SE1.ECT*FROMTAB1.EWHERENUMIN(SE1.ECTMAX(N1.M)FROMTAB1.EGROUPBYID):考点SQ1.部分10. SQ1.Server如何启动?正确答案:在WindOlVS服务控制台里手动启动,这个也是最常用的方式。键入“Win+R”健打开运行窗口,然后输入services.msc打开服务窗口。另外,通过WindoWS命令窗口,可以使用netstartmssqlserver,命令手动启动SQ1.SerVer数据库。1

22、1. SQ1.SerVer有1.inUX版本吗?正确答案:有。微软在2016年推出了1.inUX系统的SQ1.SerVer预览版,并于2017年全面发布这款产品。微软发言人表示,预览版已经支持UbUnU1,该公司今后还将支持红帽企业版1.inux和其他平台。12. SQ1.Server,Access,OraCIe三种数据库之间的区别是什么?正确答案:ACCeSS是一种桌面数据库,只适合于数据量少的应用系统,在处理少量数据和单机访问的数据时是很好的,效率也很高。但是ACCeSS数据库有一定的极限,如果数据达到100MB左右,那么很容易造成ACCeSS假死,或者消耗掉服务器的内存导致服务器崩溃。S

23、Q1.SerVer是基于服务器端的中型数据库,适合大容量数据的应用,在处理海量数据的效率、后台开发的灵活性、可扩展性等方面强大。因为现在数据库都使用标准的SQ1.语言对数据库进行管理,所以,如果是标准SQ1.语言,那么两者基本上都可以通用的。SQ1.SerVer还有更多的扩展,可以用存储过程、函数等。OraCIe是基于服务器的大型数据库,主要应用于银行、证券类业务等。考点维护操作13. SQ1.Server的两种存储结构是什么?正确答案:SQ1.SCrVer的两种存储结构是页与区间。1)页:用于数据存储的连续的磁盘空间块,SQ1.SerVer中数据存储的基本单位是页,磁盘0操作在页级执行,页的

24、大小为8KB,每页的开头是96字节的页头,用于存储有关页的系统信息,包括页码、页类型、页的可用空间以及拥有该页的对象的分配单元IDo2)区间:区是管理空间的基本单位,一个区是8个物理上连续的页(即64KB)的集合.所有页都存储在区中。SQ1.SerVer有两种类型的区:统一区和混合区。统一区:由单个时象所有,区中的所有8页只能由一个时象使用。混合区:最多可由8个对象共享。区中8页中的每页可以由不同对象所有,但是一页总是只能属于一个对象。考点维护操作14. 在SQ1.Server,请用SQ1.创建一张本地临时表和全局临时表,里面包含两个字段ID和IDVA1.UES,类型都是INT型,并解释两者的

25、区别?正确答案:在SO1.SerVer中,临时表有两种类型:本地临时表和全局临时表。临时表与永久表相似,但临时表存储在TemPdb中,当不再使用时会自动删除。本地临时表只对创建这个表的用户的SESSloN可见,对其他进程是不可见的。当创建它的进程消失时,这个临时表就自动删除。本地临时表的名称以单个数字符号(#)打头。全局临时表对整个SQ1.SerVer实例都可见,但是所有访问它的SESSlON都消失的时候,它也自动删除。全局临时式的名称以两个数字符号(第)打头。它们的创建语句如下:本地临时表:CREATETAB1.E#XX(IDINT,IDVA1.UES1NT);全局临时表:CREATETAB

26、1.E仙XX(ID【NT,IDVA1.UESINT);考点维护操作15. SQ1.sever物理有哪几种类型的文件?正确答案:SO1.SerVer数据库文件组成如卜丁1)主数据文件:默认扩展名为.mdf:2)辅助数据文件:默认扩展名为.ndf(一个数据库可以创建多个.ndf文件)。3)事务日志文件:默认扩展名为.ldf(记录对数据库的所有操作,但不包含所操作的数据)。所有的数据文件和日志文件默认位置在C:/ProgramFi1es/MicrosoftSQ1.Server/MSSQ1.nMSSQ1.Data(其中,n是标识已安装的SQ1.SerVer实例名称一实例名)。需要注意的是,应当将所有的

27、数据和对象存储在.ndf文件中,而.mdf文件只负货存储数据目录,这样可以有效地避免访问时的磁盘争用。物理文件组成也可以参考下图。SQ1.SrwOtUsSQ1.ServerD3*.SQ1.SbuSS1.rwr3Q*SQ1.Srwr9ebuFnryDtFilerryDat*Fileh,tryDt7lTrsiMhMk1.cFileTrascUcAUFilwTrtftiwctiMb1.FileTrmHdMkUcFiltTrmttmUFlTrexhgUfFilQat,/r文件亮画文件BDM(V)工Jt(J)和hopDATA文件,文件找住务艇全文样美JteSfYWP北文肯关口KK-Wixe(We考点维护

28、操作16. SQ1.SerVer中的锁分为哪几种?正确答案:SQ1.SerVer中的锁分为以下几种:名称简介何时使用共享锁(Share1.ock.S锁,读锁)排它锁(eXclusive1.ock,X锁,独占锁,写锁,互斥锁)当执行SE1.ECT时,数据库会自动使用S锁执行INSERT、UPDATE、DE1.ETE时数据库会自动使用X锁S锁是可以查看但无法修改和删除的一种数据锁。若事务T对数据对象A加上S锁,则事务T只能读A;其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改如果事务T对数据A加上X锁后,则其他事务

29、不能再对A加任何类型的锁。获得X锁的事务既能读数据,又能修改数据U锁意味着事务即将要使用X锁,它目前正Y更新锁(UPdate在扫描数据,以确定要使用图器助Y1.ock,U锁)X锁锁定的那些行。它用于可更新的资源节N中,防止当多个会话在读取、锁上新阴段N定以及随后可能进行的资源更新时发生常见N形式的死锁。使用U锁可以提N高处理并发查询的吞吐量意向锁(Intent1.ock,I锁)I锁是一一种用于警示的锁,用于建立锁的层次结构。I锁包含三种类型:锚M灯?意向共享(IS)、意向排它(IX)和意向排它共辿削孙1.享(SIX)SCh锁分为架构修改(SChemaModify,Sch-当修改表结构M)锁和架

30、构稔定性(Schema时使用,Stability,SCh-S)锁。拥有SCh-M锁期即数据库引擎间,SCh-V锁将阻止对表进行并发在执行架构锁(SChenla1.ock*SCh锁,模式锁)访问。这意味着Sch-M锁在释放前将阻止DD1.操作(例所有外围操作。某些DM1.操作如,添加列使用sch-M锁阻止并发操作访问受影响的或删除表)的过.表。SCh-S锁不会阻止某些事务程中使用锁,其中包括X锁。因此,在编译查询的过SCh-M锁。当数程中,其他事务(包括那些针据库引擎对表使用X锁的事务)将继续运行。但是,在编译和执行无法针对表执行获取Sch-M锁查询时使的并发DD1.操作和并发DM1.操作用Sc

31、h-S锁数据库引擎在将数据大规模复制到表中时,指定TAB1.OCK提示或使用在向表进行大大容量更新锁(BulkUpdate1.ock,BU锁)SpJableoption选项(将数据表设置为容量数tablelockonbulkIOad),则是使用BU据复制且指定N锁。BU锁允许多个线程将数据并发地大容了N量加载到同一表,以降低数据TAB1.OCK提示时表的锁定竞争,同时防止其他不进行大容量使用加载数据的进程访问该表在以上表格中需要注意的是,同一资源可以加多个S锁,但是只能加一个X锁。考点锁17. SQ1.Servet如何查询阻塞?正确答案:SQ1.Server的阻塞查询主要来|sys.syspr

32、ocesses.,通常在处理时需要加入其他相关的视图或表,例如sys.dm_exec_connections,sys.dm_exec_sql_texte考点锁18. SQ1.Server提供的3种恢复模型都是什么?有什么区别?正确答案:SQJSerVet提供了3种恢复模型,分别是:D简单恢复,允许将数据库恢复到最新的备份。2)完全恢复,允许将数据库恢复到故障点状态。3)大容量志记录恢夏,允许大容量口志记录操作。这些模型都是针对不同的性能、磁盘和磁带空间以及保护数据丢失的需要。例如,当选择恢复模型时,必须考虑下列业务要求之间的权衡:1)大规模操作的性能(如创建索引或大容量装载)。2)数据丢失表现

33、(如已提交的事务丢失)。3)事务日志空间损耗。4)备份和恢熨过程的简化。根据正在执行的操作,可以有多个适合的模型。选择了恢复模型后,设计所需的备份和恢夏过程。下表提供了三种恢豆模型的优点和含义的概述。恢复模型优点工作损失表现能否恢复到即时点?1)允许高性能大容量第简单恢制操作复2)收回日志空间以使空间要求最小必须重做11最新的数据库或差异备份后所发生的更改可以恢熨到任何备份的结尾处,随后必须重做更改1)数据文件丢失或损坏士仝称不会导致工作损失gT久2)可以恢复到任意即时点(例如,应用程序或用户错误之前)1)正常情况下没有2)如果H志损坏,那么必须重可以恢复到任做自最新的目志何即时点备份后所发生

34、的更改大容量日志记录恢复允许高性能大容量复制操作。大容量操作使用最少的日志空间如果口志损坏,或者FI最新的口志备份后发生了大容量操作,那么必须重做自上次备份后所做的更改,否则不丢失任何工作可以恢熨到任何备份的结尾处,随后必须重做更改简单恢复所需的管理最少。在简单恢复模型中,数据只能恢复到最新的完整数据库备份或差异备份的状态。不使用事务口志备份,而使用最小事务口志空间。一旦不再需要日志空间从服务器故障中恢复,日志空间便可重新使用。与完整模型或大容量日志记录模型相比,简单恢复模型更容易管理.,但如果数据文件损坏,那么数据损失表现会更高;完全恢更和大容量日志记录恢复模型为数据提供了最大的保护性。这些模型依靠事务日志提供完全的可恢熨性,并防止最大范围的故障情形所造成的工作损失。完全恢第模型提供最大的灵活性,可将数据库恢熨到更早的即时点。大容量日志记录模型为某些大规模操作(如创建索引或大容量复制)提供了更高的性能和更低的日志空间损耗,不过这将牺牲时间点恢熨的某些灵活性。很多数据库都要经历大容量装载或索引创建的阶段,因此可能希望在大容量日志记录模型和完全恢复模型之间进行切换。考点备份恢复

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号