数据库原理及应用第2版参考答案何玉洁_第1页
数据库原理及应用第2版参考答案何玉洁_第2页
数据库原理及应用第2版参考答案何玉洁_第3页
数据库原理及应用第2版参考答案何玉洁_第4页
数据库原理及应用第2版参考答案何玉洁_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库原理及应用第 2 版习题参考答案第 1 章数据概述一.选择题1 .以下关于数据库治理系统的说法,错误的选项是 CA.数据库治理系统与操作系统有关,操作系统的类型决定了能够运行的数据库治理系统的类型B.数据库治理系统对数据库文件的访问必须经过操作系统实现才能实现C.数据库应用程序可以不经过数据库治理系统而直接读取数据库文件D.数据库治理系统对用户隐藏了数据库文件的存放位置和文件名2 .以下关于用文件治理数据的说法,错误的选项是 DA.用文件治理数据,难以提供给用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的平安限

2、制D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率3 .以下说法中,不属于数据库治理系统特征的是 CA.提供了应用程序和数据的独立性B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合C.用户访问数据时,需要知道存储数据的文件的物理信息D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能预防数据丧失5 .在数据库系统中,数据库治理系统和操作系统之间的关系是 DA.相互调用B.数据库治理系统调用操作系统C.操作系统调用数据库治理系统D.并发运行6 .数据库系统的物理独立性是指 DA.不会由于数据的变化而影响应用程序B.不会由于数据

3、存储结构的变化而影响应用程序C.不会由于数据存储策略的变化而影响数据的存储结构D.不会由于数据逻辑结构的变化而影响应用程序7 .数据库治理系统是数据库系统的核心,它负责有效地组织、存储和治理数据,它位于用户和操作系统之间,属于 AA.系统软件 B.工具软件C.应用软件 D.数据软件8 .数据库系统是由假设干局部组成的.以下不属于数据库系统组成局部的是 BA.数据库 B.操作系统C.应用程序 D.数据库治理系统9 .以下关于客户/效劳器结构和文件效劳器结构的描述,错误的选项是 DA.客户/效劳器结构将数据库存储在效劳器端,文件效劳器结构将数据存储在客户端B.客户/效劳器结构返回给客户端的是处理后

4、的结果数据,文件效劳器结构返回给客户端的是包含客户所需数据的文件C.客户/效劳器结构比文件效劳器结构的网络开销小D.客户/效劳器结构可以提供数据共享功能,而用文件效劳器结构存储的数据不能共享数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有平安限制机制,能够保证数据的平安、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性.10 .以下关于数据库技术的描述,错误的选项是 BA.数据库中不但需要保存数据,而且还需要保存数据之间的关联关系B.由于数据是存储在磁盘上的,因此用户在访问数据库数据时需要知道

5、数据的存储位置C.数据库中数据存储结构的变化不会影响到应用程序D.数据库中的数据具有较小的数据冗余二.填空题1 .数据治理的开展主要经历了和两个阶段.文件治理数据库治理2 .在利用数据库技术治理数据时,所有的数据都被统一治理.数据库治理系统3 .数据库治理系统提供的两个数据独立性是独立,卜 t 和独立性.物理逻辑4 .数据库系统能够保证进入到数据库中的数据都是正确的数据,该特征称为.数据完整性5 .在客户/效劳器结构中,数据的处理是在端完成的.效劳器6 .数据库系统就是基于数据库的计算机应用系统,它主要由、和三局部组成.数据库、数据库治理系统和应用程序7 .与用数据库技术治理数据相比,文件治理

6、系统的数据共享性,数据独立性.差低8 .在数据库技术中,当表达现实世界的信息内容发生变化时,可以保证不影响应用程序,这个特性称为o逻辑独立性9 .当数据库数据由于机器硬件故障而遭到破坏时,数据库治理系统提供了将数据库恢复到正确状态,并尽可能使数据不丧失的功能,这是数据库治理系统的特性保证的.可靠性10 .数据库中的数据是相互关联的数据集合,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,且具有平安性和可靠性,这些特征都是由保证的.数据库治理系统第 2 章数据模型与数据库系统结构一.选择题1 .数据库三级模式结构的划分,有利于 AA.数据的独立性 B.治理数据库文件C.建立数据库 D

7、.操作系统治理数据库2 .在数据库的三级模式中,描述数据库中全体数据的逻辑结构和特征的是 BA.内模式 B.模式 C.外模式 D.其他3 .数据库系统中将数据分为三个模式,从而提供了数据的独立性,以下关于数据逻辑独立性的说法,正确的选项是CA.当内模式发生变化时,模式可以不变B.当内模式发生变化时,应用程序可以不变C.当模式发生变化时,应用程序可以不变D.当模式发生变化时,内模式可以不变4 .为最大限度地保证数据库数据的正确性,关系数据库实现了三个完整性约束,以下用于保证实体完整性的是BA.外码 B.主码 C.CHECK 约束 D.UNIQUE 约束5 .以下关于关系中主属性的描述,错误的选项

