您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 《数据库系统原理》复习题(答案)
1(一)填空题1.数据管理经历了_______阶段、________阶段到________阶段的变迁。(手工管理、文件管理、数据库管理)2.实体之间联系的基本类型有______、_______、_______。(一对一、一对多、多对多)3.在E-R图中,用____表示实体,用______表示联系,用______表示属性。(矩形框、菱形框、椭圆框)4.数据库的三层模式结构是________、_________、_______。(外模式、逻辑模式、内模式)5.关系模型中一般讲数据完整性分为三类:_________、___________、__________。(实体完整性、参照完整性、用户定义完整性)6.数据模型由三部分组成:数据结构、数据操作和____________。(数据的约束条件或数据完整性规则)7.SQL语言是一种标准的数据库语言,包括数据的查询、定义、操纵和______四部分功能。(控制)8.视图是从其它________或视图导出的虚表。(基本表)9.在关系模式R中,若属性或属性组X不是关系R的关键字,但X是其他关系模式的关键字,则称X为关系R的___________。(外关键字)10.访问SQLserver数据库对象时,需要经过身份验证和_________两个阶段,其中身份验证分为Windows验证模式和_______验证模式。(权限验证、混合)11._______是存储在文件中的一系列SQL语句,即一系列按顺序提交的批处理。(脚本)12.SQL语言中行注释的符号为_________;块注释的符号为_________。(--、/**/)13.SQLserver中的变量分为两种,全局变量和局部变量。其中全局变量的名称以_______字符开始,有系统定义和维护。局部变量以__________字符开始,由用户自己定义和赋值。(@@、@)14.在SQLserver中,其权限分为三类,即_________权限、_________权限和_________权限。(对象、语句、隐含)15.用户对数据进行添加、修改和删除时,自动执行的存储过程称为_________。(触发器)16.角色是一组用户所构成的组,可以分为服务器角色和_______角色。(数据库)17.触发器有3种类型,即INSERT类型、_______和_______。(UPDATE类型、DELETE类型)18.如果要计算表中的行数,可以使用聚合函数______。(COUNT())19.在SQLServer中修改表的结构应使用关键字,修改表中的数据应使用关键字。(ALTER、UPDATE)(二)单项选择题1.一个仓库可以存放多种产品,而一种产品只能存放于一个仓库中。仓库与产品之间的联系类型是(C)。A、一对一的联系B、多对一的联系C、一对多的联系D、多对多的联系2.不属于传统数据模型的是(D)。A、层次数据模型B、网状数据模型C、关系数据模型D、面向对象数据模型3.声明了变量:declare@iint,@cchar(4),现在为@i赋值10,为@c赋值'abcd',正确的语句是(C)。A、set@i=10,@c='abcd'B、seti=10,set@c='abcd'C、select@i=10,@c='abcd'D、select@i=10,select@c='abcd'4.长期存储在计算机内的有组织、可共享的数据集合是(C)。A、数据库管理系统B、数据库系统C、数据库D、文件组织25.数据库系统不仅包括数据库本身,还要包括相应的硬件、软件和(D)。A、数据库管理系统B、数据库应用系统C、相关的计算机系统D、各类相关人员6.数据库系统软件包括DBMS和(D)。A、数据库B、高级语言C、OSD、数据库应用系统和开发工具7.在SQL语言中授权的操作是通过(C)语句实现的。A、CREATEB、REVOKEC、GRANTD、INSERT8.数据库中只存放视图的(C)。A、操作B、对应的数据C、定义D、限制9.概念结构设计阶段得到的结果是(B)。A、数据字典描述的数据需求B、E-R图表示的概念模型C、某个DBMS所支持的数据模型D、包括存储结构和存取方法的物理结构10.一个m:n联系转换为一个关系模式。关系的码为(B)。A、某个实体的码B、各实体码的组合C、n端实体的码D、任意一个实体的码11.(A)是位于用户和操作系统之间的一层数据管理软件。数据库在建立、使用和维护时由其统一管理、统一控制。A、DBMSB、DBC、DBSD、DBA12.SQL语言允许使用通配符进行字符串匹配,其中‘%’可以表示(D)。A、零个字符B、1个字符C、多个字符D、以上都可以13.表在数据库中是一个非常重要的数据对象,它是用来(C)各种数据内容的。A、显示B、查询C、存放D、检索14.在SQLServer服务器上,存储过程是一组预先定义并(B)的T-SQL语句。A、保存B、编译C、解释D、编写15.下列哪个约束不可以为空?(A)A.、主键B、外键C、默认键D、UNIQUE约束16.下列特点哪一项是视图所不具备的?(D)A、分割数据,屏蔽用户所不需要浏览的数据B、提高应用程序和表之间的独立性,充当程序和表之间的中间层C、降低对最终用户查询水平的要求D、提高数据的网络传输速度17.在通常情况下,下列哪个对象不是数据库对象?(D)A、ViewB、TableC、RuleD、Word318.不属于SQLServer系统全局变量的是(D)。A、@@ErrorB、@@ConnectionsC、@@Fetch_StatusD、@Records19.Transact-SQL支持的程序结构语句中的一种为(A)。A、Begin…EndB、If…Then…ELSEC、DoCaseD、DoWhile20.SQL语言中,删除一个视图的命令是(B)。A、DELETEB、DROPC、CLEARD、REMOVE21.下列的SQL语句中,(D)不是数据定义语句。A、CREATETABLEB、DROPVIEWC、CREATEVIEWD、GRANT22.下列哪个关键字在SELECT语句中表示所有列:(A)A、*B、ALLC、DESCD、DISTINCT23.数据查询语句SELECT的语法中,必不可少的子句是(B)。A、SELECT和WHEREB、SELECT和FROMC、FROMD、SELECT24.SQL数据定义语言中,表示外码约束的关键字是(B)。A、UNIQUEB、FOREIGNKEYC、PRIMARYKEYD、CHECK25.下列哪个统计函数可以计算平均值?(B)A、sumB、avgC、countD、min26.下列说法中正确的是(D)。A、SQL中局部变量可以不声明就使用;B、SQL中全局变量必须先声明再使用;C、SQL中所有变量都必须先声明后使用;D、SQL中只有局部变量先声明后使用,全局变量是由系统提供的用户不能自己建立。27.SQLServer的字符型系统数据类型主要包括(B)。A、Int、money、charB、char、varchar、textC、datetime、binary、intD、char、varchar、int28.SELECT语句中与HAVING子句通常同时使用的是(C)子句。A、ORDERBYB、WHEREC、GROUPBYD、无需配合29.在WHILE循环语句中,如果循环体语句条数多于一条,必须使用(A)。A、BEGIN…ENDB、CASE…ENDC、IF…HEND、GOTO30.SELECT查询中,要把结果中的行按照某一列的值进行排序,所用到的子句是(A)。A、ORDERBYB、WHEREC、GROUPBYD、HAVING31.数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者的关系,正确的表达是(B)。4A、DB和DBS都是DBMS的一部分B、DBMS和DB都是DBS的一部分C、DB是DBMS的一部分D、DBMS包括数据库系统和DB32.数据库三级模式体系结构的划分,有利于保持数据库的(A)。A、数据独立性B、数据安全性C、结构规范化D、操作可行性33.关系模型中,表中的一行称为(C)。A、主键B、实体C、记录D、属性34.删除一个表,正确的SQL语句是(C)。A、DROP表名B、ALTERTABLE表名C、DROPTABLE表名D、ALTER表名35.使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当(B)。A、使用WHERE子句B、在GROUPBY后面使用HAVING子句C、先使用WHERE子句,再使用HAVING子句。D、先使用HAVING子句,再使用WHERE子句。三、判断题(√)1.视图可以提高应用程序和表之间的独立性,充当程序和表之间的中间层。(×)2.SELECT语句中WHERE子句和HAVING子句的作用是一致的。(√)3.建立基本表分两步:定义表结构和输入数据。(√)4.列级约束和表级约束都可以用于定义外码约束。(×)5.在查询中很少被引用的列上创建索引可以极大的提高查询性能。(√)6.如果使用别名来代表一个表,那么在定义别名后的所有查询语句中,都必须使用别名来代表表的全名,否则系统会出错。(×)7.在关系数据库中,表中记录的顺序不能互换。(√)8.当登录到WINDOWS的用户与SQLServer连接时,用户不用提供SQLServer帐号,这种认证模式就是WINDOWS认证机制。四、简答题1、什么是列级完整性约束?什么是列级完整性约束?答:在定义表时,于列名与数据类型之后给出的约束称列级约束。在一个表的全部列说明完之后,单独说明的约束称作表级约束。2、数据完整性定义有哪几类?其一般规则如何?答:数据完整性定义有三类,它们是实体完整性、参照完整性和用户定义完整性。实体完整性要求关系中元组的主码值不能为空值。参照完整性是定义外码与主码之间的引用和参照规则,参照关系的外码取值不能超出被参照关系的主码取值,即为空值或等于被参照关系中某个主码值。用户定义完整性是针对某一具体关系数据库进行的条件约束。3、一个数据库中需要定义6个表,其中有两个表有外码。在建数据库时,各表的定义是否可以随意安排?正确的做法应当如何安排?为什么?答:当新建数据库时,有外码的表应当在引用表定义之后定义;否则,在执行创建语句时,找不到引用表,系统会视为错误。引用无效,导致语句不能执行。54、在哪几种情况下,视图名之后必须给出视图列名列表?答:以下三种情况,视图名之后必须给出视图列名列表:(1)子查询语句中某个目标列不是属性名,而是计算函数或列表达式时;(2)多表连接时选出了几个同名列作为视图的字段时;(3)需要在视图中为某个列选用新的更合适的列名时。5、定义角色有何作用?举例说明。答:定义角色主要是便于对权限相同的一组用户,进行统一的权限管理,提高管理效率。举例(略)五、操作题设有如下关系模式:学生(学号C,姓名C,性别C,出生日期D,专业C,奖学金N)成绩(学号C,课程名C,成绩N)其中:字段名后的C表示该字段为字符型,N表示该字段为数值型。请按照下列要求写出正确的SQL语句。1.用SQL语言中的CREATE命令创建学生表。2.用SQL语句写出往成绩表中插入一个新记录(‘20090001’,‘数据库原理及应用’,90)。3.检索“计算机应用”专业的学生学号、姓名、性别、年龄、专业和奖学金。4.将“计算机网络”专业的学生,奖学金修改为800元。5.查找学生中姓“肖”的学生,列出其姓名、专业。6.查询成绩在75分以上的学生信息。7.查询每个学生的平均成绩。8.查询选修了“计算机基础”课程,但无成绩的学生,列出学号、姓名、专业。参考答案如下:1.createtable学生(学号char(8)primarykey,姓名varchar(8),性别char(2),出生日期datetime,专业varchar(50),奖学金int)2.insertinto成绩values('20090001','数据库原理及应用',90)3.select学号,姓名,性别,datediff(year,出生日期,g
本文标题:《数据库系统原理》复习题(答案)
链接地址:https://www.777doc.com/doc-2838761 .html