新版数据库课后习题答案水利水电出版社.docx
《新版数据库课后习题答案水利水电出版社.docx》由会员分享,可在线阅读,更多相关《新版数据库课后习题答案水利水电出版社.docx(21页珍藏版)》请在冰豆网上搜索。
新版数据库课后习题答案水利水电出版社
第1章习题参考答案
1.选择题
(1)数据库系统与文件系统的主要区别是( )。
D
A.数据库系统复杂,而文件系统简单
B.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件
C.文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量
D.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决
(2)在关系数据库系统中,当关系的模型改变时,用户程序也可以不变,这是( )。
B
A.数据的物理独立性B.数据的逻辑独立性
C.数据的位置独立性D.数据的存储独立性
(3)在数据库三级模式中,对用户所用到的那部分数据的逻辑描述是( )。
A
A.外模式 B.概念模式 C.内模式 D.逻辑模式
(4)E-R图用于描述数据库的()。
A
A.概念模型B.数据模型
C.存储模型D.逻辑模型
(5)以下对关系模型性质的描述,不正确的是()。
C
A.在一个关系中,每个数据项不可再分,是最基本的数据单位
B.在一个关系中,同一列数据具有相同的数据类型
C.在一个关系中,各列的顺序不可以任意排列
D.在一个关系中,不允许有相同的字段名
(6)已知两个关系:
职工(职工号,职工名,性别,职务,工资)
设备(设备号,职工号,设备名,数量)
其中“职工号”和“设备号”分别为职工关系和设备关系的关键字,则两个关系的属性中,存在一个外部关键字为()。
A
A.设备关系的“职工号”B.职工关系的“职工号”
C.设备号D.设备号和职工号
(7)在建立表时,将年龄字段值限制在18~40之间,这种约束属于()。
B
A.实体完整性约束B.用户定义完整性约束
C.参照完整性约束D.视图完整性约束
(8)下列标识符可以作为局部变量使用的是()。
C
A.[@Myvar]B.MyvarC.@MyvarD.@Myvar
(9)Transact-SQL支持的一种程序结构语句是()。
A
A.BEGIN…ENDB.IF…THEN…ELSE
C.DOCASED.DOWHILE
(10)字符串常量使用()作为定界符。
A
A.单引号B.双引号
C.方括号D.花括号
2.填空题
(1)数据库是在计算机系统中按照一定的方式组织、存储和应用的。
支持数据库各种操作的软件系统叫。
由计算机、操作系统、DBMS、数据库、应用程序及有关人员等组成的一个整体叫。
数据集合,数据库管理系统,数据库系统
(2)数据库常用的逻辑数据模型有、、,SQLServer2000属于。
层次模型,网状模型,关系模型,关系模型
(3)关系中能唯一区分、确定不同元组的属性或属性组合,称为该关系的。
关键字
(4)在关系数据库的基本操作中,从表中取出满足条件元组的操作称为________;把两个关系中相同属性值的元组联接到一起形成新的二维表的操作称为________;从表中抽取属性值满足条件列的操作称为________。
选择,连接,投影
(5)SQLServer2000不允许在主关键字字段中有重复值或________。
空值
(6)SQLServer的两个主要工具分别是________和________。
企业管理器,查询分析器
(7)SQLServer的启动、暂停、停止和状态检查使用________工具。
SQLServer服务管理器
(8)在SQLServer2000中主要是通过使用运行Transact-SQL语句。
查询分析器
(9)在SQLServer2000中,每个程序块的开始标记为关键字________,结束标记为关键字________。
BEGIN,END
(10)在循环结构的语句中,当执行到关键字________后将终止整个语句的执行,当执行到关键字________后将结束一次循环体的执行。
BREAK,CONTINUE
第2章习题解答
1.选择题
(1)下列(C)不是sql 数据库文件的后缀。
A..mdfB..ldf C..tif D..ndf
(2)SQLServer数据库对象中最基本的是(B)。
A.表和语句B.表和视图
C.文件和文件组D.用户和视图
(3)事务日志用于保存(C.)。
A.程序运行过程B.程序的执行结果
C.对数据的更新操作D.数据操作
(4)Master数据库是SQLServer系统最重要的数据库,如果该数据库被损坏,SQLServer将无法正常工作。
该数据库记录了SQLServer系统的所有(D)。
A.系统设置信息B.用户信息
C.对数据库操作的信息D.系统信息
(5)SQLServer中组成数据库的文件有(B)类型。
A.2B.3C.4D.5
(6)分离数据库就是将数据库从(B)中删除,但是保持组成该数据的数据文件和事务日志文件中的数据完好无损。
A.WindowsB.SQLServer
C.U盘D.企业管理器
(7)以下是指对数据库的完整备份,包括所有的数据以及数据库对象。
A.数据库完全备份B.数据库差异份
C.事务日志备份D.文件或文件组备份
(8)下面描述错误的是()。
A.每个数据文件中有且只有一个主数据文件。
B.日志文件可以存在于任意文件组中。
C.主数据文件默认为PRIMARY文件组。
D.文件组是为了更好的实现数据库文件组织。
(9)下列文件中不属于SQLServer数据库文件的是()。
A.device_data.MDFB.device_log.LDF
C.device_mdf.DATD.device_data.NDF
(10)SQLServer对象的完整名称不包括下面()。
A.服务器名B.数据库名C.对象名D.文件夹名
2.填空题
(1)数据库逻辑结构中的文件主要存储(用户数据),而且存储所有与(用户数据)相关的信息。
(2)数据库物理结构主要应用于面向计算机的(数据)组织和管理。
(3)SQLServer的(逻辑组件)通常被称为数据库对象。
(4)一个数据库只能有一个(主数据)文件。
一个数据库可以有(零个)或多个(次数据)文件。
(5)事务日志文件是用来(对数据的)更新情况的文件,扩展名为LDF。
(6)SQLServer中(数据存储)的基本单位是页,一页的大小为8千字节(KB)。
页是存储数据的(基本)单位。
(7)现有数据库Archive和Art,要求使用下面的语句删除这两个数据库:
DROPDATEBASEArchive(Art)。
(8)当前数据库Archive的主数据文件为AMAIN,执行以下语句后:
ALTERDATABASEArchive
ADDFILE
(NAME=ASEC,
FILENAME=´E:
\MYTEST\ASECD.NDF´)
则为数据库Archive添加了一个(次)数据文件,其物理文件名是(ASECD.NDF)。
(9)使用分离和附加数据库的操作,可以将数据库从一台计算机(附加)到另一台计算机。
(10)还原数据库是一个(装载)数据库的备份,然后应用事务日志(重建)的过程。
第3章习题解答
1.选择题
(1)表设计器的“允许空”单元格用于设置该字段是否可输入空值,实际上就是创建该字段的(D)约束。
A.主键B.外键C.NULLD.CHECK
(2)下列关于表的叙述正确的是(C)。
A.只要用户表没有人使用,则可将其删除B.用户表可以隐藏
C.系统表可以隐藏D.系统表可以删除
(3)下列关于主关键字叙述正确的是(A)。
A.一个表可以没有主关键字
B.只能将一个字段定义为主关键字
C.如果一个表只有一个记录,则主关键字字段可以为空值
D.都正确
(4)下列关于关联叙述正确的是(C)。
A.可在两个表的不同数据类型的字段间创建关联
B.可在两个表的不同数据类型的同名字段间创建关联
C.可在两个表的相同数据类型的不同名称的字段间创建关联
D.在创建关联时选择了级联更新相关的字段,则外键表中的字段值变化时,可自动修改主键表中的关联字段
(5)CREATETABLE语句(C)。
A.必须在数据表名称中指定表所属的数据库
B.必须指明数据表的所有者
C.指定的所有者和表名称组合起来在数据库中必须唯一
D.省略数据表名称时,则自动创建一个本地临时表
(6)删除表的语句是(A)。
A.DropB.AlterC.UpdateD.Delete
(7)数据完整性不包括(B)。
A.实体完整性B.列完整性C.域完整性D.用户自定义完整
(8)下面关于Insert语句的说法正确的是(A)。
A.Insert一次只能插入一行的元组
B.Insert只能插入不能修改
C.Insert可以指定要插入到哪行
D.Insert可以加Where条件
(9)表数据的删除语句是(A)。
A.DeleteB.InserC.UpdateD.Alter
(10)SQL数据定义语言中,表示外键约束的关键字是(B)。
A.CheckB.ForeignKeyC.PrimaryKeyD.Unique
2.填空题
(1)数据通常存储在表中,表存储在数据库文件中,任何有相应权限的用户都可以对之进行操作。
(2)Transact-SQL语言创建数据表的语句是CREATETABLE,删除数据表的语句是DROPTABLE。
(3)Transact-SQL语言将数据插入到数据表的语句是INSERTINTO,修改数据的语句是UPDATE。
(4)数据的完整性是指数据库中的数据具有正确性、有效性和一致性。
(5)数据完整性包括实体完整性、域完整性、引用完整性和用户定义完整性。
(6)实体完整性是要求一个关系中所有主属性非空。
(7)假定利用CREATETABLE命令建立下面的BOOK表:
CREATETABLEBOOK
(总编号char(6),
分类号char(6),
书名char(6),
单价numeric(10,2))
则“单价”列的数据类型为数值型,列宽度为(10),其中包含有(2)位小数。
(8)将数据表c_info中c_no为“9910011”的C_Credit属性的值减去1的SQL语句是:
UPDATEc_info
__SET____ C_Credit=C_Credit-1 WHEREc_no=´9910011´
在上述命令的下划线中应填入什么?
(9)SQL语言中,删除一个表中所有数据,但保留表结构的命令是(DELETE)。
(10)“学生”表St_info由学号(sno)、姓名(sname)、性别(ssex)、出生日期(sbirth)、所在系(sd)等属性组成。
现将一个新学生记录(学号:
2003101;姓名:
陈红;性别:
女;所在系:
外国语学院;出生日期:
1985-10-23)插入到St_info表中,请在下述语句的下划线处填入相关命令动词,完成操作。
INSERT或INSERTINTOSt_info
VALUES(‘2003101’,‘陈红’,‘女’,1985-10-23,‘外国语学院’)
第4章习题解答
1.选择题
(1)在SELECT语句中,需显示的内容使用“*”,则表示()。
B
A.选择任何属性 B.选择所有属性
C.选择所有元组 D.选择主键
(2)查询时要去掉重复的元组,则在SELECT语句中使用( )。
D
A.All B.UNIONC.LIKE D.DISTINCT
(3)在SELECT语句中使用GROUPBYNO时,NO必须()。
C
A.在WHERE子句中出现 B.在FROM子句出现
C.在SELECT子句中出现 D.在HAVING子句中出现
(4)使用SELECT语句进行分组检索时,为了去掉不满足条件的分组,应当()。
B
A.使用WHERE子句
B.在GROUPBY后面使用HAVING子句
C.先使用WHERE子句,再使用HAVING子句
D.先使用HAVING子句,再使用WHERE子句
(5)在SQL语句中,与表达式“仓库号NotIn("wh1","wh2")”功能相同的表达式是()。
D
A.仓库号="wh1"And仓库号="wh2"B.仓库号<>"wh1"Or仓库号<>"wh2"
C.仓库号<>"wh1"Or仓库号="wh2"D.仓库号<>"wh1"And仓库号<>"wh2"
第6~10题使用如下3个表:
部门:
部门号Char(8),部门名Char(12),负责人Char(6),电话Char(16)
职工:
部门号Char(8),职工号Char(10),姓名Char(8),性别Char
(2),出生日期Datetime
工资:
职工号Char(10),基本工资Numeric(8,2),津贴Numeric(8,2),奖金Numeric(8,2),扣除Numeric(8,2)
(6)查询职工实发工资的正确命令是()。
C
A.SELECT姓名,(基本工资+津贴+奖金-扣除)AS实发工资FROM工资
B.SELECT姓名,(基本工资+津贴+奖金-扣除)AS实发工资FROM工资WHERE职工.职工号=工资.职工号
C.SELECT姓名,(基本工资+津贴+奖金-扣除)AS实发工资FROM工资,职工WHERE职工.职工号=工资.职工号
D.SELECT姓名,(基本工资+津贴+奖金-扣除)AS实发工资FROM工资JOIN职工WHERE职工.职工号=工资.职工号
(7)查询1972年10月27日出生的职工信息的正确命令是()。
D
A.SELECT*FROM职工WHERE出生日期={1972-10-27}
B.SELECT*FROM职工WHERE出生日期=1972-10-27
C.SELECT*FROM职工WHERE出生日期=”1972-10-27”
D.SELECT*FROM职工WHERE出生日期='1972-10-27'
(8)查询每个部门年龄最长者的信息,要求得到的信息包括部门名和最长者的出生日期,正确的命令是()。
A
A.SELECT部门名,MIN(出生日期)FROM部门JOIN职工ON部门.部门号=职工.部门号GROUPBY部门名
B.SELECT部门名,MAX(出生日期)FROM部门JOIN职工ON部门.部门号=职工.部门号GROUPBY部门名
C.SELECT部门名,MIN(出生日期)FROM部门JOIN职工WHERE部门.部门号=职工.部门号GROUPBY部门名
D.SELECT部门名,MAX(出生日期)FROM部门JOIN职工WHERE部门.部门号=职工.部门号GROUPBY部门名
(9)查询所有目前年龄在35岁以上(不含35岁)的职工信息(姓名、性别和年龄),正确的命令是()。
C
A.SELECT姓名,性别,YEAR(GETDATE())-YEAR(出生日期)AS年龄FROM职工WHERE年龄>35
B.SELECT姓名,性别,YEAR(GETDATE())-YEAR(出生日期)AS年龄FROM职工WHEREYEAR(出生日期)>35
C.SELECT姓名,性别,YEAR(GETDATE())-YEAR(出生日期)AS年龄FROM职工WHEREYEAR(GETDATE())-YEAR(出生日期)>35
D.SELECT姓名,性别,年龄=YEAR(GETDATE())-YEAR(出生日期)FROM职工WHEREYEAR(GETDATE())-YEAR(出生日期)>35
(10)查询有10名以上(含10名)职工的部门信息(部门名和职工人数),并按职工人数降序排序。
正确的命令是()。
D
A.SELECT部门名,COUNT(职工号)AS职工人数FROM部门,职工WHERE部门.部门号=职工.部门号GROUPBY部门名HAVINGCOUNT(*)>=10ORDERBYCOUNT(职工号)ASC
B.SELECT部门名,COUNT(职工号)AS职工人数FROM部门,职工WHERE部门.部门号=职工.部门号GROUPBY部门名HAVINGCOUNT(*)>=10ORDERBYCOUNT(职工号)DESC
C.SELECT部门名,COUNT(职工号)AS职工人数FROM部门,职工WHERE部门.部门号=职工.部门号GROUPBY部门名HAVINGCOUNT(*)>=10ORDERBY职工人数ASC
D.SELECT部门名,COUNT(职工号)AS职工人数FROM部门,职工WHERE部门.部门号=职工.部门号GROUPBY部门名HAVINGCOUNT(*)>=10ORDERBY职工人数DESC
2.填空题
(1)SQL的含义是。
结构化查询语言
(2)SQL语句中条件短语的关键字是。
WHERE
(3)在SELECT语句中,子句根据列的数据对查询结果进行排序。
ORDERBY
(4) 联合查询指使用运算将多个合并到一起。
UNION,查询结果
(5)当一个子SELECT的结果作为查询的条件,即在一个SELECT语句的WHERE子句中出现另一个SELECT语句,这种查询称为查询。
嵌套
(6)在SELECT语句中,定义一个区间范围的特殊运算符是________,检查一个属性值是否属于一组值中的特殊运算符是________。
BETWEEN,IN
(7)已知“出生日期”求“年龄”的表达式是。
YEAR(GETDATE())-YEAR(出生日期)
(8)在SQL语句中,与表达式“工资BETWEEN2000AND5000”功能相同的表达式是()。
工资>=2000AND工资<=5000
(9)语句“SELECT*FROM成绩表WHERE成绩>(SELECTAvg(成绩)FROM成绩表)”的功能是。
查询成绩表中所有成绩大于平均成绩的记录
(10)采用操作时,查询结果中包括连接表中的所有数据行。
外连接
第5章习题解答
1.选择题
(1)为数据表创建索引的目的是_______。
A.提高查询的检索性能B.节省存储空间
C.便于管理D.归类
(2)索引是对数据库表中_______字段的值进行排序。
A.一个B.多个C.一个或多个D.零个
(3)下列_______类数据不适合创建索引。
A.经常被查询搜索的列B.主键的列
C.包含太多NULL值的列D.表很大
(4)有表student(学号,姓名,性别,身份证号,出生日期,所在系号),在此表上使用_______语句能创建建视图vst。
A.CREATEVIEWvstASSELECT*FROMstudent
B.CREATEVIEWvstONSELECT*FROMstudent
C.CREATEVIEWASSELECT*FROMstudent
D.CREATETABLEvstASSELECT*FROMstudent
(5)下列_______属性不适合建立索引。
A.经常出现在GROUPBY字句中的属性B.经常参与连接操作的属性
C.经常出现在WHERE字句中的属性D.经常需要进行更新操作的属性
(6)下面关于索引的描述不正确的是_______。
A.索引是一个指向表中数据的指针
B.索引是在元组上建立的一种数据库对象
C.索引的建立和删除对表中的数据毫无影响
D.表被删除时将同时删除在其上建立的索引
(7)SQL的视图是_______中导出的。
A.基本表B.视图C.基本表或视图D.数据库
(8)在视图上不能完成的操作是_______。
A.更新视图数据B.查询
C.在视图上定义新的基本表D.在视图上定义新视图
(9)关于数据库视图,下列说法正确的是_______。
A.视图可以提高数据的操作性能
B.定义视图的语句可以是任何数据操作语句
C.视图可以提供一定程度的数据独立性
D.视图的数据一般是物理存储的
(10)在下列关于视图的叙述中,正确的是_______。
A.当某一视图被删除后,由该视图导出的其他视图也将被自动删除
B.若导出某视图的基本表被删除了,该视图不受任何影响
C.视图一旦建立,就不能被删除
D.当修改某一视图时,导出该视图的基本表也随之被修改
2.填空题
(1)聚集索引确定表中的物理_____顺序,表中的物理行会按照索引字段进行重新调整。
(2)由于一个表中的数据只能按照一种顺序来存储,所以一个表中只能创建一个聚集索引。
(3)主键索引是唯一索引的特殊类型。
(4)一个表可以建立多个唯一索引。
(5)视图是一个虚拟表,并不包含任何的物理数据。
(6)不能基于临时表建立视图,由SELECTINTO语句可建立临时表,在CREATEVIEW语句中不能使用INTO关键字。
(7)定义视图的筛选可以来自当前或其他数据库的一个或多个表,或者其他视图。
(8)删除视图后,表和视图所基于的数据并不受影响。
(9)视图的信息存放在系统表中,可以使用查询语句或系统存储过程进行查询。
(10)由于视图实际上并不存储记录,因此更新视图的操作最终都转化为对基表的更新操作。
第6章习题解答
1.选择题
(1)(C)允许用户定义一组操作,这些操作通过对指定的表进行删除、插入和更新命令来执行或触发。
A.存储过程B.视图C.触发器D.索引
(2)SQLServer为每个触发器创建了两个临时表,它们是(B)。
A.Updated和DeletedB.Inserted和Deleted
C.Inserted和UpdatedD.Seleted和Inserted
(3)SQLServer中存储过程由一组预先定义并被(C)的Transact-SQL语句组成。
A.编写B.解释C.编译D.保存
(4)下列可以查看表的行数以及表使用的存储空间信息的系统存储过程是(A)。
A.sq_spaceusedB.sq_dependsC.sq_helpD.sq_rename
(5)以下语句创建的触发器ABC是当对表T进行__D_____操作时触发。
CREATETRIGGERABCON表TFORINSERT, UPDATE, DELETE
AS
……
A