8、是 DA.主码所包含的属性一定是主属性B.外码所引用的属性一定是主属性C.候选码所包含的属性都是主属性D.任何一个主属性都可以唯一地标识表中的一行数据6 .设有关系模式销售顾客号,商品号,销售时间,销售数量,假设允许一个顾客在不同时间对同一个产品购置多次,那么此关系模式的主码是 DA.顾客号 B.产品号C.顾客号,商品号D.顾客号、商品号、销售时间7 .关系数据库用二维表来存储数据.以下关于关系表中记录的说法,正确的选项是 BA.顺序很重要,不能交换 B.顺序不重要C.按输入数据的顺序排列 D.一定是有序的8 .以下模式中,用于描述单个用户数据视图的是 CA.内模式 B.概念模式C.外模式 D

9、.存储模式9 .在利用概念层数据模型描述数据时,一般要求模型要满足三个要求.以下描述中,不属于概念层数据模型应满足的要求的是 AA.能够描述并发数据 B.能够真实地模拟现实世界C.容易被业务人员理解 D.能够方便地在计算机上实现10 .数据模型三要素是指 BA.数据结构、数据对象和数据共享B.数据结构、数据操作和数据完整性约束C.数据结构、数据操作和数据的平安限制D.数据结构、数据操作和数据的可靠性11 .以下关于实体联系模型中联系的说法,错误的选项是 DA.一个联系可以只与一个实体有关B.一个联系可以与两个实体有关C.一个联系可以与多个实体有关D.一个联系也可以不与任何实体有关12 .数据库

10、系统中的三级模式以及模式间的映像提供了数据的独立性.以下关于两级映像的说法,正确的选项是 CA.外模式到模式的映像是由应用程序实现的,模式到内模式的映像是由 DBMS 实现的B.外模式到模式的映像是由 DBMS 实现的,模式到内模式的映像是由应用程序实现的C.外模式到模式的映像以及模式到内模式的映像都是由 DBMS 实现的D.外模式到模式的映像以及模式到内模式的映像都是由应用程序实现的13 .以下不属于数据完整性约束的是 DA.实体完整性 B.参照完整性C.域完整性 D.数据操作完整性14 .以下关于关系操作的说法,正确的选项是 AA.关系操作是非过程化的B.在进行关系操作时,用户需要知道数据

11、的存储位置C.在进行关系操作时,用户需要知道数据的存储结构D.用户可以在关系上直接进行行定位操作14 .以下关于概念层数据模型的说法,错误的选项是 CA.概念层数据模型应该采用易于用户理解的表达方式B.概念层数据模型应该比拟易于转换成组织层数据模型C.在进行概念层数据模型设计时,需要考虑具体的 DBMS 的特点D.在进行概念层数据模型设计时,重点考虑的内容是用户的业务逻辑15 .以下关于外码的说法,正确的选项是 CA.外码必须与其所引用的主码同名B.外码列不允许有空值C.外码和所引用的主码名字可以不同,但语义必须相同D.外码的取值必须要与所引用关系中主码的某个值相同16.以下关于关系的说法,错

12、误的选项是 DA.关系中的每个属性都是不可再分的根本属性B.关系中不允许出现值完全相同的元组C.关系中不需要考虑元组的先后顺序D.关系中属性顺序的不同,关系所表达的语义也不同二.填空题1 .数据库可以最大限度地保证数据的正确性,这在数据库中被称为.数据完整性2 .实体-联系模型主要包含、和三局部内容.实体属性联系3 .如果实体 A 与实体 B 是一对多联系,那么实体 B 中的一个实例最多可对应实体 A 中的一个实例4 .数据完整性约束包括完整 ft、完整性和完整性.实体参照用户定义5 .关系数据模型的组织形式是.二维表6 .数据库系统的和之间的映像,提供了数据的物理独立性.7 .数据的逻辑独立

13、性是指当变化时可以保持不变.内模式模式8 .数据模型三要素包括、和.数据结构数据操作数据完整性约束9 .实体联系模型属于层数据模型,它与具体的 DBMSo 概念无关10 .关系操作的特点是基于的操作.集合11 .当数据的物理存储位置发生变化时,通过调整映像,可以保证性.模式/内模式模式12 .参照完整性约束是通过保证的.外码不变化,从而保证数据的物理独立A.PRIMARYKEYB.CHECK第 3 章 SQL 语言根底及数据定义功能一.选择题以下关于 SQL 语言特定的表达,错误的选项是A.使用 SQL 语言访问数据库,用户只需提出做什么,而无需描述如何实现B.SQL 语言比拟复杂,因此在使用

