• 1.27 MB
  • 2022-04-22 11:31:34 发布

《数据库原理及应用》邮电二版 习题参考答案(总体).doc

  • 46页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'·46·第1章数据概述一.选择题1.下列关于数据库管理系统的说法,错误的是CA.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名2.下列关于用文件管理数据的说法,错误的是DA.用文件管理数据,难以提供应用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的安全控制D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率3.下列说法中,不属于数据库管理系统特征的是CA.提供了应用程序和数据的独立性B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合C.用户访问数据时,需要知道存储数据的文件的物理信息D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失5.在数据库系统中,数据库管理系统和操作系统之间的关系是DA.相互调用B.数据库管理系统调用操作系统C.操作系统调用数据库管理系统D.并发运行6.数据库系统的物理独立性是指DA.不会因为数据的变化而影响应用程序B.不会因为数据存储结构的变化而影响应用程序C.不会因为数据存储策略的变化而影响数据的存储结构D.不会因为数据逻辑结构的变化而影响应用程序7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于AA.系统软件B.工具软件C.应用软件D.数据软件8.数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是BA.数据库B.操作系统C.应用程序D.数据库管理系统9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是DA.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件46 ·46·C.客户/服务器结构比文件服务器结构的网络开销小D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。10.下列关于数据库技术的描述,错误的是BA.数据库中不但需要保存数据,而且还需要保存数据之间的关联关系B.由于数据是存储在磁盘上的,因此用户在访问数据库数据时需要知道数据的存储位置C.数据库中数据存储结构的变化不会影响到应用程序D.数据库中的数据具有较小的数据冗余二.填空题1.数据管理的发展主要经历了_______和_______两个阶段。文件管理数据库管理2.在利用数据库技术管理数据时,所有的数据都被_______统一管理。数据库管理系统3.数据库管理系统提供的两个数据独立性是_______独立性和_______独立性。物理逻辑4.数据库系统能够保证进入到数据库中的数据都是正确的数据,该特征称为_______。数据完整性5.在客户/服务器结构中,数据的处理是在________端完成的。服务器6.数据库系统就是基于数据库的计算机应用系统,它主要由________、________和________三部分组成。数据库、数据库管理系统和应用程序7.与用数据库技术管理数据相比,文件管理系统的数据共享性________,数据独立性________。差低8.在数据库技术中,当表达现实世界的信息内容发生变化时,可以保证不影响应用程序,这个特性称为______。逻辑独立性9.当数据库数据由于机器硬件故障而遭到破坏时,数据库管理系统提供了将数据库恢复到正确状态,并尽可能使数据不丢失的功能,这是数据库管理系统的______特性保证的。可靠性10.数据库中的数据是相互关联的数据集合,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,且具有安全性和可靠性,这些特征都是由______保证的。数据库管理系统46 ·46·第2章数据模型与数据库系统结构一.选择题1.数据库三级模式结构的划分,有利于AA.数据的独立性B.管理数据库文件C.建立数据库D.操作系统管理数据库2.在数据库的三级模式中,描述数据库中全体数据的逻辑结构和特征的是BA.内模式B.模式C.外模式D.其他3.数据库系统中将数据分为三个模式,从而提供了数据的独立性,下列关于数据逻辑独立性的说法,正确的是CA.当内模式发生变化时,模式可以不变B.当内模式发生变化时,应用程序可以不变C.当模式发生变化时,应用程序可以不变D.当模式发生变化时,内模式可以不变4.为最大限度地保证数据库数据的正确性,关系数据库实现了三个完整性约束,下列用于保证实体完整性的是BA.外码B.主码C.CHECK约束D.UNIQUE约束5.下列关于关系中主属性的描述,错误的是DA.主码所包含的属性一定是主属性B.外码所引用的属性一定是主属性C.候选码所包含的属性都是主属性D.任何一个主属性都可以唯一地标识表中的一行数据6.设有关系模式销售(顾客号,商品号,销售时间,销售数量),若允许一个顾客在不同时间对同一个产品购买多次,则此关系模式的主码是DA.顾客号B.产品号C.(顾客号,商品号)D.(顾客号、商品号、销售时间)7.关系数据库用二维表来存储数据。下列关于关系表中记录的说法,正确的是BA.顺序很重要,不能交换B.顺序不重要C.按输入数据的顺序排列D.一定是有序的8.下列模式中,用于描述单个用户数据视图的是CA.内模式B.概念模式C.外模式D.存储模式9.在利用概念层数据模型描述数据时,一般要求模型要满足三个要求。下列描述中,不属于概念层数据模型应满足的要求的是AA.能够描述并发数据B.能够真实地模拟现实世界C.容易被业务人员理解D.能够方便地在计算机上实现10.数据模型三要素是指B46 ·46·A.数据结构、数据对象和数据共享B.数据结构、数据操作和数据完整性约束C.数据结构、数据操作和数据的安全控制D.数据结构、数据操作和数据的可靠性11.下列关于实体联系模型中联系的说法,错误的是DA.一个联系可以只与一个实体有关B.一个联系可以与两个实体有关C.一个联系可以与多个实体有关D.一个联系也可以不与任何实体有关12.数据库系统中的三级模式以及模式间的映像提供了数据的独立性。下列关于两级映像的说法,正确的是CA.外模式到模式的映像是由应用程序实现的,模式到内模式的映像是由DBMS实现的B.外模式到模式的映像是由DBMS实现的,模式到内模式的映像是由应用程序实现的C.外模式到模式的映像以及模式到内模式的映像都是由DBMS实现的D.外模式到模式的映像以及模式到内模式的映像都是由应用程序实现的13.下列不属于数据完整性约束的是DA.实体完整性B.参照完整性C.域完整性D.数据操作完整性14.下列关于关系操作的说法,正确的是AA.关系操作是非过程化的B.在进行关系操作时,用户需要知道数据的存储位置C.在进行关系操作时,用户需要知道数据的存储结构D.用户可以在关系上直接进行行定位操作14.下列关于概念层数据模型的说法,错误的是CA.概念层数据模型应该采用易于用户理解的表达方式B.概念层数据模型应该比较易于转换成组织层数据模型C.在进行概念层数据模型设计时,需要考虑具体的DBMS的特点D.在进行概念层数据模型设计时,重点考虑的内容是用户的业务逻辑15.下列关于外码的说法,正确的是CA.外码必须与其所引用的主码同名B.外码列不允许有空值C.外码和所引用的主码名字可以不同,但语义必须相同D.外码的取值必须要与所引用关系中主码的某个值相同16.下列关于关系的说法,错误的是DA.关系中的每个属性都是不可再分的基本属性B.关系中不允许出现值完全相同的元组C.关系中不需要考虑元组的先后顺序D.关系中属性顺序的不同,关系所表达的语义也不同二.填空题1.数据库可以最大限度地保证数据的正确性,这在数据库中被称为______。数据完整性46 ·46·2.实体-联系模型主要包含______、______和______三部分内容。实体属性联系3.如果实体A与实体B是一对多联系,则实体B中的一个实例最多可对应实体A中的______实例。一个4.数据完整性约束包括______完整性、______完整性和______完整性。实体参照用户定义5.关系数据模型的组织形式是______。二维表6.数据库系统的______和______之间的映像,提供了数据的物理独立性。7.数据的逻辑独立性是指当______变化时可以保持______不变。内模式模式8.数据模型三要素包括______、______和______。数据结构数据操作数据完整性约束9.实体联系模型属于______层数据模型,它与具体的DBMS______。概念无关10.关系操作的特点是基于______的操作。集合11.当数据的物理存储位置发生变化时,通过调整______映像,可以保证______不变化,从而保证数据的物理独立性。模式/内模式模式12.参照完整性约束是通过______保证的。外码46 ·46·第3章SQL语言基础及数据定义功能一.选择题1.下列关于SQL语言特定的叙述,错误的是BA.使用SQL语言访问数据库,用户只需提出做什么,而无需描述如何实现B.SQL语言比较复杂,因此在使用上比较难C.SQL语言可以在数据库管理系统提供的应用程序中执行,也可以在DOS环境下执行D.使用SQL语言可以完成任何数据库操作2.下列所述功能中,不属于SQL语言功能的是DA.数据库和表的定义功能B.数据查询功能C.数据增、删、改功能D.提供方便的用户操作界面功能3.设某职工表中有用于存放年龄(整数)的列,下列类型中最合适年龄列的是CA.intB.smallintC.tinyintD.bit4.SQLServer数据库是由文件组成的。下列关于数据库所包含的文件的说法,正确的是DA.一个数据库可包含多个主数据文件和多个日志文件B.一个数据库只能包含一个主数据文件和一个日志文件C.一个数据库可包含多个次要数据文件,但只能包含一个日志文件D.一个数据库可包含多个次要数据文件和多个日志文件5.在SQLServer中创建用户数据库,其主数据文件的大小必须大于BA.master数据库的大小B.model数据库的大小C.msdb数据库的大小D.3MB6.在SQLServer系统数据库中,存放用户数据库公共信息的是DA.masterB.modelC.msdb数据库的大小D.tempdb7.在SQLServer中创建用户数据库实际就是定义数据库所包含的文件以及文件的属性。下列不属于数据库文件属性的是CA.初始大小B.物理文件名C.文件结构D.最大大小8.在SQLServer中创建用户数据库实际就是定义数据库所包含的文件以及文件的属性。下列不属于数据库文件属性的是CA.初始大小B.物理文件名C.文件结构D.最大大小9.下列约束中用于限制列的取值范围的约束是BA.PRIMARYKEYB.CHECKC.DEFAULTD.UNIQUE10.下列约束中用于限制列的取值不重的约束是D46 ·46·A.PRIMARYKEYB.CHECKC.DEFAULTD.UNIQUE11.下列约束中用于实现实体完整性的约束是AA.PRIMARYKEYB.CHECKC.DEFAULTD.UNIQUE12.下列关于DEFAULT约束的说法,错误的是DA.一个DEFAULT约束只能约束表中的一个列B.在一个表上可以定义多个DEFAULT约束C.DEFAULT只能定义在列级完整性约束处D.在列级完整性约束和表级完整性约束处都可以定义DEFAULT约束46 ·46·第4章数据操作语句一.选择题1.当关系R和S进行连接操作时,如果R中的元组不满足连接条件,在连接结果中也会将这些记录保留下来的操作是AA.左外连接B.右外连接C.内连接D.自连接2.设在某SELECT语句的WHERE子句中,需要对Grade列的空值进行处理。下列关于空值的操作,错误的是CA.GradeISNOTNULLB.GradeISNULLC.Grade=NULLD.NOT(GradeISNULL)3.下列聚合函数中,不忽略空值的是DA.SUM(列名)B.MAX(列名)C.AVG(列名)D.COUNT(*)4.SELECT…INTO…FROM语句的功能是AA.将查询结果插入到一个新表中B.将查询结果插入到一个已建好的表中C.合并查询的结果D.向已存在的表中添加数据5.下列利用SC表的查询语句中,错误的是BA.SELECTSno,COUNT(*)FROMSCGROUPBYSnoB.SELECTSnoFROMSCGROUPBYSnoWHERECOUNT(*)>3C.SELECTSnoFROMSCGROUPBYSnoHAVINGCOUNT(*)>3D.SELECTSnoFROMSCGROUPBYSno6.现要利用Student表查询年龄最小的学生姓名和年龄。下列实现此功能的查询语句中,正确的是DA.SELECTSname,MIN(Sage)FROMStudentB.SELECTSname,SageFROMStudentWHERESage=MIN(Sage)C.SELECTTOP1Sname,SageFROMStudentD.SELECTTOP1Sname,SageFROMStudentORDERBYSage7.设SC表中记录成绩的列为:Grade,类型为int。若在查询成绩时,希望将成绩按‘优’、‘良’、‘中’、‘及格’和‘不及格’形式显示,正确的Case函数是CA.CaseGradeWhen90~100THEN"优"When80~89THEN"良"When70~79THEN"中"When60~69THEN"及格"Else"不及格"EndB.Case46 ·46·WhenGradebetween90and100THENGrade="优"WhenGradebetween80and89THENGrade="良"WhenGradebetween70and79THENGrade="中"WhenGradebetween60and69THENGrade="及格"ElseGrade="不及格"EndA.CaseWhenGradebetween90and100THEN"优"WhenGradebetween80and89THEN"良"WhenGradebetween70and79THEN"中"WhenGradebetween60and69THEN"及格"Else"不及格"EndB.CaseGradeWhen90~100THENGrade="优"When80~89THENGrade="良"When70~79THENGrade="中"When60~69THENGrade="及格"ElseGrade="不及格"End8.下述语句的功能是将两个查询结果合并为一个结果。其中正确的是BA.selectsno,sname,sagefromstudentwheresdept="cs"OrderbysageUnionselectsno,sname,sagefromstudentwheresdept="is"OrderbysageB.selectsno,sname,sagefromstudentwheresdept="cs"Unionselectsno,sname,sagefromstudentwheresdept="is"OrderbysageC.selectsno,sname,sagefromstudentwheresdept="cs"Unionselectsno,snamefromstudentwheresdept="is"OrderbysageD.selectsno,sname,sagefromstudentwheresdept="cs"OrderbysageUnionselectsno,sname,sagefromstudentwheresdept="is"9.下列SQL语句中,用于修改表数据的语句是CA.ALTERB.SELECTC.UPDATED.INSERT10.设有Teachers表,该表的定义如下:CREATETABLETeachers(46 ·46·TnoCHAR(8)PRIMARYKEY,TnameVARCHAR(10)NOTNULL,AgeTINYINTCHECK(AgeBETWEEN25AND65))下列插入语句中,不能正确执行的是DA.INSERTINTOTeachersVALUES("T100","张鸿",NULL)B.INSERTINTOTeachers(Tno,Tname,Age)VALUES("T100","张鸿",30)C.INSERTINTOTeachers(Tno,Tname)VALUES("T100","张鸿")D.INSERTINTOTeachersVALUES("T100","张鸿")11.设数据库中已有表4-1至4-3所示的Student、Course和SC表。现要查询学生选的第2学期开设课程的情况,只需列出学号、姓名、所在系和所选的课程号。该查询涉及到的表是DA.仅Student表B.仅Student和SC表C.仅Student和Course表D.Student、SC和Course表12.删除计算机系学生(在student表中)的修课记录(在SC表中)的正确的语句是表是BA.DELETEFROMSCJOINStudentbONS.Sno=b.SnoWHERESdept="计算机系"B.DELETEFROMSCFROMSCJOINStudentbONSC.Sno=b.SnoWHERESdept="计算机系"C.DELETEFROMStudentWHERESdept="计算机系"D.DELETEFROMSCWHERESdept="计算机系"一.填空题1.在相关子查询中,子查询的执行次数是由_________决定的。外层表的行数2.对包含基于集合测试子查询的查询语句,是先执行_________层查询,在执行_________层查询。内,外3.对包含相关子查询的查询语句,是先执行_________层查询,在执行_________层查询。外,内4.聚合函数COUNT(*)是按_________统计数据个数。行5.设Grade列目前有三个值:90、80和NULL,则AVG(Grade)的值是_________,MIN(Grade)的值是_________。85,806.设有学生表(学号,姓名,所在系)和选课表(学号,课程号,成绩),现要建立统计每个系的选课人数。请补全下列语句:COUNT(DISTINCT选课表.学号)SELECT所在系,_________FROM选课表JOIN学生表ON选课表.学号=学生表.学号GROUPBY所在系7.设有选课表(学号,课程号,成绩),现要查询考试成绩最高的三个学生的学号、课程号和成绩,包括并列情况。请补全下列语句:TOP3WITHTIES,ORDERBY成绩DESCSELECT_________学号,课程号,成绩FROM选课表_________8.UNION操作用于合并多个查询语句的结果,如果在合并结果时不希望去掉重复的数据,则在用UNION操作时应使用_________关键字。ALL9.进行自连接操作的两个表在物理上为一张表。通过_________方法可将物理上的一张表在逻辑上成为两张表。起别名10.FROMALEFTJOINBON…语句表示在连接结果中不限制_________46 ·46·表数据必须满足连接条件。A1.对分组后的统计结果再进行筛选使用的子句是_________。HAVING2.若SELECT语句中同时包含WHERE子句和GROUP子句,则先执行的是_________子句。WHERE一.简答题1.在聚合函数中,哪个函数在统计时不考虑NULL。答:COUNT(*)2.在LIKE运算符中“%”的作用是什么?答:匹配0个或多个字符。3.WHEREAgeBETWEEN20AND30子句,查找的Age范围是多少?答:Age大于等于20并且小于等于304.WHERESdeptNOTIN(‘CS’,’IS’,’MA’),查找的数据是什么?答:查找‘CS’,’IS’,’MA’三个系之外的其他系5.自连接与普通内连接的主要区别是什么?答:自连接中进行连接操作的表在物理上是一张表,而普通内连接进行连接的表在物理上是两张表。6.外连接与内连接的主要区别是什么?答:进行外连接的两个表中,可以有一张表不满足连接条件,而进行内连接的两个表必须都满足连接条件。7.在使用UNION合并多个查询语句的结果时,对各个查询语句的要求是什么?答:各个查询语句的列个数必须相同,对应列的语义相同,类型兼容。8.相关子查询与嵌套子查询在执行方面的主要区别是什么?答:相关子查询的执行过程是先外后内,而嵌套子查询的执行过程是先内后外。而且相关子查询中必须有与外层查询的关联,而嵌套子查询中,内、外层查询之间没有关联关系。9.执行SELECT…INOT表名FROM…语句时,对表名的要求是什么?答:必须是一个不存在的新表名。10.对统计结果的筛选应该使用哪个子句完成?答:使用HAVING子句11.在排序子句中,排序依据列的前后顺序是否重要?ORDERBYC1,C2子句对数据的排序顺序是什么?答:重要,系统会按列的先后顺序进行排序。先按C1列进行排序,在C1列值相同时再按C2列进行排序。12.TOP子句的作用是什么?46 ·46·答:在查询结果产生后,提取结果的前若干行数据。四.上机练习1.查询学生选课表中的全部数据。答:select*fromSC2.查询计算机系的学生的姓名、年龄。答:selectsname,sagefromstudentwheresdept="计算机系"3.查询成绩在70~80分之间的学生的学号、课程号和成绩。答:selectsno,cno,gradefromsconwheregradebetween70and801.查询计算机系年龄在18~20之间且性别为“男”的学生的姓名、年龄。答:selectsname,sagefromstudentwheresdept="计算机系"andsagebetween18and20andssex="男"2.查询“C001”号课程的最高分。答:selectmax(grade)fromscwherecno="C001"6.查询计算机系学生的最大年龄和最小年龄。答:selectmax(sage)asmax_age,min(sage)asmin_agefromstudentwheresdept="计算机系"7.统计每个系的学生人数。答:selectsdept,count(*)fromstudentgroupbysdept8.统计每门课程的选课人数和考试最高分。答:selectcno,count(*),max(grade)fromscgroupbycno9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。答:selectsno,count(*),sum(grade)fromscgroupbysnoorderbycount(*)asc10.查询总成绩超过200分的学生,要求列出学号和总成绩。答:selectsno,sum(grade)fromscgroupbysnohavingsum(grade)>20011.查询选课门数超过2门的学生的学号、平均成绩和选课门数。答:selectsno,avg(grade),count(*)fromschavingcount(*)>212.查询选了“C002”课程的学生的姓名和所在系。答:selectsname,sdeptfromstudentsjoinscons.sno=sc.snowherecno="C002"46 ·46·13.查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。答:selectsname,cno,gradefromstudentsjoinscons.sno=sc.snowheregrade>80orderbygradedesc14.查询计算机系男生修了“数据库基础”的学生的姓名、性别和成绩。答:selectsname,ssex,gradefromstudentsjoinscons.sno=sc.snojoincourseconc.cno=sc.cnowheresdept="计算机系"andssex="男"andcname="数据库基础"15.查询学生的选课情况,要求列出每位学生的选课情况(包括未选课的学生),并列出学生的学号、姓名、课程号和考试成绩。答:selects.sno,sname,cno,gradefromstudentsleftjoinscons.sno=sc.sno16.查询哪些课程没有人选,要求列出课程号和课程名。答:selectc.cno,cnamefromcoursecleftjoinsconc.cno=sc.cnowheresc.cnoisnull17.查询计算机系没有选课的学生,列出学生姓名。答:selectsnamefromstudentsleftjoinscons.sno=sc.snoWheresdept="计算机系"andsc.snoisnull18.列出“数据库基础”课程考试成绩前三名的学生的学号、姓名、所在系和考试成绩。答:selecttop3s.sno,sname,sdept,gradefromStudentsjoinSCons.Sno=SC.SnojoinCourseconc.Cno=SC.Cnowherecname="数据库基础"orderbygradedesc19.查询VB考试成绩最低的学生的姓名、所在系和VB成绩。答:selecttop1withtiessname,sdept,gradefromstudentsjoinscons.sno=sc.snojoincourseconc.cno=sc.cnowherecname="VB"orderbygradeasc20.查询有考试成绩的所有学生的姓名、修课名称及考试成绩,要求将查询结果放在一张新的永久表中,假设新表名为new_sc。答:selectsname,cname,gradeintonew_scfromstudentsjoinscons.sno=sc.snojoincourseconc.cno=sc.cnowheregradeisnotnull21.分别查询信息管理46 ·46·系和计算机系的学生的姓名、性别、修课名称、修课成绩,并要求将这两个查询结果合并成一个结果集,并以系名、姓名、性别、修课名称、修课成绩的顺序显示各列。答:selectsdept系名,sname姓名,ssex性别,cname修课名称,grade修课成绩fromstudentsjoinscons.sno=sc.snojoincourseconc.cno=sc.cnowheresdept="信息管理系"UNIONselectsdept,sname,ssex,cname,gradefromstudentsjoinscons.sno=sc.snojoincourseconc.cno=sc.cnowheresdept="计算机系"22.查询选了VB的学生学号、姓名、所在系和成绩,并对所在系进行如下处理:当所在系为“计算机系”时,显示“CS”;当所在系为“信息管理系”时,显示“IS”;当所在系为“通信工程系”时,显示“CO”;对其他系,均显示“OTHER”。答:selects.sno学号,sname姓名,casesdeptwhen"计算机系"then"CS"when"信息系"then"IS"when"数学系"then"CO"else"OTHER"endas所在系,grade成绩fromstudentsjoinscons.sno=sc.snojoincourseconc.cno=sc.cnowherecname="vb"23.用子查询实现如下查询:(1)查询选了“C001”课程的学生姓名和所在系。答:selectsname,sdeptfromstudentwheresnoin(selectsnofromscwherecno="C001")(2)查询通信工程系成绩80分以上的学生学号和姓名。答:selectsno,snamefromstudentwheresnoin(selectsnofromscwheregrade>80)andsdept="通信工程系"(3)查询计算机系考试成绩最高的学生姓名。答:selectsnamefromstudentsjoinscons.sno=sc.snowheresdept="计算机系"andgrade=(selectmax(grade)fromscjoinstudentsons.sno=sc.snowheresdept="计算机系")(4)查询年龄最大的男生的姓名和年龄。答:selectsname,sagefromstudent46 ·46·Wheresage=(selectmax(sage)fromstudentandssex="男")andssex="男"(5)查询“C001”课程的考试成绩高于“C001”课程的平均成绩的学生的学号和“C001”课程成绩。答:selectsno,gradefromscwherecno="C001"Andgrade>(selectavg(grade)fromscwherecno="C001")24.创建一个新表,表名为test_t,其结构为:(COL1,COL2,COL3),其中:COL1:整型,允许空值。COL2:字符型,长度为10,不允许空值。COL3:字符型,长度为10,允许空值。试写出按行插入如下数据的语句(空白处表示空值)。COL1COL2COL3B11B2C22B3答:createtabletest_t(COL1int,COL2char(10)notnull,COL3char(10))insertintotest_tvalues(NULL,"B1",NULL)insertintotest_tvalues(1,"B2","C2")insertintotest_t(COL1,COL2)values(2,"B3")25.将“C001”课程的考试成绩加10分。答:updatescsetgrade=grade+10wherecno="C001"26.将计算机系所有选修了“计算机文化学”课程的学生成绩加10分,分别用子查询和多表连接形式实现。答:(1)子查询updatescsetgrade=grade+10wheresnoin(selectsnofromstudentwheresdept="计算机系")andcnoin(selectcnofromcoursewherecname="计算机文化学")(2)多表连接updatescsetgrade=grade+10fromscjoinstudentsonsc.sno=s.snojoincourseconc.cno=sc.cnowheresdept="计算机系"andcanem="计算机文化学"27.删除修课成绩小于50分的学生的选课记录。46 ·46·答:deletefromscwheregrade<5028.删除信息管理系考试成绩小于50分的学生的该门课程的修课纪录,分别用子查询和多表连接形式实现。答:(1)用连接查询实现deletefromscfromscjoinstudentsons.sno=sc.snowheresdept="信息管理系"andgrade<50(2)用子查询实现deletefromscwheresnoin(selectsnofromstudentwheresdept="信息管理系")andgrade<5029.删除VB考试成绩最低的学生的VB修课记录。答:deletefromscwheregrade=(selectmin(grade)fromscjoincourseconc.cno=sc.cnowherecname="vb")andcnoin(selectcnofromcoursewherecname="vb")46 ·46·第5章视图和索引一.选择题1.下列关于视图的说法,正确的是BA.视图与基本表一样,也存储数据B.对视图的操作最终都转换为对基本表的操作C.视图的数据源只能是基本表D.所有视图都可以实现对数据的增、删、改、查操作2.在视图的定义语句中,只能包含AA.数据查询语句B.数据增、删、改语句C.创建表的语句D.全部都可以3.视图对应数据库三级模式中的_________。A.外模式B.内模式C.模式D.其他4.下列关于通过视图更新数据的说法,错误的是AA.如果视图的定义涉及到多张表,则对这种视图一般情况下允许进行更新操作B.如果定义视图的查询语句中含有GROUPBY子句,则对这种视图不允许进行更新操作C.如果定义视图的查询语句中含有统计函数,则对这种视图不允许进行更新操作D.如果视图数据来自单个基本表的行、列选择结果,则一般情况下允许进行更新操作5.下列关于视图的说法,正确的是BA.通过视图可以提高数据查询效率B.视图提供了数据的逻辑独立性C.视图只能建立在基本表上D.定义视图的语句可以包含数据更改语句6.创建视图的主要作用是DA.提高数据查询效率B.维护数据的完整性约束C.维护数据的一致性D.提供用户视角的数据7.建立索引可以加快数据的查询效率。在数据库的三级模式结构中,索引属于AA.内模式B.模式C.外模式D.概念模式8.设有学生表(学号,姓名,所在系)。下列建立统计每个系的学生人数的视图语句中,正确的是DA.CREATEVIEWv1ASSELECT所在系,COUNT(*)FROM学生表GROUPBY所在系B.CREATEVIEWv1ASSELECT所在系,SUM(*)FROM学生表GROUPBY所在系C.CREATEVIEWv1(系名,人数)ASSELECT所在系,SUM(*)FROM学生表GROUPBY所在系46 ·46·D.CREATEVIEWv1(系名,人数)ASSELECT所在系,COUNT(*)FROM学生表GROUPBY所在系9.设用户在某数据库中经常需要进行如下查询操作:ASELECT*FROMTWHEREC1=’A’ORDERBYC2设T表中已在C1列上建立了主码约束,且该表只建有该约束。为提高该查询的执行效率,下列方法中可行的是CA.在C1列上建立一个聚集索引,在C2列上建立一个非聚集索引B.在C1和C2列上分别建立一个非聚集索引C.在C2列上建立一个非聚集索引D.在C1和C2列上建立一个组合的非聚集索引10.下列关于索引的说法,正确的是CA.只要建立了索引就可以加快数据的查询效率B.当一个表上需要创建聚集和非聚集索引时,应该先创建非聚集索引,然后再创建聚集索引,这种顺序会使创建索引的效率比较高C.在一个表上可以建立多个唯一的非聚集索引D.索引会影响数据插入和更新数据的执行效率,但不会影响删除数据的执行效率11.下列关于CREATEUNIQUEINDEXIDX1ONT(C1,C2)语句作用的说法,正确的是DA.在C1和C2列上分别建立一个唯一聚集索引B.在C1和C2列上分别建立一个唯一非聚集索引C.在C1和C2列的组合上建立一个唯一聚集索引D.在C1和C2列的组合上建立一个唯一非聚集索引一.填空题1.对视图的操作最终都转换为对_____操作。基本表2.视图是虚表,在数据库中只存储视图的_____,不存储视图的数据。定义3.修改视图定义的语句是_____。ALTERVIEW4.视图对应数据库三级模式中的_____模式。外5.在一个表上最多可以建立_____个聚集索引,可以建立_____个非聚集索引。一,多6.当在T表的C1列上建立聚集索引后,数据库管理系统会将T表数据按_____列进行_____。C1物理排序7.索引建立的合适,可以加快数据_____操作的执行效率。查询8.在employees表的phone列上建立一个非聚集索引的SQL语句是_____CREATEINDEXIDX1ONemployees(phone)或:CREATENONCLUSTEREDINDEXIDX1ONemployees(phone)9.设有student表,结构为Student(Sno,Sname,Sdept)。现要在该表上建立一个统计每个系的学生人数的视图,视图名为V_dept,视图结构为(系名,人数)。请补全下列定义该视图的SQL语句V_dept(系名,人数),GROUPBYSdeptCREATEVIEW_____ASSELECTSdept,COUNT(*)_____10.非聚集索引的B-树中,叶级节点中每个索引行由索引键值和_____组成。行指示器46 ·46·一.简答题1.试说明使用视图的好处。答:利用视图可以简化客户端的数据查询语句,使用户能从多角度看待同一数据,可以提高数据的安全性,视图对应数据库三级模式中的外模式,因此提供了一定程度的逻辑独立性。2.试说明哪类视图可实现更新数据的操作,哪类视图不可实现更新数据的操作。答:一般只涉及到一张表的行列子集,且不含分组、统计计算等操作的视图是可更新数据的,其他情况一般都不能实现数据的更新操作。3.使用视图可以加快数据的查询速度,这句话对吗?为什么?答:不对,因为通过视图查询数据时,比直接针对基本表查询数据多了一个转换过程,即从外模式到模式的转换。4.索引的作用是什么?答:索引可以加快数据的查询效率。5.索引分为哪几种类型?分别是什么?它们的主要区别是什么答:分为聚集索引和非聚集索引两种。聚集索引会对数据进行物理排序,非聚集索引不对数据进行物理排序。6.聚集索引一定是唯一性索引,对吗?反之呢?答:不对。反之也不对。7.在建立聚集索引时,数据库管理系统首先要将数据按聚集索引列进行物理排序。对吗?答:对。8.在建立非聚集索引时,数据库管理系统并不对数据进行物理排序。对吗?答:对。9.不管对表进行什么类型的操作,在表上建立的索引越多越能提高操作效率。对吗?10.答:不对。11.适合建立索引的列是什么?答:适合建立索引的情况:l包含大量非重复值的列。l在WHERE子句中经常用于进行BETWEENAND、>、>=、<和<=等操作的列。l经常被用作连接操作的列。lORDERBY或GROUPBY子句中涉及的列。四.上机练习1.写出创建满足下述要求的视图的SQL语句,并执行这些语句。将所写语句保存到一个文件中。(1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。46 ·46·答:Createviewv1AsSelects.sno,sname,sdept,c.cno,cname,creditFromstudentsjoinscons.sno=sc.snoJoincourseconc.cno=sc.cno(1)查询学生的学号、姓名、选修的课程名和考试成绩。答:Createviewv2AsSelects.sno,sname,cname,gradeFromstudentsjoinscons.sno=sc.snoJoincourseconc.cno=sc.cno(2)统计每个学生的选课门数,列出学生学号和选课门数。答:Createviewv3AsSelectsno,count(*)astotalFromscgroupbysno(3)统计每个学生的修课总学分,列出学生学号和总学分(说明:考试成绩大于等于60才可获得此门课程的学分)。答:Createviewv4AsSelectsno,sum(credit)astotal_creditFromsnojoincourseconc.cno=sc.cnoWheregrade>=60Groupbysno1.利用第1题建立的视图,写出完成如下查询的SQL语句,并执行这些语句,查看执行结果。将查询语句和执行结果保存到一个文件中。(1)查询考试成绩大于等于90分的学生的姓名、课程名和成绩。答:Selectsname,cname,gradeFromv2wheregrade>=90(2)查询选课门数超过3门的学生的学号和选课门数。答:Select*fromv3wheretotal>=3(3)查询计算机系选课门数超过3门的学生的姓名和选课门数。答:Selectsname,totalfromv3joinstudentsons.sno=v3.snoWheresdept=‘计算机系’andtotal>=3(4)查询修课总学分超过10分的学生的学号、姓名、所在系和修课总学分。答:Selectv4.sno,sname,sdept,total_creditFromv4joinstudentsons.sno=v4.snoWheretotal_credit>=10(5)查询年龄大于等于20岁的学生中,修课总学分超过10分的学生的姓名、年龄、所在系和修课总学分。答:Selectsname,sage,sdept,total_creditFromv4joinstudentsons.sno=v4.snoWheresage>=20andtotal_credit>=1046 ·46·1.修改第1题(4)定义的视图,使其查询每个学生的学号、总学分以及总的选课门数。答:Alterviewv4AsSelectsno,sum(credit)astotal_credit,count(*)astotal_cnoFromscjoincourseconc.cno=sc.cnoGroupbysno2.写出实现下列操作的SQL语句,执行这些语句,并在SSMS工具中观察语句执行结果。(1)在Student表的Sdept列上建立一个按降序排序的非聚集索引,索引名为:Idx_Sdept。答:CreateindexIdx_Sdeptonstudent(SdeptDESC)(2)在Student表的Sname列上建立一个唯一的非聚集索引,索引名为:Idx_Sname。答:CreateuniqueindexIdx_Snameonstudent(Sname)(3)在Course表上为Cname列建立一个非聚集索引,索引名为:Idx_Cname答:CreateindexIdx_CnameonCourse(Cname)(4)在SC表上为Sno和Cno建立一个组合的非聚集索引,索引名为:Idx_SnoCno。答:CreateindexIdx_SnoCnoonSC(Sno,Cno)(5)删除在Sname列上建立的Idx_Sname索引。答:dropindexIdx_SnameonStudent46 ·46·第6章关系数据理论一.选择题1.对关系模式进行规范化的主要目的是BA.提高数据操作效率B.维护数据的一致性C.加强数据的安全性D.为用户提供更快捷的数据操作2.关系模式中的插入异常是指DA.插入的数据违反了实体完整性约束B.插入的数据违反了用户定义的完整性约束C.插入了不该插入的数据D.应该被插入的数据不能被插入3.如果有函数依赖X→Y,并且对X的任意真子集X’,都有X’Y,则称CA.X完全函数依赖于YB.X部分函数依赖于YC.Y完全函数依赖于XD.Y部分函数依赖于X4.如果有函数依赖X→Y,并且对X的某个真子集X’,有X’→Y成立,则称BA.Y完全函数依赖于XB.Y部分函数依赖于XC.X完全函数依赖于YD.X部分函数依赖于Y5.若X→Y和Y→Z在关系模式R上成立,则X→Z在R上也成立。该推理规则称为CA.自反规则B.增广规则C.传递规则D.伪传递规则6.若关系模式R中属性A仅出现在函数依赖的左部,则A为AA.L类属性B.R类属性C.N类属性D.LR类属性7.若关系模式R中属性A是N类属性,则ADA.一定不包含在R任何候选码中B.可能包含也可能不包含在R的候选码中C.一定包含在R的某个候选码中D.一定包含在R的任何候选码中8.设F是某关系模式的极小函数依赖集。下列关于F的说法,错误的是BA.F中每个函数依赖的右部都必须是单个属性B.F中每个函数依赖的左部都必须是单个属性C.F中不能有冗余的函数依赖D.F中每个函数依赖的左部不能有冗余属性9.有关系模式:学生(学号,姓名,所在系,系主任),设一个系只有一个系主任,则该关系模式至少属于BA.第一范式B.第二范式C.第三范式D.BC范式46 ·46·10.设有关系模式R(X,Y,Z),其F={Y→Z,Y→X,X→YZ},则该关系模式至少属于DA.第一范式B.第二范式C.第三范式D.BC范式11.下列关于关系模式与范式的说法,错误的是DA.任何一个只包含两个属性的关系模式一定属于3NFB.任何一个只包含两个属性的关系模式一定属于BCNFC.任何一个只包含两个属性的关系模式一定属于2NFD.任何一个只包含三个属性的关系模式一定属于3NF12.有关系模式:借书(书号,书名,库存量,读者号,借书日期,还书日期),设一个读者可以多次借阅同一本书,但对一种书(用书号唯一标识)不能同时借多本。该关系模式的主码是AA.(书号,读者号,借书日期)B.(书号,读者号)A.(书号)D.(读者号)二.填空题1.在关系模式R中,若属性A只出现在函数依赖的右部,则A是_____类属性。R2.若关系模式R∈2NF,则R中一定不存在非主属性对主码的_____函数依赖。部分3.若关系模式R∈3NF,则R中一定不存在非主属性对主码的_____函数依赖。传递4.设有关系模式X(S,SN,D)和Y(D,DN,M),X的主码是S,Y的主码是D,则D在关系模式X中被称为_____。外码5.设有关系模式R(U,F),U={X,Y,Z,W},F={XY→Z,W→X},则(ZW)+=_____,R的候选码为_____,该关系模式属于_____范式。XZWYW第一6.在关系模式R中,若属性A不在任何函数依赖中出现,则A是_____类属性。N7.在关系模式R中,若有X→Y,且ZÍY,则X→Z在R上也成立,该推理规则为Armstrong公理系统中的_____。分解规则8.根据Armstrong公理系统中的自反规则,对关系模式R中的属性集X,若YÍX,则一定有_____。X→Y9.关系数据库中的关系表至少都满足_____范式要求。第一10.关系规范化的过程是将关系模式从低范式规范化到高范式的过程,这个过程实际上是通过_____实现的。模式分解11.若关系模式R的主码只包含一个属性,则R至少属于第_____范式。二12.若关系模式R中所有的非主属性都完全函数依赖于主码,则R至少属于第_____范式。二三.简答题1.关系规范化中的操作异常有哪些?它是由什么引起的?解决的办法是什么?2.第一范式、第二范式和第三范式关系模式的定义分别是什么?3.什么是部分函数依赖?什么是传递函数依赖?请举例说明。4.第三范式的关系模式是否一定不包含部分函数依赖关系?5.设有关系模式R(A,B,C,D),F={D→A,D→B}(1)求D+。(2)求R的全部候选码。答:(1)D+=DAB(2)因为D是L类属性,因此D一定出现在R的任何候选码中;因为C是N类属性,因此D一定出现在R的任何候选码中;46 ·46·(CD)+=CDAB=R的全部属性,因此R的唯一候选码是CD。6.设有关系模式R(W,X,Y,Z),F={X→Z,WX→Y},该关系模式属于第几范式,请说明理由。解:R是1NF,R的候选码为WX,因此Y,Z是非主属性,又由于存在X→Z,因此F中存在非主属性对主码的部分函数依赖,因此R不是2NF。7.设有关系模式R(A,B,C,D),F={A→C,C→A,B→AC,D→AC}(1)求B+,(AD)+。(2)求R的全部候选码,判断R属于第几范式。(3)求F的极小函数依赖集Fmin。答:(1)B+=BAC(AD)+=ADC(2)由于B、D是L类属性,因此B、D会在任何候选码中;(BD)+=BDAC=R的全部属性,因此R的候选码是BD。R是第1范式,因为存在部分函数依赖:(3)①将所有函数依赖的右边改为单个属性,得到:B→AC,D→ACF1={A→C,C→A,B→A,B→C,D→A,D→C}②去掉函数依赖左部的多余属性:该关系模式的全部函数依赖集左部均为一个属性,因此不存在左部有多余属性的情况。③去掉多余的函数依赖。去掉A→C,得到F2={C→A,B→A,B→C,D→A,D→C}A+F2=AC,包含C,因此为多余函数依赖,应去掉;去掉C→A,得到F3={B→A,B→C,D→A,D→C}C+F3=C,不包含A,因此C→A不是多余函数依赖;去掉B→A,得到F4={C→A,B→C,D→A,D→C}B+F4=BCA,包含A,因此B→A是多余函数依赖,应去掉;去掉B→C,得到F5={C→A,D→A,D→C}B+F5=B,不包含C,因此B→C不是多余函数依赖;去掉D→A,得到F6={C→A,B→C,D→C}D+F5=DCA,不包含A,因此D→A是多余函数依赖,应去掉;去掉D→C,得到F7={C→A,B→C}D+F5=D,不包含C,因此D→C不是多余函数依赖。最终Fmin={C→A,B→C,D→C}一.设计题1.设有关系模式:学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一个学生可以选多门课程,一门课程可以被多名学生选。一个学生有唯一的所在系,每门课程有唯一的课程名和学分。每个学生对每门课程有唯一的成绩。(1)请指出此关系模式的候选码。(2)写出该关系模式的极小函数依赖集。(3)该关系模式属于第几范式?并简单说明理由。(4)若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码。答:(1)候选码:(学号,课程号)46 ·46·(2)学号→姓名,学号→所在系,学号→性别,课程号→课程名,课程号→学分,(学号,课程号)→成绩(3)属于第二范式,因为存在部分函数依赖:学号→姓名。(4)第三范式关系模式:学生(学号,姓名,所在系,性别)课程(课程号,课程名,学分)考试(学号,课程号,成绩),学号为引用学生的外码,课程号为引用课程的外码。1.设有关系模式:学生(学号,姓名,所在系,班号,班主任,系主任),其语义为:一个学生只在一个系的一个班学习,一个系只有一个系主任,一个班只有一名班主任,一个系可以有多个班。(1)请指出此关系模式的候选码。(2)写出该关系模式的极小函数依赖集。(3)该关系模式属于第几范式?并简单说明理由。(4)若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码。解:(1)候选码:学号(2)学号→姓名,学号→所在系,学号→班号,班号→班主任,所在系→系主任(3)第二范式,因为有:学号→班号,班号→班主任,因此存在传递函数依赖:学号班主任(4)第三范式关系模式:学生(学号,姓名,所在系,班号),班号为引用班的外码,所在系为引用系的外码。班(班号,班主任)系(系名,系主任)2.设有关系模式:教师授课(课程号,课程名,学分,授课教师号,教师名,授课时数),其语义为:一门课程(由课程号决定)有确定的课程名和学分,每名教师(由教师号决定)有确定的教师名,每门课程可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定的授课时数。(1)指出此关系模式的候选码。(2)写出该关系模式的极小函数依赖集。(3)该关系模式属于第几范式?并简单说明理由(4)若不属于第三范式,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码。答:(1)候选码:(课程号,授课教师号)(2)课程号→课程名,课程号→学分,授课教师号→教师名,(课程号,授课教师号)→授课时数(3)属于第一范式。因为有:课程号→课程名,因此存在部分函数依赖关系:(课程号,授课教师号)课程名(4)第三范式关系模式:课程(课程号,课程名,学分)教师(教师号,教师名)授课(课程号,教师号,授课时数),课程号为引用课程的外码,教师号为引用教师的外码。46 ·46·46 ·46·第7章数据库设计一.选择题1.在数据库设计中,将E-R图转换为关系数据模型是下述哪个阶段完成的工作CA.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段2.在进行数据库逻辑结构设计时,不属于逻辑设计应遵守的原则的是DA.尽可能避免插入异常B.尽可能避免删除异常C.尽可能避免数据冗余D.尽可能避免多表连接操作3.在进行数据库逻辑结构设计时,判断设计是否合理的常用依据是AA.规范化理论B.概念数据模型C.数据字典D.数据流图4.在将E-R图转换为关系模型时,一般都将m:n联系转换成一个独立的关系模式。下列关于这种联系产生的关系模式的主码的说法,正确的是CA.只需包含m端关系模式的主码即可B.只需包含n端关系模式的主码即可C.至少包含m端和n端关系模式的主码D.必须添加新的属性作为主码5.数据流图是从“数据”和“处理”两方面表达数据处理的一种图形化表示方法,该方法主要用在数据库设计的AA.需求分析阶段B.概念结构设计阶段C.逻辑结构设计阶段D.物理结构设计阶段6.在将局部E-R图合并为全局E-R图时,可能会产生一些冲突。下列冲突中不属于合并E-R图冲突的是BA.结构冲突B.语法冲突C.属性冲突D.命名冲突7.一个银行营业所可以有多个客户,一个客户也可以在多个营业所进行存取款业务,则客户和银行营业所之间的联系是DA.一对一B.一对多C.多对一D.多对多8.在关系数据库中,二维表结构是BA.关系数据库采用的概念层数据模型B.关系数据库采用的组织层数据模型C.数据库文件的组织方式D.内模式采用的数据组织方式9.设实体A与实体B之间是一对多联系。下列进行的逻辑结构设计方法中,最合理的是AA.实体A和实体B分别对应一个关系模式,且外码放在实体B的关系模式中B.实体A和实体B分别对应一个关系模式,且外码放在实体A的关系模式中46 ·46·C.为实体A和实体B设计一个关系模式,该关系模式包含两个实体的全部属性D.分别为实体A、实体B和它们之间的联系设计一个关系模式,外码在联系对应的关系模式中10.设有描述图书出版情况的关系模式:出版(书号,出版日期,印刷数量),设一本书可以被出版多次,每次出版都有一个出版数量。该关系模式的主码是BA.书号B.(书号,出版日期)C.(书号,印刷数量)D.(书号,出版日期,印刷数量)11.设有描述学生借书情况的关系模式:借书(书号,读者号,借书日期,还书日期),设一个读者可在不同日期多次借阅同一本书,但不能在同一天对同一本书借阅多次。该关系模式的主码是CA.书号B.(书号,读者号)C.(书号,读者号,借书日期)D.(书号,读者号,借书日期,还书日期)12.设有如下两个关系模式职工(职工号,姓名,所在部门编号)部门(部门编号,部门名称,联系电话,办公地点)为表达职工与部门之间的关联关系,需定义外码。下列关于这两个关系模式中外码的说法,正确的是AA.“职工”关系模式中的“所在部门编号”是引用“部门”的外码B.部门关系模式中的“部门编号”是引用“职工”的外码C.不能定义外码,因为两个关系模式中没有同名属性D.将“职工”关系模式中的“所在部门编号”定义为外码,或者将“部门”关系模式中的“部门编号”定义为外码均可13.在数据库设计中,进行用户子模式设计是下述哪个阶段要完成的工作BA.需求分析阶段B.概念结构设计阶段C.逻辑结构设计阶段D.物理结构设计阶段14.下述不属于数据库物理结构设计内容的是CA.确定数据的存储结构B.确定数据存储位置C.确定数据的存储分配D.确定数据库表结构15.数据库物理结构设计完成后就进入到数据库实施阶段。下列不属于数据库实施阶段工作的DA.调试应用程序B.试运行应用程序C.加载数据D.扩充系统功能一.填空题1.一般将数据库设计分为______、______、______、______、______几个阶段。需求分析结构设计行为设计数据库实施数据库运行和维护2.数据库结构设计包括______、______和______三个过程。概念结构设计逻辑结构设计物理结构设计3.将局部E-R图合并为全局E-R图时,可能遇到的冲突有______、______和______。属性冲突命名冲突结构冲突4.在数据库实施阶段除了创建数据库、关系表等之外,还包括两项重要的工作,一项是______,另一项是______。加载数据调试和运行应用程序5.______设计是将需求分析得到的用户需求进行概括和抽象,得到概念层数据模型。概念(结构)46 ·46·1.将E-R图转换为某个数据库管理系统支持的组织层数据模型是______设计阶段完成的工作。逻辑(结构)2.数据流图表达了数据库应用系统中______和______的关系。数据处理3.在数据库设计中,在需求分析阶段用文档来描述数据需求,包括对数据项、数据结构、数据流、数据存储和数据处理过程的描述,通常将这个文档称为______。数据字典4.采用E-R方法的概念结构设计通常包括______、______和______三个步骤。设计局部E-R图,设计全局E-R图优化全局E-R图5.根据应用要求确定在哪些表的哪个或哪些属性上建立索引的工作是在数据库设计的______阶段完成的。物理设计一.简答题1.数据库设计分为哪几个阶段?每个阶段的主要工作是什么。2.需求分析阶段的任务是什么?其中发现事实的方法有哪些?3.概念结构应该具有哪些特点?4.概念结构设计的策略有哪些?5.什么是数据库的逻辑结构设计?简述其设计步骤。6.把E-R模型转换为关系模式的转换规则有哪些?7.数据模型的优化包含哪些方法?8.简述数据库物理结构设计阶段的主要工作。9.简述数据库实施阶段的主要工作。10.简述数据库行为设计包含的内容。二.设计题1.将给定的E-R图转换为符合3NF的关系模式,并指出每个关系模式的主码和外码。(1)图7-25所示为描述图书、读者以及读者借阅图书的E-R图。图7-25图书借阅E-R图答:下列各关系模式中用下划线标识主码。图书(书号,书名,出版日期,作者名)读者(读者号,读者名,联系电话,所在单位)借阅(书号,读者号,借书日期,还书日期),书号为引用图书关系模式的外码,读者号为引用读者关系模式的外码。(2)图7-26所示为描述商店从生产厂家订购商品的E-R图。答:下列各关系模式中用下划线标识主码。46 ·46·商店(商店编号,商店名,联系电话)∈3NF商品(商品编号,商品名称,库存量,商品分类)∈3NF厂家(厂家编号,联系地址,联系电话)∈3NF订购(商店编号,厂家编号,商品编号,订购日期,订购数量),商店编号为引用商店关系模式的外码,厂家编号为引用厂家关系模式的外码,商品编号为引用商品关系模式的外码。∈3NF图7-26商品订购E-R图(3)图7-27为描述学生参加学校社团的E-R图。图7-27学生参加社团E-R图答:下列各关系模式中用下划线标识主码。社团(社团号,社团名,电话,性质)∈3NF学生(学号,姓名,性别,专业,社团号,参加日期),社团号为引用社团的外码。∈3NF1.设某工厂生产若干产品,每种产品由若干零件组成,同一种零件可用在不同的产品上。零件由不同的原材料制成,不同的零件所用的原材料可以相同。零件按所属产品的不同被分别存放在不同的仓库中,一个仓库可以存放多种不同的零件。原材料按类别存放在若干仓库中,一个仓库也可以存放不同类别的材料。画出该工厂的E-R图(注:只画出实体和联系即可,不用标识属性)。答:①确定实体。本系统共有四个实体:产品、零件、材料、仓库。因为只描述的是一个工厂的情况,因此不需要将工厂设为实体。②确定实体间的联系。n产品与零件:多对多联系,可将联系命名为“组成”。n零件与材料:多对多联系,可将联系命名为“制成”。n零件与仓库:多对多联系,可将联系命名为“存放”。46 ·46·n材料与仓库:多对多联系,可将联系命名为“存放”。③绘制E-R图1.设要建立描述顾客在商店的购物情况的数据库应用系统,该系统有如下要求:一个商店可有多名顾客购物,一个顾客可到多个商店购物,顾客每次购物有一个购物金额和购物日期。规定每个顾客每天在每个商店最多有一次购物,每次购物可购买多种商品。需要描述的“商店”信息包括:商店编号、商店名、地址、联系电话;需要描述的顾客信息包括:顾客号、姓名、住址、身份证号、性别。请画出描述该应用系统的E-R图,并注明各实体的属性、标识属性以及联系的种类。答:(a)(b)2.图7-28(a)~(d)所示为某企业信息管理系统中的局部E-R图,请将这些局部E-R图合并为一个全局E-R图,并指明各实体以及联系的属性,标明联系的种类(注:为使图形简洁明了,在全局E-R图中可只画出实体和联系,属性单独用文字描述)。将合并后的E-R图转换为符合3NF要求的关系模式,并说明主码和外码。46 ·46·(c)(d)图7-28各局部E-R图答:分析:①工人实体可以与职工实体合并,将工人的属性合并到职工实体中,并在职工实体中增加“身份”属性,来标识是工人还是其他职工。②设备处可合并到部门实体中,因设备处也是一个部门。可在实现时增加约束:只有设备处才能管理设备。③合并后的设备实体属性是图(c)和(d)中设备属性的并集。合并后的结果:46 ·46·关系模式(主码用下划线标识)部门(部门号,部门名,联系电话,办公地点)职工(职工编号,姓名,身份,职务,性别,年龄,所属部门号),所属部门号为引用部门的外码设备(设备号,设备名,规格,价格,被管部门号),被管部门号为引用部门的外码零件(零件号,零件名,规格,价格)厂商(厂商号,厂商名,地址,电话)装配(设备号,零件号,零件数量),设备号为引用设备的外码,零件号为引用零件的外码生产(厂商号,零件号,生产日期)或生产(厂商号,零件号,生产日期)46 ·46·第8章事务与并发控制一.选择题1.如果事务T获得了数据项A上的排他锁,则其他事务对ADA.只能读不能写B.只能写不能读C.可以写也可以读D.不能读也不能写2.设事务T1和T2执行如图8-15所示的并发操作,这种并发操作存在的问题是B时间事务T1事务T2①读A=100,B=10②读A=100A=A*2=200写回A=200③计算A+B④读A=100,B=10验证A+B图8-15并发操作A.丢失修改B.不能重复读C.读脏数据D.产生幽灵数据3.下列关于数据库死锁的说法,正确的是CA.死锁是数据库中不可判断的一种现象B.在数据库中防止死锁的方法是禁止多个用户同时操作数据库C.只有允许并发操作时,才有可能出现死锁D.当两个或多个用户竞争相同资源时就会产生死锁4.下列不属于事务特征的是AA.完整性B.一致性C.隔离性D.原子性5.若事务T对数据项D已加了S锁,则其他事务对数据项DAA.可以加S锁,但不能加X锁B.可以加X锁,但不能加S锁C.可以加S锁,也可以加X锁D.不能加任何锁6.在数据库管理系统的三级封锁协议中,二级封锁协议的加锁要求是CA.对读数据不加锁,对写数据在事务开始时加X锁,事务完成后释放X锁B.读数据时加S锁,读完即释放S锁;写数据时加X锁,写完即释放X锁C.读数据时加S锁,读完即释放S锁;对写数据是在事务开始时加X锁,事务完成后释放X锁D.在事务开始时即对要读、写的数据加锁,等事务结束后再释放全部锁7.在数据库管理系统的三级封锁协议中,一级封锁协议能够解决的问题是AA.丢失修改B.不可重复读C.读脏数据D.死锁46 ·46·1.若系统中存在4个等待事务T0、T1、T2和T3,其中T0正等待被T1锁住的数据项A1,T1正等待被T2锁住的数据项A2,T2正等待被T3锁住的数据项A3,T3正等待被T0锁住的数据项A0。则此时系统所处的状态是BA.活锁B.死锁C.封锁D.正常2.事务一旦提交,其对数据库中数据的修改就是永久的,以后的操作或故障不会对事务的操作结果产生任何影响。这个特性是事务的DA.原子性B.一致性C.隔离性D.持久性3.在多个事务并发执行时,如果事务T1对数据项A的修改覆盖了事务T2对数据项A的修改,这种现象称为AA.丢失修改B.读脏数据C.不可重复读D.数据不一致4.在多个事务并发执行时,如果并发控制措施不好,则可能会造成事务T1读了事务T2的“脏”数据。这里的“脏”数据是指DA.T1回滚前的数据B.T1回滚后的数据C.T2回滚前的数据D.T2回滚后的数据5.在判断死锁的事务等待图中,如果等待图中出现了环路,则说明系统BA.存在活锁B.存在死锁C.事务执行成功D.事务执行失败一.填空题1.为防止并发操作的事务产生相互干情况,数据库管理系统采用加锁机制来避免这种情况。锁的类型包括______和______。共享锁(或S锁)排他锁(或X锁)2.一个事务可通过执行______语句来取消其已完成的数据修改操作。ROLLBACK3.事务应对要读取的数据加______锁,对要修改的数据加______锁。共享(或S)排他(或X)4.要求事务在读数据项之前必须先对数据项加S锁,直到事务结束才释放该锁的封锁协议是______级封锁协议。三5.假设有两个事务T1和T2,它们要读入同一数据并进行修改,如果T2提交的结果覆盖了T1提交的结果,导致T1修改的结果无效。这种现象称为______。丢失修改6.在数据库环境下,进行并发控制的主要方式是_____。加锁7.如果总是将事务为两个阶段,一个是加锁期,一个是解锁期,在加锁期不允许解锁,在解锁期不允许加锁,则将该规定称为_____。两段锁协议8.如果并发执行的所有事务都遵守两段锁协议,则这些事务的任何并发调度一定是_____。可串行化的9.一个事务只要执行了_____语句,其对数据库的操作就是永久的。COMMIT10.在单CPU系统中,如果存在多个事务,则这些事务只能交叉地使用CPU,将这种并发方式称为_____。交叉并发二.简答题5.设有如下三个事务:46 ·46·T1:B=A+1;T2:B=B*2;T3:A=B+1(1)设A的初值为2,B的初值为1,如果这三个事务并发的执行,则可能的正确的执行结果有哪些?T1àT2àT3:A=7,B=6图8-16事务调度图T1àT3àT2:A=4,B=8T2àT1àT3:A=4,B=3T2àT3àT1:A=3,B=4T3àT1àT2:A=2,B=6T3àT2àT1:A=2,B=3(2)给出一种遵守两段锁协议的并发调度策略。6.设有如图8-16所示的两个事务的调度过程,根据此图完成下列各题。(1)写出事务T1和T2包含的操作。T1:A=B+20T2:B=A+30(2)事务T1、T2开始之前B的初值是多少?B=100(3)设A的初值为20,则这两个事务所有可能的正确执行结果有哪些?T1àT2:A=120,B=150T2àT1:A=70,B=50(4)该调度方式是否遵守两段锁协议?是46 ·46·第9章数据库编程一.选择题1.创建存储过程的用处主要是AA.提高数据操作效率B.维护数据的一致性C.实现复杂的业务规则D.增强引用完整性2.下列关于存储过程的说法,正确的是AA.在定义存储过程的代码中可以包含数据的增、删、改、查语句B.用户可以向存储过程传递参数,但不能输出存储过程产生的结果C.存储过程的执行是在客户端完成的D.存储过程是存储在客户端的可执行代码段3.设要定义一个包含2个输入参数和2个输出参数的存储过程,各参数均为整型。下列定义该存储过程的语句,正确的是DA.CREATEPROCP1@x1,@x2int,@x3,@x4intoutputB.CREATEPROCP1@x1int,@x2int,@x2,@x4intoutputC.CREATEPROCP1@x1int,@x2int,@x3int,@x4intoutputD.CREATEPROCP1@x1int,@x2int,@x3intoutput,@x4intoutputt4.设有存储过程定义语句:CREATEPROCP1@xint,@yintoutput,@zintoutput。下列调用该存储过程的语句中,正确的是CA.EXECP110,@aintoutput,@bintoutputB.EXECP110,@aint,@bintoutputC.EXECP110,@aoutput,@boutputD.EXECP110,@a,@boutput5.下列修改存储过程P1的语句,正确的语句是BA.ALTERP1B.ALTERPROCP1C.MODIFYP1D.MODIFYPROCP16.下列删除存储过程P1的语句,正确的语句是DA.DELETEP1B.DELETEPROCP1C.DROPP1D.DROPPROCP17.定义触发器的主要作用是DA.提高数据的查询效率B.增强数据的安全性C.加强数据的保密性D.实现复杂的约束8.现有学生表和修课表,其结构为:学生表(学号,姓名,入学日期,毕业日期)修课表(学号,课程号,考试日期,成绩)46 ·46·现要求修课表中的考试日期必须在学生表中相应学生的入学日期和毕业日期之间。下列实现方法中,正确的是BA.在修课表的考试日期列上定义一个CHECK约束B.在修课表上建立一个插入和更新操作的触发器C.在学生表上建立一个插入和更新操作的触发器D.在修课表的考试日期列上定义一个外码引用约束9.设有教师表(教师号,教师名,职称,基本工资),其中基本工资的取值范围与教师职称有关,比如,教授的基本工资是6000~10000,副教授的基本工资是4000~8000。下列实现该约束的方法中,可行的是CA.可通过在教师表上定义插入和修改操作的触发器实现B.可通过在基本工资列上定义一个CHECK约束实现C.A和B都可以D.A和B都不可以10.设在SC(Sno,Cno,Grade)表上定义了触发器:CREATETRIGGERtri1ONSCINSTEADOFINSERT…当执行语句:INSERTINTOSCVALUES("s001","c01",90)会引发该触发器执行。下列关于触发器执行时表中数据的说法,正确的是DA.SC表和INERTED表中均包含新插入的数据B.SC表和INERTED表中均不包含新插入的数据C.SC表中包含新插入的数据,INERTED表中不包含新插入的数据D.SC表中不包含新插入的数据,INERTED表中包含新插入的数据11.设在SC(Sno,Cno,Grade)表上定义了触发器:CREATETRIGGERtri1ONSCAFTERINSERT…当执行语句:INSERTINTOSCVALUES("s001","c01",90)会引发该触发器执行。下列关于触发器执行时表中数据的说法,正确的是AA.SC表和INERTED表中均包含新插入的数据B.SC表和INERTED表中均不包含新插入的数据C.SC表中包含新插入的数据,INERTED表中不包含新插入的数据D.SC表中不包含新插入的数据,INERTED表中包含新插入的数据12.当执行由UPDATE语句引发的触发器时,下列关于该触发器临时工作表的说法,正确的是CA.系统会自动产生UPDATED表来存放更改前的数据B.系统会自动产生UPDATED表来存放更改后的数据C.系统会自动产生INSERTED表和DELETED表,用INSERTED表存放更改后的数据,用DELETED表存放更改前的数据D.系统会自动产生INSERTED表和DELETED表,用INSERTED表存放更改前的数据,用DELETED表存放更改后的数据13.下列关于游标的说法,错误的是DA.游标允许用户定位到结果集中的某行B.游标允许用户读取结果集中当前行位置的数据C.游标允许用户修改结果集中当前行位置的数据D.游标中有个当前行指针,该指针只能在结果集中单向移动14.对46 ·46·游标的操作一般包括声明、打开、处理、关闭、释放几个步骤,下列关于关闭游标的说法,错误的是BA.游标被关闭之后,还可以通过OPEN语句再次打开B.游标一旦被关闭,其所占用的资源即被释放C.游标被关闭之后,其所占用的资源没有被释放D.关闭游标之后的下一个操作可以是释放游标,也可以是再次打开该游标一.填空题1.利用存储过程机制,可以_____数据操作效率。提高2.存储过程可以接受输入参数和输出参数,对于输出参数,必须用_____词来标明。OUTPUT3.执行存储过程的SQL语句是_____。EXEC(EXECUTE)4.调用存储过程时,其参数传递方式有_____和_____两种。按参数位置按参数名5.修改存储过程的SQL语句是_____。ALTERPROC6.SQLServer支持两种类型的触发器,它们是_____触发型触发器和_____触发型触发器。前后7.在一个表上针对每个操作,可以定义_____个前触发型触发器。一8.如果在某个表的INSERT操作上定义了触发器,则当执行INSERT语句时,系统产生的临时工作表是_____。INSERTED9.对于后触发型触发器,当触发器执行时,引发触发器的操作语句(已执行完/未执行)_____。已执行完10.对于后触发型触发器,当在触发器中发现引发触发器执行的操作违反了约束时,需要通过_____语句撤销已执行的操作。ROLLBACK11.打开游标的语句是_____。OPENcursor_name12.在操作游标时,判断数据提取状态的全局变量_____。@@fetch_status四.上机练习以下各题均利用第3、4章建立的Students数据库以及Student、Course和SC表实现。1.创建满足下述要求的存储过程,并查看存储过程的执行结果。(1)查询每个学生的修课总学分,要求列出学生学号及总学分。createprocp1asselectsno,SUM(credit)as总学分fromSCjoinCourseconc.Cno=SC.Cnogroupbysno(2)查询学生的学号、姓名、修的课程号、课程名、课程学分,将学生所在系作为输入参数,默认值为“计算机系”。执行此存储过程,并分别指定一些不同的输入参数值,查看执行结果。createprocp2@deptvarchar(20)="计算机系"asselects.sno,sname,c.cno,cname,creditfromStudentsjoinSCons.Sno=SC.SnojoinCourseconc.Cno=SC.CnowhereSdept=@dept执行示例1:EXECP2执行示例2:EXECP2"通信工程系"46 ·46·(1)查询指定系的男生人数,其中系为输入参数,人数为输出参数。createprocp3@deptvarchar(20),@rsintoutputasselect@rs=COUNT(*)fromStudentwhereSdept=@deptandSsex="男"(2)删除指定学生的修课记录,其中学号为输入参数。createprocp4@snochar(7)asdeletefromSCwhereSno=@sno(3)修改指定课程的开课学期。输入参数为:课程号和修改后的开课学期。createprocp5@cnochar(6),@xtinyintasupdateCoursesetSemester=@xwhereCno=@cno1.创建满足下述要求的触发器(前触发器、后触发器均可),并验证触发器执行情况。(1)限制学生的年龄在15~45之间。createtriggertri1onstudentafterinsert,updateasifexists(select*frominsertedwheresagenotbetween15and45)rollback(2)限制学生所在系的取值范围为{计算机系,信息管理系,数学系,通信工程系}createtriggertri2onstudentafterinsert,updateasifexists(select*fromstudentwheresdeptnotin("计算机系","信息管理系","数学系","通信工程系"))Rollback(3)限制每个学期开设的课程总学分在20~30范围内。createtriggertri3oncourseafterinsert,updateasifexists(selectsum(credit)fromcoursewheresemesterin(selectsemesterfrominserted)havingsum(credit)notbetween20and30)Rollback46 ·46·(1)限制每个学生每学期选课门数不能超过6门(设只针对插入操作)。createtriggertri4onscafterinsertasifexists(select*fromscjoincourseconsc.cno=c.cnowheresnoin(selectsnofrominserted)groupbysno,semesterhavingcount(*)>6)rollback1.创建满足下述要求的游标,并查看游标的执行结果。(1)列出VB考试成绩最高的前2名和最后1名学生的学号、姓名、所在系和VB成绩。declare@snochar(10),@snamechar(10),@deptchar(14),@gradechar(4)declarec1SCROLLcursorforselects.sno,sname,sdept,gradefromstudentsjoinscons.sno=sc.snojoincourseconc.cno=sc.cnowherecname="vb"orderbygradedescopenc1print"学号姓名所在系VB成绩"print"---------------------------------------"fetchnextfromc1into@sno,@sname,@dept,@gradeif@@FETCH_STATUS=0print@sno+@sname+@dept+@gradefetchnextfromc1into@sno,@sname,@dept,@gradeif@@FETCH_STATUS=0print@sno+@sname+@dept+@gradefetchlastfromc1into@sno,@sname,@dept,@gradeif@@FETCH_STATUS=0print@sno+@sname+@dept+@gradeclosec1deallocatec1(2)列出每个系年龄最大的名学生的姓名和年龄,将结果按年龄降序排序。declare@snamechar(10),@agechar(4),@deptchar(20)declarec1cursorforselectdistinctsdeptfromstudentopenc1fetchnextfromc1into@deptwhile@@FETCH_STATUS=0beginprint@deptdeclarec2cursorforselecttop2withtiessname,sagefromstudentwheresdept=@deptorderbysagedescopenc246 ·46·fetchnextfromc2into@sname,@ageif@@FETCH_STATUS=0print@sname+@agefetchnextfromc2into@sname,@ageif@@FETCH_STATUS=0print@sname+@ageprint""closec2deallocatec2fetchnextfromc1into@deptendclosec1deallocatec146 ·46·第10章安全管理一.选择题1.下列关于SQLServer数据库用户权限的说法,错误的是AA.数据库用户自动具有该数据库中全部用户数据的查询权B.通常情况下,数据库用户都来源于服务器的登录帐户C.一个登录帐户可以对应多个数据库中的用户D.数据库用户都自动具有该数据库中public角色的权限2.下列关于SQLServer数据库服务器登录帐户的说法,错误的是BA.登录帐户的来源可以是Windows用户,也可以是非Windows用户B.所有的Windows用户都自动是SQLServer的合法帐户C.在Windows身份验证模式下,不允许非Windows身份的用户登录到SQLServer服务器D.sa是SQLServer提供的一个具有系统管理员权限的默认登录帐户3.下列关于SQLServer2008身份认证模式的说法,正确的是CA.只能在安装过程中指定身份认证模式,安装完成之后不能再修改B.只能在安装完成后指定身份认证模式,安装过程中不能指定C.在安装过程中可以指定身份认证模式,安装完成之后还可以再对其进行修改D.身份认证模式是系统规定好的,在安装过程中及安装完成后都不能进行修改4.下列SQLServer提供的系统角色中,具有数据库服务器上全部操作权限的角色是DA.db_ownerB.dbcreatorC.db_datawriterD.sysadmin5.下列角色中,具有数据库中全部用户表数据的插入、删除、修改权限且只具有这些权限的角色是CA.db_ownerB.db_datareaderC.db_datawriterD.public6.创建SQLServer登录帐户的SQL语句是AA.CREATELOGINB.CREATEUSERC.ADDLOGIND.ADDUSER7.下列SQL语句中,用于收回已授予用户权限的语句是CA.DROPB.DELETEC.REVOKED.ALTER8.在SQLServer中,向数据库角色添加成员的SQL语句是DA.ADDmemberB.ADDrolememberC.sp_addmemberD.sp_addrolemember9.下列关于数据库中普通用户的说法,正确的是CA.只能被授予对数据的查询权限B.只能被授予对数据的插入、修改和删除权限C.只能被授予对数据的操作权限46 ·46·D.不能具有任何权限10.下列关于用户定义的角色的说法,错误的是AA.用户定义角色可以是数据库级别的角色,也可以是服务器级别的角色B.用户定义的角色只能是数据库级别的角色C.定义用户定义角色的目的是简化对用户的权限管理A.用户角色可以是系统提供角色的成员二.填空题1.数据库中的用户按操作权限的不同,通常分为_____、_____和_____三种。系统管理员数据库对象拥有者普通用户2.在SQLServer2008中,系统提供的具有管理员权限的角色是_____。sysadmin3.在SQLServer2008中,系统提供的默认管理员帐户是_____。sa4.SQLServer的身份验证模式有_____和_____两种。仅Windows混合模式5.SQLServer的登录帐户来源有_____和_____两种。Windows非Windows6.在SQLServer2008中,所的数据库用户都自动是_____角色的成员。public7.在SQLServer2008中,系统提供的具有创建数据库权限的服务器角色是_____。dbcreator8.在SQLServer2008中,创建用户定义角色的SQL语句是_____。CREATEROLE9.SQLServer2008将权限分为_____、_____和_____三种。对象权限语句权限隐含权限10.在SQLServer2008中,角色分为种_____和_____两大类。固定角色用户角色46 ·46·第11章备份和恢复一.选择题1.备份数据库的主要目的是为了防止数据丢失。下列有可能造成数据丢失的是DA.存储数据的磁盘出现故障B.存储数据的服务器出现故障C.用户的不正常操作而更改了数据D.数据库文件被移动2.下列关于数据库备份的说法,正确的是CA.对系统数据库和用户数据库都应采用定期备份的策略B.对系统数据库和用户数据库都应采用修改后即备份的策略C.对系统数据库应采用修改后即备份的策略,对用户数据库应采用定期备份的策略D.对系统数据库应采用定期备份的策略,对用户数据库应采用修改后即备份的策略3.下列关于SQLServer备份设备的说法,正确的是AA.备份设备可以是磁盘上的一个文件B.备份设备是一个逻辑设备,它只能建立在磁盘上C.备份设备是一台物理存在的有特定要求的设备D.一个备份设备只能用于一个数据库的一次备份4.在简单恢复模式下,可以进行的备份是CA.仅完整备份B.仅事务日志备份C.仅完整备份和差异备份D.完整备份、差异备份和日志备份5.下列关于差异备份的说法,正确的是BA.差异备份备份的是从上次备份到当前时间数据库变化的内容B.差异备份备份的是从上次完整备份到当前时间数据库变化的内容C.差异备份仅备份数据,不备份日志D.两次完整备份之间进行的各差异备份的备份时间都是一样的6.下列关于日志备份的说法,错误的是DA.日志备份仅备份日志,不备份数据B.日志备份的执行效率通常比差异备份和完整备份高C.日志备份的时间间隔通常比差异备份短D.第一次对数据库进行的备份可以是日志备份7.下列关于恢复数据库的说法,正确的是AA.在恢复数据库时不允许有用户访问数据库B.恢复数据库时必须按照备份的顺序还原全部的备份C.恢复数据库时,对是否有用户在使用数据库没有要求D.首先进行恢复的备份可以是差异备份和日志备份46 ·46·周二17:00故障周二15:00周二10:00周一0:00周一15:00周一10:00周日0:00完整备份1日志备份1差异备份1t日志备份2日志备份3日志备份48.设有如下备份操作:现从备份中对数据库进行恢复,正确的恢复顺序为BA.完整备份1,日志备份1,日志备份2,差异备份1,日志备份3,日志备份4B.完整备份1,差异备份1,日志备份3,日志备份4C.完整备份1,差异备份1D.完全备份1,日志备份4二.填空题1.SQLServer2008支持的三种恢复模式是_____、_____和_____。简单恢复模式完整恢复模式大容量日志恢复模式2.对于数据库备份,SQLServer2008支持的三种备份方式是_____、_____和_____。完整备份差异备份日志备份3.第一次对数据库进行的备份必须是_____。完整备份4.SQLServer2008中,创建备份设备的系统存储过程是_____。sp_addumpdevice5.SQLServer2008中,当恢复模式为简单模式时,不能进行_____备份。日志6.SQLServer2008中,还原数据库的SQL语句是_____。RESTOREDATABASE7.通常情况下,完整备份、差异备份和日志备份中,备份时间最长的是_____。完整备份8.SQLServer2008中,在进行数据库备份时(允许/不允许)_____用户操作数据库。允许46'