14、上比拟难C.SQL 语言可以在数据库治理系统提供的应用程序中执行,也可以在D.使用 SQL 语言可以完成任何数据库操作A.master 数据库的大小B.model 数据库的大小的是B.物理文件名C.文件结构8 .在 SQLServer 中创立用户数据库实际就是定义数据库所包含的文件以及文件的属性.的是B.物理文件名C.文件结构9 .以下约束中用于限制列的取值范围的约束是C.DEFAULT10 .以下约束中用于限制列的取值不重的约束是2. 以下所述功能中,不属于 SQL 语言功能的是3.4.5.A.数据库和表的定义功能C.数据增、删、改功能B.数据查询功能D.提供方便的用户操作界面功能设某职工表

15、中有用于存放年龄整数的列,以下类型中最适宜年龄列的是C.tinyintB.smallintSQLServer 数据库是由文件组成的.以下关于数据库所包含的文件的说法,正确的选项是A.一个数据库可包含多个主数据文件和多个日志文件B.一个数据库只能包含一个主数据文件和一个日志文件C.一个数据库可包含多个次要数据文件,但只能包含一个日志文件D.一个数据库可包含多个次要数据文件和多个日志文件在 SQLServer 中创立用户数据库,其主数据文件的大小必须大于6.7.C.msdb 数据库的大小在 SQLServer 系统数据库中,存放用户数据库公共信息的是A.masterC.msdb 数据库的大小B.m

16、odelD.tempdb在 SQLServer 中创立用户数据库实际就是定义数据库所包含的文件以及文件的属性.以下不属于数据库文件属性DOS 环境下执行最大大小A.PRIMARYKEYB.CHECKUNIQUE以下不属于数据库文件属性C.DEFAULT11 .以下约束中用于实现实体完整性的约束是C.DEFAULT12 .以下关于 DEFAULT 约束的说法,错误的选项是 DA.一个 DEFAULT 约束只能约束表中的一个列B.在一个表上可以定义多个 DEFAULT 约束C.DEFAULT 只能定义在列级完整性约束处D.在列级完整性约束和表级完整性约束处都可以定义 DEFAULT 约束UNIQU

17、EA.PRIMARYKEYB. CHECKUNIQUE6 .现要利用 Student 表查询年龄最小的学生姓名和年龄.以下实现此功能的查询语句中,正确的选项是 DA.SELECTSname,MIN(Sage)FROMStudent第 4 章数据操作语句一.选择题1.当关系 R 和 S 进行连接操作时,如果作是 AA.左外连接C.内连接2.设在某 SELECT 语句的 WHERE 子句中CA.GradeISNOTNULLC.Grade=NULL3.以下聚合函数中,不忽略空值的是A.SUM列名C.AVG列名4. SELECT-INTOFROM 语句的功能是A.将查询结果插入到一个新表中B.将查询结

18、果插入到一个已建好的表中C.合并查询的结果D.向已存在的表中添加数据5. 以下利用 SC 表的查询语句中,错误的选项是A.B.C.D.R中的元组不满足连接条件,在连接结果中也会将这些记录保存下来的操需要对D.DD.AB.右外连接D.自连接Grade 列的空值进行处理.以下关于空值的操作,错误的选项是B.GradeISNULLNOTGradeISNULLB.MAX列名COUNT*BSELECTSno,COUNT(*)FROMSCGROUPBYSnoSELECTSnoFROMSCGROUPBYSnoWHERECOUNT(*)3SELECTSnoFROMSCGROUPBYSnoHAVINGCOUNT

19、(*)3SELECTSnoFROMSCGROUPBYSnoB.SELECTSname,SageFROMStudentWHERESage=MIN(Sage)C.SELECTTOP1Sname,SageFROMStudentD.SELECTTOP1Sname,SageFROMStudentORDERBYSage7 .设 SC 表中记录成绩的列为:Grade,类型为 into 假设在查询成绩时,希望将成绩按优、良、中、及格和不及格形式显示,正确的 Case 函数是 CA.CaseGradeWhen90100THEN优When8089THEN良When7079THEN中When6069THEN及格El

20、se不及格EndB.CaseWhenGradebetween90and100THENGrade=优WhenGradebetween80and89THENGrade=良WhenGradebetween70and79THENGrade=中WhenGradebetween60and69THENGrade=及格ElseGrade=不及格EndC.CaseWhenGradebetween90and100THEN优WhenGradebetween80and89THEN良WhenGradebetween70and79THEN中WhenGradebetween60and69THEN及格Else不及格EndD.

21、CaseGradeWhen90100THENGrade=优When8089THENGrade=良When7079THENGrade=中When6069THENGrade=及格ElseGrade=不及格End8 .下述语句的功能是将两个查询结果合并为一个结果.其中正确的选项是 BA.selectsno,sname,sagefromstudentwheresdept=csOrderbysageUnionselectsno,sname,sagefromstudentwheresdept=isOrderbysageB.selectsno,sname,sagefromstudentwheresdept=

22、csUnionselectsno,sname,sagefromstudentwheresdept=isOrderbysageC.selectsno,sname,sagefromstudentwheresdept=csUnionselectsno,snamefromstudentwheresdept=isOrderbysageD.selectsno,sname,sagefromstudentwheresdept=csOrderbysageUnionselectsno,sname,sagefromstudentwheresdept=is9 .以下 SQL 语句中,用于修改表数据的语句是A.ALTE

23、RC.UPDATE10 .设有 Teachers 表,该表的定义如下:CREATETABLETeachers(TnoCHAR(8)PRIMARYKEY,TnameVARCHAR(10)NOTNULL,CB.SELECTD.INSERT1.在聚合函数中,哪个函数在统计时不考虑NULLAgeTINYINTCHECK(AgeBETWEEN25AND65)以下插入语句中,不能正确执行的是INSERTINTOTeachersVALUES(T100,INSERTINTOTeachersVALUES(T100,11 .设数据库中已有表 4-1 至 4-3 所示的 Student、Course 和 SC 表.

24、现要查询学生选的第 2 学期开设课程的情况,只需列出学号、姓名、所在系和所选的课程号.该查询涉及到的表是 DB,仅 Student 和 SC 表12 .删除计算机系学生在 student 表中的修课记录在 SC 表中的正确的语句是表是 BA.DELETEFROMSCJOINStudentbONS.Sno=b.SnoWHERESdept=计算机系B.DELETEFROMSCFROMSCJOINStudentbONSC.Sno=b.SnoWHERESdept=计算机系C.DELETEFROMStudentWHERESdept=计算机系D.DELETEFROMSCWHERESdept=计算机系二.填

25、空题1 .在相关子查询中,子查询的执行次数是由决定的.外层表的行数2 .对包含基于集合测试子查询的查询语句,是先执行层查询,在执行层查询.内,外3 .对包含相关子查询的查询语句,是先执行层查询,在执行层查询.外,内4 .聚合函数 COUNT*是按统计数据个数.行5 .设 Grade 列目前有三个值:90、80 和 NULL,那么 AVGGrade的值是,MINGrade的值是 85,806 .设有学生表学号,姓名,所在系和选课表学号,课程号,成绩,现要建立统计每个系的选课人数.请补全以下语句:COUNTDISTINCT 选课表.学号SELECT 所在系,FROM 选课表JOIN 学生表 ON

26、选课表.学号=学生表.学号GROUPBY 所在系7 .设有选课表学号,课程号,成绩,现要查询测试成绩最高的三个学生的学号、课程号和成绩,包括并列情况.请补全以下语句:TOP3WITHTIES,ORDERBY 成绩 DESCSELECT 学号,课程号,成绩 FROM 选课表8 .UNION 操作用于合并多个查询语句的结果,如果在合并结果时不希望去掉重复的数据,那么在用 UNION 操作时应使用关键字.ALL9 .进行自连接操作的两个表在物理上为一张表.通过方法可将物理上的一张表在逻辑上成为两张表.起别名10 .FROMALEFTJOINBON语句表示在连接结果中不限制表数据必须满足连接条件.A1

27、1 .对分组后的统计结果再进彳 f 筛选使用的子句是.HAVING12 .假设 SELECT 语句中同时包含 WHERE 子句和 GROUP 子句,那么先执行的是子句.WHERE简做题张鸿,NULL)B.C.INSERTINTOTeachers(Tno,Tname,Age)VALUES(T100,INSERTINTOTeachers(Tno,Tname)VALUES(T100,A,仅 Student 表C,仅 Student 和 Course 表D.Student、SC 和 Course 表张鸿,30张鸿张鸿答:COUNT(*)2.在 LIKE 运算符中“的作用是什么?答:匹配 0 个或多个字

28、符.3.WHEREAgeBETWEEN20AND30 子句,查找的 Age 范围是多少?答:Age 大于等于 20 并且小于等于 304.WHERESdeptNOTIN(CS,IS,MA),查找的数据是什么?答:查找 CS,IS,MA三个系之外的其他系5.自连接与普通内连接的主要区别是什么?答:自连接中进行连接操作的表在物理上是一张表,而普通内连接进行连接的表在物理上是两张表.6.外连接与内连接的主要区别是什么?答:进行外连接的两个表中,可以有一张表不满足连接条件,而进行内连接的两个表必须都满足连接条件.7.在使用 UNION 合并多个查询语句的结果时,对各个查询语句的要求是什么?答:各个查询

29、语句的列个数必须相同,对应列的语义相同,类型兼容.8.相关子查询与嵌套子查询在执行方面的主要区别是什么?答: 相关子查询的执行过程是先外后内,而嵌套子查询的执行过程是先内后外.而且相关子查询中必须有与外层查询的关联,而嵌套子查询中,内、外层查询之间没有关联关系.9.执行 SELECT-INOT 表名 FROM语句时,对表名的要求是什么?答:必须是一个不存在的新表名.10.对统计结果的筛选应该使用哪个子句完成?答:使用 HAVING 子句11.在排序子句中,排序依据列的前后顺序是否重要?ORDERBYC1,C2 子句对数据的排序顺序是什么?答: 重要,系统会按列的先后顺序进行排序.先按 C1 列

30、进行排序,在 C1 列值相同时再按 C2 列进行排序.12.TOP 子句的作用是什么?答:在查询结果产生后,提取结果的前假设干行数据.四.上机练习1 .查询学生选课表中的全部数据.答:select*fromSC2 .查询计算机系的学生的姓名、年龄.答:selectsname,sagefromstudentwheresdept=计算机系3 .查询成绩在 7080 分之间的学生的学号、课程号和成绩.答:selectsno,cno,gradefromsconwheregradebetween70and804 .查询计算机系年龄在 1820 之间且性别为“男的学生的姓名、年龄.答:selectsnam

31、e,sagefromstudentwheresdept=计算机系andsagebetween18and20andssex=男5 .查询“C001号课程的最高分.答:selectmax(grade)fromscwherecno=C0016 .查询计算机系学生的最大年龄和最小年龄.答:selectmax(sage)asmax_age,min(sage)asmin_agefromstudentwheresdept=计算机系7 .统计每个系的学生人数.答:selectsdept,count(*)fromstudentgroupbysdept8 .统计每门课程的选课人数和测试最高分.答:selectcn

32、o,count(*),max(grade)fromscgroupbycno9 .统计每个学生的选课门数和测试总成绩,并按选课门数升序显示结果.答:selectsno,count(*),sum(grade)fromscgroupbysnoorderbycount(*)asc10 .查询总成绩超过 200 分的学生,要求列出学号和总成绩.答:selectsno,sum(grade)fromscgroupbysnohavingsum(grade)20011 .查询选课门数超过 2 门的学生的学号、平均成绩和选课门数.答:selectsno,avg(grade),count(*)fromschavin

33、gcount(*)212 .查询选了“C002课程的学生的姓名和所在系.答:selectsname,sdeptfromstudentsjoinscons.sno=sc.snowherecno=C00213 .查询成绩 80 分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果.答:selectsname,cno,gradefromstudentsjoinscons.sno=sc.snowheregrade80orderbygradedesc14 .查询计算机系男生修了“数据库根底的学生的姓名、性别和成绩.答:selectsname,ssex,gradefromstudentsjoinscon

34、s.sno=sc.snojoincourseconco=scowheresdept=计算机系andssex=男andcname=数据库根底15 .查询学生的选课情况,要求列出每位学生的选课情况(包括未选课的学生),并列出学生的学号、姓名、课程号和测试成绩.答:selects.sno,sname,cno,gradefromstudentsleftjoinscons.sno=sc.sno16 .查询哪些课程没有人选,要求列出课程号和课程名.答:selectco,cnamefromcoursecleftjoinsconco=scowherescoisnull17 .查询计算机系没有选课的学生,列出学

35、生姓名.答:selectsnamefromstudentsleftjoinscons.sno=sc.snoWheresdept=计算机系andsc.snoisnull18 .列出“数据库根底课程测试成绩前三名的学生的学号、姓名、所在系和测试成绩.答:selecttop3s.sno,sname,sdept,gradefromStudentsjoinSCons.Sno=SC.SnojoinCourseconco=SCowherecname=数据库根底orderbygradedesc19 .查询 VB 测试成绩最低的学生的姓名、所在系和 VB 成绩.答:selecttop1withtiessname

36、,sdept,gradefromstudentsjoinscons.sno=sc.snojoincourseconco=scowherecname=VBorderbygradeasc20.查询有测试成绩的所有学生的姓名、修课名称及测试成绩,要求将查询结果放在一张新的永久表中,假设新表名为 new_sc.答:selectsname,cname,gradeintonew_scfromstudentsjoinscons.sno=sc.snojoincourseconco=scowheregradeisnotnull21 .分别查询信息治理系和计算机系的学生的姓名、性别、修课名称、修课成绩,并要求将这

37、两个查询结果合并成一个结果集,并以系名、姓名、性别、修课名称、修课成绩的顺序显示各列.答:selectsdept 系名,sname 姓名,ssex 性别,cname 修课名称,grade 修课成绩fromstudentsjoinscons.sno=sc.snojoincourseconco=scowheresdept=信息治理系UNIONselectsdept,sname,ssex,cname,gradefromstudentsjoinscons.sno=sc.snojoincourseconco=scowheresdept=计算机系22 .查询选了 VB 的学生学号、姓名、所在系和成绩,并对

38、所在系进行如下处理:当所在系为“计算机系时,显示“CS;当所在系为“信息治理系时,显示“IS;当所在系为“通信工程系时,显示“C.;对其他系,均显示“OTHER.答:selects.sno 学号,sname 姓名,casesdeptwhen计算机系thenCSwhen信息系thenISwhen数学系thenCOelseOTHERendas 所在系,grade 成绩fromstudentsjoinscons.sno=sc.snojoincourseconco=scowherecname=vb23.用子查询实现如下查询:(1)查询选了“C001课程的学生姓名和所在系.答:selectsname,s

39、deptfromstudentwheresnoin(selectsnofromscwherecno=C001)(2)查询通信工程系成绩 80 分以上的学生学号和姓名.答:selectsno,snamefromstudentwheresnoin(selectsnofromscwheregrade80)andsdept=通信工程系(3)查询计算机系测试成绩最高的学生姓名.答:selectsnamefromstudentsjoinscons.sno=sc.snowheresdept=计算机系andgrade=(selectmax(grade)fromscjoinstudentsons.sno=sc.

40、snowheresdept=计算机系)(4)查询年龄最大的男生的姓名和年龄.答:selectsname,sagefromstudentWheresage=(selectmax(sage)fromstudentandssex=男)andssex=男(5)查询“C001课程的测试成绩高于“C001课程的平均成绩的学生的学号和“C001课程成绩.答:selectsno,gradefromscwherecno=C001Andgrade(selectavg(grade)fromscwherecno=C001)24.创立一个新表,表名为 test_t,其结构为:(COL1,COL2,COL3),其中:CO

41、L1:整型,允许空值.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 分.答:updatescs

42、etgrade=grade+10wherecno=C00126.将计算机系所有选修了“计算机文化学课程的学生成绩加 10 分,分别用子查询和多表连接形式实现答:(1)子查询updatescsetgrade=grade+10wheresnoin(selectsnofromstudentwheresdept=计算机系)andcnoin(selectcnofromcoursewherecname=计算机文化学)(2)多表连接updatescsetgrade=grade+10fromscjoinstudentsonsc.sno=s.snojoincourseconco=scowheresdept=计算

43、机系andcanem=计算机文化学27.删除修课成绩小于 50 分的学生的选课记录.28deletefromscwheregrade5028 .删除信息治理系测试成绩小于 50 分的学生的该门课程的修课纪录,分别用子查询和多表连接形式实现答:(1)用连接查询实现deletefromscfromscjoinstudentsons.sno=sc.snowheresdept=信息治理系andgrade50(2)用子查询实现deletefromscwheresnoin(selectsnofromstudentwheresdept=信息治理系)andgrade=60Groupbysno2 .利用第 1

44、题建立的视图,写出完成如下查询的 SQL 语句,并执行这些语句,查看执行结果.将查询语句和执行结果保存到一个文件中.(1)查询测试成绩大于等于 90 分的学生的姓名、课程名和成绩.答:Selectsname,cname,gradeFromv2wheregrade=90(2)查询选课门数超过 3 门的学生的学号和选课门数.答:Select*fromv3wheretotal=3(3)查询计算机系选课门数超过 3 门的学生的姓名和选课门数.答:Selectsname,totalfromv3joinstudentsons.sno=v3.snoWheresdept=计算机系andtotal=3(4)查询

45、修课总学分超过 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=103 .修改第 1 题(4)定义的视图,使其查询每个

46、学生的学号、总学分以及总的选课门数.答:Alterviewv4AsSelectsno,sum(credit)astotal_credit,count(*)astotal_cnoFromscjoincourseconco=scoGroupbysno4 .写出实现以下操作的 SQL 语句,执行这些语句,并在 SSMS:具中观察语句执行结果.(1)在 Student 表的 Sdept 列上建立一个按降序排序的非聚集索引,索引名为:Idx_Sdept答:CreateindexIdx_Sdeptonstudent(SdeptDESC)(2)在 Student 表的 Sname 列上建立一个唯一的非聚集索

47、引,索引名为:Idx_Sname.答:CreateuniqueindexIdx_Snameonstudent(Sname)(3)在 Course 表上为 CnameJ 建立一个非聚集索引,索引名为:Idx_Cname答:CreateindexIdx_CnameonCourse(Cname)(4)在 SC 表上为 Sno 和 Cno 建立一个组合的非聚集索引,索引名为:Idx_SnoCno.答:CreateindexIdx_SnoCnoonSC(Sno,Cno)(5)删除在 Sname 列上建立的 Idx_Sname 索引.答:dropindexIdx_SnameonStudent第 6 章关系

48、数据理论一.选择题1 .对关系模式进行标准化的主要目的是A.提升数据操作效率C.增强数据的平安性2 .关系模式中的插入异常是指 DA.插入的数据违反了实体完整性约束B.插入的数据违反了用户定义的完整性约束C.插入了不该插入的数据D.应该被插入的数据不能被插入A.Y 完全函数依赖于 XC.X 完全函数依赖于 Y5 .假设 X-Y 和 Y-Z 在关系模式 R 上成立,那么 X-Z 在 R 上也成立.该推理规那么称为A.自反规那么 B.增广规那么C.传递规那么 D.伪传递规那么6 .假设关系模式 R 中属性 A 仅出现在函数依束的左部,那么 A 为 AA.L 类属性 B.R 类属性C.N 类属性 D

49、.LR 类属性7 .假设关系模式 R 中属性 A 是 N 类属性,那么 ADA.一定不包含在 R 任何候选码中8.可能包含也可能不包含在 R 的候选码中C.一定包含在 R 的某个候选码中D.一定包含在 R 的任何候选码中8 .设 F 是某关系模式的极小函数依赖集.以下关于A.F 中每个函数依赖的右部都必须是单个属性B.F 中每个函数依赖的左部都必须是单个属性C.F 中不能有冗余的函数依赖D.F 中每个函数依赖的左部不能有冗余属性9 .有关系模式:学生(学号,姓名,所在系,系主任)A.第一范式C.第三范式B.维护数据的一致性D.为用户提供更快捷的数据操作3 .如果有函数依赖 X-Y,并且对 X

50、的任意真子集4 .如果有函数依赖X-Y,X,都有 X-Y,那么称 CB.X 局部函数依赖于 YD.Y 局部函数依赖于 XA.X 完全函数依赖于 YC.Y 完全函数依赖于 X并且对 X 的某个真子集 X,有 X-Y 成立,那么称B.Y 局部函数依赖于 XD.X 局部函数依赖于 YC,设一个系只有一个系主任,那么该关系模式至少属于 BB.第二范式D.BC 范式F 的说法,错误的选项是 B10 .设有关系模式 R(X,Y,Z),其 F=Y-Z,Y-X,X-YZ,那么该关系模式至少属于B.第二范式C.第三范式11 .以下关于关系模式与范式的说法,错误的选项是A.任何一个只包含两个属性的关系模式一定属于

51、 3NFB.任何一个只包含两个属性的关系模式一定属于 BCNFC.任何一个只包含两个属性的关系模式一定属于 2NFD.任何一个只包含三个属性的关系模式一定属于 3NF12.有关系模式:借书(书号,书名,库存量,读者号,借书日期,还书日期),设一个读者可以屡次借阅同一本书,但对一种书(用书号唯一标识)不能同时借多本.该关系模式的主码是 AA.(书号,读者号,借书日期)B.(书号,读者号)B.(书号)D.(读者号)二.填空题1 .在关系模式 R 中,假设属性 A 只出现在函数依赖的右部,那么 A 是类属性.R2 .假设关系模式 RG2NF,那么 R 中一定不存在非主属性对主码的函数依赖.局部3 .

52、假设关系模式 RG3NF,那么 R 中一定不存在非主属性对主码的函数依赖.传递4 .设有关系模式 X(S,SN,D)和丫(D,DN,M),X 的主码是 S,丫的主码是 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,且 ZY,那么 X-Z 在 R 上也成立,该推理规那么为 Armstrong 公理系统中的.分解规那么8 .根据

53、Armstrong 公理系统中的自反规那么,对关系模式 R 中的属性集 X,假设丫 X,那么一定有.X-Y9 .关系数据库中的关系表至少都满足范式要求.第一10 .关系标准化的过程是将关系模式从低范式标准化到高范式的过程,这个过程实际上是通过实现的.模式分解11 .假设关系模式 R 的主码只包含一个属性,那么 R 至少属于第范式.二12 .假设关系模式 R 中所有的非主属性都完全函数依赖于主码,那么 R 至少属于第范式.二三.简做题1 .关系标准化中的操作异常有哪些?它是由什么引起的?解决的方法是什么?2 .第一范式、第二范式和第三范式关系模式的定义分别是什么?3 .什么是局部函数依赖?什么是

54、传递函数依赖?请举例说明.4 .第三范式的关系模式是否一定不包含局部函数依赖关系?5 .设有关系模式 R(A,B,C,D),F=D-A,DB(1)求 C+o(2)求 R 的全部候选码.答:(1)D+=DAB(2)由于 D 是 L 类属性,因此 D 一定出现在 R 的任何候选码中;由于 C 是 N 类属性,因此 D 一定出现在 R 的任何候选码中;(CD)+=CDAB=R 的全部属性,因此 R 的唯一候选码是 CQ6 .设有关系模式 R(W,X,Y,Z),F=X-Z,WXY,该关系模式属于第几范式,请说明理由.解:R 是 1NF,R 的候选码为 WX 因此 Y,Z 是非主属性,又由于存在 X-Z

55、,因此 F 中存在非主属性对主码的局部函数依赖,因此 R 不是 2NF.D.BC 范式7 .设有关系模式 R(A,B,C,D),F=A-C,C-A,BfAC,D-AC(1)求 B+,(AD)+O(2)求 R 的全部候选码,判断 R 属于第几范式.(3)求 F 的极小函数依赖集 Fmino答:(1)B+=BAC(AD)+=ADC(2)由于 B、D 是 L 类属性,因此 B、D 会在任何候选码中;(BD)+=BDAC=R 的全部属性,因此 R 的候选码是 BD.R 是第 1 范式,由于存在局部函数依赖:(3)将所有函数依赖的右边改为单个属性,得到:屋 AC,D-ACF1=2C,C-A,B-A,B-

56、C,D-A,DC去掉函数依赖左部的多余属性:该关系模式的全部函数依赖集左部均为一个属性,属性的情况.去掉多余的函数依赖.去掉 AX,得到 F2=CA,BfA,BfC,CHA,DCA+F2=AC,包含 C,因此为多余函数依赖,应去掉;去掉 CfA,得到 F3=屋 A,BfC,DHA,DCC+F3=C,不包含 A,因此 C-A 不是多余函数依赖;去掉 BfA,得到 F4=CfA,BfC,DA,DCB+F4=BCA,包含 A,因此 BfA 是多余函数依赖,应去掉;去掉 BfC,得到 F5=CfA,DfA,DCB+F5=B,不包含 C,因此 B-C 不是多余函数依赖;去掉 rA,得到 F6=CfA,B

57、fC,DCD+F5=DCA,不包含A因此 D-A 是多余函数依赖,应去掉;去掉 rC,得到 F7=C-A,B-CD+F5=D,不包含 C,因此 D-C 不是多余函数依赖.最终 Fmin=C-A,B-C,DC四.设计题1.设有关系模式:学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩).设一个学生可以选多门课程,一门课程可以被多名学生选.一个学生有唯一的所在系,每门课程有唯一的课程名和学分.每个学生对每门课程有唯一的成绩.(1)请指出此关系模式的候选码.(2)写出该关系模式的极小函数依赖集.(3)该关系模式属于第几范式?并简单说明理由.(4)假设不是第三范式的,请将其标准化为第三范

58、式关系模式,并指出分解后的每个关系模式的主码和外码.答:(1)候选码:(学号,课程号)(2)学号一姓名,学号一所在系,学号一性别,课程号一课程名,课程号一学分,(学号,课程号)一成绩(3)属于第二范式,由于存在局部函数依赖:学号一姓名.(4)第三范式关系模式:学生(学号,姓名,所在系,性别)课程(课程号,课程名,学分)测试学号,课程号,成绩,学号为引用学生的外码,课程号为引用课程的外码.因此不存在左部有多余2 .设有关系模式:学生学号,姓名,所在系,班号,班主任,系主任,其语义为:一个学生只在一个系的一个班学习,一个系只有一个系主任,一个班只有一名班主任,一个系可以有多个班.1请指出此关系模式

59、的候选码.2写出该关系模式的极小函数依赖集.3该关系模式属于第几范式?并简单说明理由.4假设不是第三范式的,请将其标准化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码.解:1候选码:学号2学号一姓名,学号一所在系,学号一班号,班号一班主任,所在系一系主任3第二范式,由于有:学号一班号,班号一班主任,因此存在传递函数依赖:、一传递,学号一班主任4第三范式关系模式:学生营生姓名,所在系,班号,班号为引用班的外码,所在系为引用系的外码.班班号,班主任系系名,系主任3 .设有关系模式:教师授课课程号,课程名,学分,授课教师号,教师名,授课时数,其语义为:一门课程由课程号决定有确定的课程名和

60、学分,每名教师由教师号决定有确定的教师名,每门课程可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定的授课时数.1指出此关系模式的候选码.2写出该关系模式的极小函数依赖集.3该关系模式属于第几范式?并简单说明理由4假设不属于第三范式,请将其标准化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码.答:1候选码:课程号,授课教师号2课程号一课程名,课程号一学分,授课教师号一教师名,课程号,授课教师号一授课时数3属于第一范式.由于有:课程号一课程名,因此存在局部函数依赖关系:课程号,授课教师号-P*课程名4第三范式关系模式:课程课程号,课程名,学分教师教师号,教师名授

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论