数据库复习题

更新时间:2024-05-27 13:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第1、2章 数据库技术基础知识 一、 单选题

1. 以下的英文缩写中表示数据库管理系统的是( )。 A.DB B.DBMS C.DBA D.DBS

2. 数据库管理系统、操作系统、应用软件的层次关系从核心到外围分别是( )。

A. 数据库管理系统、操作系统、应用软件 B. 操作系统、数据库管理系统、应用软件 C. 数据库管理系统、应用软件、操作系统 D. 操作系统、应用软件、数据库管理系统 3. DBMS是( )。

A. 操作系统的一部分 B.一种编译程序

C.在操作系统支持下的系统软件 D.应用程序系统 4. 数据库系统提供给用户的接口是( )。

A.数据库语言 B.过程化语言 C.宿主语言 D.面向对象语言

5. ( )是按照一定的数据模型组织的,长期存储在计算机内,可为多个用户共享的数据的聚集。

A.数据库系统 B.数据库 C.关系数据库 D.数据库管理系统 6. ( )处于数据库系统的核心位置。

A.数据模型 B.数据库 C.数据库管理系统 D.数据库管理员 7. ( )是数据库系统的基础。

A.数据模型 B.数据库 C.数据库管理系统 D.数据库管理员 8. ( )是数据库中全部数据的逻辑结构和特征的描述。

A.模式 B.外模式 C.内模式 D.存储模式 9. ( )是数据库物理结构和存储方式的描述。

A.模式 B.外模式 C.内模式 D.概念模式 10. ( )是用户可以看见和使用的局部数据的逻辑结构和特征的描述

A.模式 B.外模式 C.内模式 D.概念模式 11. 有了模式/内模式映像,可以保证数据和应用程序之间( )。

A.逻辑独立性 B.物理独立性 C.数据一致性 D.数据安全性 12. 数据库系统3层结构的描述存放在( )中。

A.数据库 B.运行日志 C.数据库管理系统 D.数据字典

13. 数据管理技术发展阶段中,文件系统阶段与数据库系统阶段的主要区别之一是数据库系统( )。

A.有专门的软件对数据进行管理 B.采用一定的数据模型组织数据 C.数据可长期保存 D.数据可共享

14. 关系数据模型通常由3部分组成,它们是( )。

A. 数据结构、数据通信、关系操作 B. 数据结构、关系操作、完整性约束 C. 数据通信、关系操作、完整性约束 D. 数据结构、数据通信、完整性约束 15. 用户可以使用DML对数据库中的数据进行( )操纵。

A.查询和更新 B.查询和删除 C.查询和修改 D.插入和修改 16. 要想成功地运转数据库,就要在数据处理部门配备( )。

A.部门经理 B.数据库管理员 C.应用程序员 D.系统设计员 17. 下列说法不正确的是( )。

A.数据库避免了一切数据重复 B.数据库减少了数据冗余

C.数据库数据可为经DBA认可的用户共享 D.控制冗余可确保数据的一致性 18. 所谓概念模型,指的是( )。

A.客观存在的事物及其相互联系 B.将信息世界中的信息数据化

C.实体模型在计算机中的数据化表示 D.现实世界到机器世界的一个中间层次,即信息世界

19. 数据库的概念模型独立于( )。

A.具体的机器和DBMS B.E-R图 C.数据维护 D.数据库 20. 在概念模型中,将实体所具有的某一特性称为( )。

A.外码 B.候选码 C.属性 D.实体型 21. 在数据库技术中,实体-联系模型是一种( )。

A. 逻辑数据模型 B. 物理数据模型 C. 结构数据模型 D. 概念数据模型 22. E-R方法的三要素是( )。

A.实体、属性、实体集 B.实体、键、联系 C.实体、属性、联系 D. 实体、域、候选键

23. 用二维表结构表示实体以及实体间联系的数据模型为( )。

A.网状模型 B.层次模型 C.关系模型 D.面向对象模型 24. 一个学生可以同时借阅多本图书,一本图书只能由一个学生借阅,学生和书之间为( )的联系。

A.一对一 B.一对多 C.多对多 D.多对一 25. 一个仓库可以存放多种零件,每种零件可以存放在不同的仓库中,仓库和零件之间为( )的联系

A.一对一 B.一对多 C.多对多 D.多对一 26. E-R图中的联系可以与( )实体有关。

A.0个 B.1个 C.一个或多个 D.多个 27.用E/R图表示学生选课,图中正确的是( )。

27.用E/R图表示学生选课,图中正确的是( )。

28. 在关系数据库设计中,设计关系模式是( )的任务。

A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 29. 下列关于数据库运行和维护的叙述中,( )是正确的。

A.只要数据库正式投入运行,标志着数据库设计工作的结束。 B.数据库的维护工作就是维护数据库系统的正常运行。 C.数据库的维护工作就是发现错误,修改错误。

D.数据库正式投入运行标志着数据库运行和维护工作的开始。 二、多选题

1.下述关于数据库系统的叙述中错误的是( )。 A. 数据库系统减少了数据冗余 B. 数据库系统避免了一切冗余

C. 数据库系统中数据的一致性是指数据类型一致 D. 数据库系统比文件系统能管理更多的数据

2.要满足基本应用,一个数据库系统通常应提供给用户使用的基本语言有( )。

A.数据描述语言(DDL) B.数据操纵语言(DML) C.自含语言 D.宿主语言 3.数据冗余所导致的问题主要是( )。

A.浪费存储空间 B.数据独立性差 C.潜在的数据不一致性 D.数据修改麻烦 4.数据库系统提供的数据控制功能主要包括( )。 A.数据安全性控制 B.数据完整性控制 C.数据库恢复 D.并发控制

5.数据操纵语言(DML)的使用方式有( )。

A.过程式 B.非过程式 C.自含式 D.宿主式

6.数据库管理系统(DBMS)提供数据操纵语言(DML)实现对数据库数据的操纵,其中数据更新操作包括( )。

A.插入 B.删除 C.检索 D.修改 7.数据库系统的组成一般包括( )。

A.数据库 B.支持数据库运行的软件 C.支持数据库运行的硬件 D.数据库管理员

8.数据库管理系统(DBMS)的主要功能有( )。

A.数据库定义功能 B.数据库操纵功能 C.数据库保护功能 D.数据库存储管理 E.数据库维护功能 F.数据字典 9.可直接表示现实世界实体间多对多联系的数据模型有( )。

A.层次模型 B.网状模型 C.关系模型 D.E-R模型 10.数据管理技术随着计算机技术的发展而发展,一般可分为( )。

A.人工管理阶段 B.文件系统阶段 C.数据库系统阶段 D.面向对象阶段 11.E-R模型的基本成分包括( )。

A.实体 B.属性 C.实体联系 D.键 12.下列不属于概念模型的是( )。

A.逻辑模型 B.物理模型 C.实体联系模型 D.面向对象模型 13.数据模型应具有( )。

A.数据查询功能 B.数据更新功能 C.数据描述功能 D.数据联系描述功能

14.DBMS由( )组成。

A.查询处理器 B.事务管理器 C.存储管理器 D.文件管理器 15.DBMS对数据库的维护功能主要通过( )实用程序实现。

A.数据装载程序 B.备份程序 C.文件重组织程序 D.性能监控程序 16.DBS的用户有( )。

A.DBA B.系统分析员 C.应用程序员 D.最终用户 三、 填空题

1. 数据是信息的符号表示或称载体;信息是数据的内涵,是数据的语义解释。例如“世界人口已达到20亿”,这是( ) 。

2. 数据库领域中,常用的数据模型有( ) 、网状模型和( ) 。

3. 关系数据库是采用( ) 作为数据的组织方式。

4. 数据库系统结构由三级模式和二级映射所组成,三级模式是指( ),二级映射是指( ) 。

5. 有了外模式/模式映像,可以保证数据和应用程序之间的( ) 。 6. 有了模式/内模式映像,可以保证数据和应用程序之间的( ) 。

7. 当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的( ) 。

8. 联系既可以存在不同的实体之间,还可以在( ) 存在。 四、 判断题

1.数据库系统的核心是数据库管理系统。( ) 2.对数据库的操作要求以运行日志为依据。( )

3.有了外模式/模式映像,可以保证数据和应用程序之间的物理独立性。( ) 4.数据结构描述的是系统的静态特性。( )

5.执行查询语句时,DBMS从数据字典中调出相应的模式描述,并从外模式映像到模式,从而确定所需要的物理数据。( ) 五、 简答题

1. 数据管理技术的发展经历了哪几个阶段?各阶段与计算机技术的发展有何关系? 2. 数据库系统由哪几部分组成?

3. 什么是数据库设计?数据库设计过程包括哪些阶段?各阶段的主要任务是什么? 4. 有一局部应用,包括两个实体:“出版社”和“作者”。一位作者可以到多家出版社出版自己不同的图书,一家出版社也可以出版多位作者的图书,请读者自己设计适当的属性,画出E-R图。

5. 有一局部应用,只有一个实体:“学生”。其中班长是学生中的一员,普通学生又受班长的管理,请读者自己设计适当的属性,画出E-R图。 第1、2章 答案 一、 单选题

1.B 2.B 3.C 4.A 5.B 6.B 7.A 8.A 9.C 10.B 11.B 12.D 13.B 14.B 15.A 16.B 17.A 18.D 19.A 20.C

21.D 22.C 23.C 24.B 25.C 26.C 27.C 28.C 29.D 二、多选题

1.ABCD 2.BC 3.ACD 4.ABCD 5.ABD 6.ABC 7.ABD 8.ABCD 9.ABD 10.ACD 11.ABC 12.ABC 三、填空题 1.信息

2.层次模型 关系模型 3.关系数据模型

4.内模式、模式和外模式 模式/内模式映射和外模式/模式映射 5.逻辑独立性 6.物理独立性 7.物理独立性 8.同一实体内 四、判断题

1.对 2.错 3.错 4.对 5.错 五、 简答题

第3章

一、单选题

关系数据库标准语

1. SQL语言是( )标准语言。

A. 层次数据库 B.网络数据库 C.关系数据库 D.非数据库 2. SQL语言是( )的语言,易学习。

A. 过程化 B.非过程化 C.格式化 D.导航化 3. 以下关于SQL语句的书写准则中不正确的是( )。 A. SQL语句对大小写敏感,关键字需要采用大写形式 B. SQL语句可写成一行或多行,习惯上每个子句占用一行 C. 关键字不能在行与行之间分开,并且很少采用缩写形式 D. SQL语句的结束符为分号“;”

4. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE和DELETE等。其中最重要的也是使用最频繁的语句是( )。

A.SELECT B.INSERT C.UPDATE D.DELETE 5. 下列关于基本表的叙述中,错误的是( )。 A.在SQL中一个关系对应一个基本表 B. 表一个基本表对应一个存储文件

C.一个基本表只能有一个索引,索引也存放在存储文件中

D. 基本表是独立存储在数据库中的但一个存储文件中只能存放一个基本表 6. 一般来说,以下情况的列不适合建立索引( )。 A. 经常被查询的列 B. ORDER BY子句中使用的列。 C. 是外键或主键的列 D. 包含许多重复值的列 7. 定义基本表时,若要求某一列的值是唯一的,则应在定义时使用( )保留字,但如果该列是主键,则可省写。

A.NULL B.NOT NULL C.DISTINCT D.UNIQUE

8. 在SQL语句中,可以用来实现关系代数中π运算功能的是( )语句。 A. SELECT B.ALTER C.DELETE D.DROP 9. 在SELECT语句中,与关系代数中σ运算符对应的是( )子句。 A. SELECT B.FROM C.WHERE D.GROUP BY

10. 使用SQL语句进行查询操作时,若希望查询结果中不出现重复元组,应在SELECT子句中使用( )保留字。

A. UNIQUE B.ALL C.EXCEPT D.DISTINCT 11. 在以下SELECT 语句的子句中,放在最后的应该是( )子句。 A.GROUP BY B.HAVING C.WHERE D.ORDER BY 12. 与HAVING子句一起使用的子句是( )。

A.GROUP BY B.ORDER BY C.WHERE D.JOIN 13. FOREIGN KEY约束是( )约束。

A.实体完整性 B.参照完整性 C.用户自定义完整性 D.域完整性

14. 若要修改基本表中某一列的数据类型,需要使用ALTER语句中的( )子句。

A. DELETE B. DROP C. MODIFY D. ADD 15. 向基本表中增加一个新列后,原有元组在该列上的值是( )。

A.TRUE B.FALSE C.空值 D.不确定 16. 当FROM子句中出现多个基本表或视图时,系统将执行( )操作。

A. 并 B.等值连接 C.自然联结 D.广义笛卡儿积

17. 视图创建完成后,数据字典中存放的是( )

A. 查询语句 B.查询结果 C.视图的定义 D.所引用的基本表的定义

18. 查询中需要统计元组的个数时,应使用( )函数。

A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名)

19. 查询中需要统计某列中值的个数应使用( )函数。

A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名)

20. 两个子查询的结果( )时,可以执行并、交、差操作。 A.结构完全一致 B.结构完全不一致 C.结构部分一致在 D.主码一致

21. 若用如下的SQL语句创建一个student表: CREATE TABLE student( NO CHAR(4) NOT NULL, NAME CHAR(8) NOT NULL, SEX CHAR(2), AGE SMALLINT );

可以插入到student表中的是( )。

A.('1031','曾华',男,23) B.('1031','曾华',NULL,NULL) C.(NULL,'曾华','男',23) D.('1031',NULL,'男',23) 第22题到第24题基于这样的3个表即学生表S、课程表C和学生选课表SC,它们的结构如下:

S(S#,SN,SEX,AGE,DEPT) C(C#,CN)

SC(S#,C#,GRADE)

其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩

22. 检索学生姓名及其所选修课程的课程号和成绩,正确的SELECT语句是( )。 A. SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S#; B. SELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.GRADE; C. SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S#;

D. SELECT S.SN,SC.C#,SC.GRADE FROM S,SC;

23. 检索选修课程“C2”的男生中的最高成绩,正确的SELECT语句是( )。 A. SELECT MAX(GRADE) FROM SC

WHERE CN='C2’ AND SEX='男'; B. SELECT MAX(GRADE) FROM SC,C,S WHERE CN=‘C2‘ AND SEX=’男‘; C. SELECT MAX(GRADE) FROM SC,S

WHERE SC.C#=C.C# AND CN=’C2‘ AND SEX=’男‘; D. SELECT MAX(GRADE) FROM SC,C,S

WHERE SC.C#=C.C# AND SC.S#=S.S# AND CN='C2' AND SEX='男'; 24. 检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是( )。 A. SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4 B. SELECT S#,SUM(GRADE) FROM SC

WHERE GRADE>=60 GROUP BY S#

HAVING COUNT(*)>=4 ORDER BY 2 DESC

C. SELECT S#,SUM(GRADE) FROM SC

WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S# ORDER BY 2 DESC

D. SELECT S#,SUM(GRADE) FROM SC

WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S#

HAVING COUNT(*)>=4 二、多选题

1. SQL具有( )功能。

A.关系规范化 B.数据定义 C.数据操纵 D.数据控制 2. SQL语言的使用方法有( )。

A.交互式SQL B.解释式SQL C.嵌入式SQL D.多用户SQL 3. 下列命令中属于SQL语言中数据定义功能的语句有( )。 A. CREATE B. SELECT C. DROP D. ALTER 4. 在SQL语言中可以用来表示“1010 AND x<15 B. x BETWEEN 10 AND 15 C. x IN (11,12,13,14) D. x BETWEEN 11 AND 14

5. 使用聚合函数进行统计时,忽略空值的有( )。

A.SUM B.MAX C.COUNT D.AVG 6. 在SELECT语句的FROM子句中允许出现( )。

A. 列名 B.基本表名 C.视图名 D.表达式 7. 某查询语句中有“%田_ _”语句,在查询结果中有可能含有( )。 A.张田 B.陈力田 C.田华 D.刘田耕 8. 在CREATE TABLE语句中实现完整性约束的子句有( )。

A.NOT NULL B.PRIMARY KEY C.FOREIGN KEY D.CHECK 9. 已知基本表S对应的关系模式为(S#,SNAME,AGE),在下列SELECT的子句中,正确的是( )。

A.SELECT S#,AVG(AGE) B.SELECT DISTINCT AGE C.SELECT SNAME 姓名 D.SELECT AGE>20

10. 对于下列语句TeacherNo INT NOT NULL UNIQUE,正确的描述是( )。 A. TeacherNo是主码 B. TeacherNo不能为空

C. TeacherNo的值可以是“王大力” D. 每一个TeacherNo必须是惟一的

三、填空题

1. 在SQL语言中,创建基本表应使用( ) 语句,创建视图应使用( ) 语句,创建索引应使用( ) 语句。

2. 在SQL语言中,DELETE命令用来删除表中的记录, ( )命令用来删除表。UPDATE命令用来更新表的记录值, ( )语句用来更新表结构。 3. 使用INSERT语句插入记录时,有两种形式:一是使用VALUES子句,一次只能插入一行;另一种是使用( ) ,一次可插入多行。

4. 在SQL中定义视图时,需要用关键字( ) 连接子查询来完成。 5. 设有如下关系模式R、S和T: R(BH,XM,XB,DWH) S(DWH,DWM)

T(BH,XM,XB,DWH)

(1) 实现R∪T的SQL语句是: 。 (2) 实现

σ

DWH=‘100’(R)的SQL语句是: 。

(3) 实现 ΠXM,XB(R)的SQL语句是: 。

(4) 实现 ΠXM,DWH( σXB='女'(R)) 的SQL语句是 :。 (5) 实现R×S的SQL语句是: 。

(6) 实现 ΠXM,XB,DWM( σXB='男'(R∞ S))的SQL语句是: 。 6. 有如下关系表R:

R(NO,NAME,SEX,AGE,CLASS) 主码是NO

其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。

(1) 插入一个记录(25,"李明",21,NULL,"95031"); 。 (2) 将学号为10的学生姓名改为"王华"; 。 (3) 删除姓"王"的学生记录; 。

(4) 在表中增加一列DEPT,类型为CHAR(10)。 (5) 将全体学生的年龄增加一岁。 四、判断题

1.原则上讲,两个不同的对象所具有的属性值不能相同,但在给定的关系中的元组可以是完全相同的。( )

2.在关系模型中每个元组的分量不能是结构、集合、数组等复合类型。( ) 3.学生李明同时修财经和电子商务的双学位、有如下关系:

StudentNo 20001101 20001101 StudentName 李明 李明 Age Dept 18 财经系 18 财经系 在该关系中,学号是键码。( )

4.在R和S关系之间进行并、交、差运算,R和S的模式必须具有:相同的属性集,属性顺序相同。( )

5.对于联系与反向联系,常用的方法是将其独立出来作为连接关系。( )

6.数据逻辑中的查询是一个或多个规则的聚集。如果规则的头部有多个关系,则只有一个关系是查询结果,其他关系在查询过程中起辅助作用。( ) 五、简答题

1.举例说明关系参照完整性的含义。

2.叙述等值连接与自然连接的区别和联系。 3.设有如图所示的关系R,S,计算 (1) R1=R-S (2) R2=R∪S (3) R3=R∩S (4) R4= ííA,B(σ

B=b1 (R))

R S

A B a1 b1 a1 b2 a2 b2 C c1 c2 c1 A B C a1 b2 b2 a2 b2 c1 4.设有如图所示的三个关系S、C和SC。将下列关系代数表达式用汉语表示出来,并求其结

果。 S C

学号 姓名 年龄 性别 籍贯 98601 王晓燕 20 女 北京 98602 李波 23 男 上海 课程号 课程名 教师姓名 办公室 C601 高等数学 周振兴 416 C602 数据结构 刘建平 415 98603 陈志坚 21 98604 张兵 20 98605 张兵 22 男 长沙 男 上海 女 武汉 C603 C604 操作系统 刘建平 编译原理 王志伟 415 415 SC

学号 98601 98601 98601 98601 98602 98603 98603 98603 98604 98604 98605 98605 课程号 成绩 C601 90 C602 90 C603 85 C604 87 C601 90 C601 75 C602 70 C604 56 C601 90 C604 85 C601 95 C603 80

5.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句: S C SC

S# 1 2 5 2 5 5 C# k1 k1 k1 k5 k5 k8 S# SNAME AGE SEX 1 李强 23 男 2 刘丽 22 女 5 张友 22 男 C# k1 k5 k8 CNAME TEACHER C语言 王华 数据库原理 程军 编译原理 程军 GRADE 83 85 92 90 84 80 (1).检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。 (2).检索年龄大于21的男学生学号(S#)和姓名(SNAME)。

(3).检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。 (4).检索”李强”同学不学课程的课程号(C#)。 (5).检索至少选修两门课程的课程号(S#)。

(6).检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。 (7).检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。 (8).检索选修课程号为k1和k5的学生学号(S#)。 (9).检索选修全部课程的学生姓名(SNAME)。

(10).检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。 (11).检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。 第二部分 答案: 一、单选题

1.D 2.C 3.A 4.B 5.A 6.C 7.C 8.B 9.D 10.B 11.B 12.C 13.A 14.B 15.D 16.C 17.A 18.①D ②C 19.C 20.D 21.①B ②C ③D 22.D 23.C 二、多选题

1.BC 2.AD 3.ABD 4.BCD 5.ABC 6.BCD 7.CD 8.ACD 9.ABC 10.ABD 11.BD 12.BC 13.ABC 14.ACD 15.ABC 16.ABCD 17.AB 三、填空题

1.集合 2.关系名(属性名1,属性名2,?,属性名n) 3.属性名 4.①框架 ②记录格式 5.①笛卡儿积 ②并 ③交 ④差 6.①并 ②差 ③笛卡儿积 ④投影 ⑤选择 7.①选择 ②投影 ③连接 8.①关系代数 ②关系演算 9.①属性个数 ②相对应的属性值 10.交 11.①系编号 ②无 ③学号 ④系编号 四、判断题

1.错 2.对 3.错 4.对 5.对 6.对 五、简答题

1.答:假设有如下所示的两个关系表,在成绩表中,学号是关键字,课程号是外关键字;在课程表中课程号是关键字.根据关系参照完整性的规则,成绩表中课程号的值或者为空或者在课程表中的课程号中能够找到. 成绩

表 课程表

学号 101 102 103 姓名 刘军 王丽 章华 课程号 成绩 K5 80 K8 75 K9 92 课程号 课程名 K5 高等数学 K8 C语言 K9 计算机网络 满足这个条件是必须的,如果不满足,假设成绩表中课程号的值K20在课程表中课程号的值中找不到,则该课程号显然是不正确的,这样会造成数据的不一致性. 2.答:等值连接表示为R S,自然连接表示为R S;自然连接是除去重复属性的等值

连接.两者之间的区别和联系如下:

·自然连接一定是等值连接,但等值连接不一定是自然连接.

·等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性.

·等值连接不把重复的属性除去;而自然连接要把重复的属性除去. 3.答:本题各小题的结果如图所示:

R1 R2 R3 R4

A a1 a1 a2 a1 A B C a1 b1 c1 B b1 b2 b2 b3 C c1 c2 c1 c2 A B C a1 b2 c2 a2 b2 c1 A a1 a2 B b1 b2 4.答:(1).检索籍贯为上海的学生的姓名、学号和选修的课程号,其结果为下图的R1.

(2).检索选修操作系统的学生姓名、课程号和成绩,其结果为下图的R2.

R1 R2

姓名 学号 课程号 姓名 课程号 成绩 李波 98602 C601 王晓燕 C603 85 张兵 98604 C601 张兵 C603 80 张兵 98604 C604 6.答:本题各个查询语句对应的关系代数表达式表示如下:

第4章 SQL Server 2000基本知识 一、 填空题

1. SQL Server 2000包含( ) ( )、 和( ) 三大部件。其中( ) 部件是最重要的。

2. SQL Server服务可以在两种账号下启动:本地账号或域账号。如果需要在服务器之间进行数据复制,必须在( ) 下启动SQL Server服务。

3. SQL Server 2000支持两种登录验证模式:Windows身份验证模式、混合模式。如果用户选择( ) 的验证模式,则需要设置sa用户的口令。 4. 安装SQL Server 2000之后,系统将创建6个数据库:master、model、msdb、tempdb、pubs、Northwind。其中( ) 为系统数据库。 5. SQL Server2000常用的管理器中:

( )是用于管理SQL Server对象的方便而实用的图形化工具,它是SQL Server工具中最重要的一个,通过它可以对SQL Server数据库进行管理和操作。

( )是一个可以交互执行SQL语句和脚本的图形工具,它的主要功能是编辑、编译和执行T-SQL语句,并显示命令结果。

( )用于监视与分析SQL Server 活动、SQL Server服务器的网络进出流量或发生在SQL Server上的事件。 二、 简答题

1. 简述SQL Server 2000的特点。

2. SQL Server 2000有几种安装版本,简述各版本的功能。 3. 简述SQL Server 2000客户/服务器的体系结构特点。 4. 服务器注册的含义是什么? 第4章答案: 一、 填空题

1.数据库服务器 联机分析服务 查询部件 数据库服务器部件 2.域账号 3.混合模式

4.master、model、msdb、tempdb 5.企业管理器 查询分析器 事件探查器 二、 简答题 略

第5章 SQL Server2000基本操作与应用 一、单选题

1. 下列关于数据库、文件和文件组的描述中,错误的是( )。

A.一个文件或文件组只能用于一个数据库 B.一个文件可以属于多个文件组

C.一个文件组可以包含多个文件 D.数据文件和日志文件放在同一个组中 2. 下列关于数据文件与日志文件的描述中,正确的是( )。

A.一个数据库必须有三个文件组成:主数据文件、次数据文件和日志文件 B.一个数据库可以有多个主数据库文件

C.一个数据库可以有多个次数据库文件 D.一个数据库只能有一个日志文件 3. SQL Sever数据库保存了所有系统数据和用户数据,这些数据被组织成不同类型的数据库对象,以下不属于数据库对象的是( )。

A.表 B.视图 C.索引 D.规则

4. SQL Server支持4个系统数据库,其中用来保存SQL Server系统登录信息和系统配置的( )数据库。

A.master B.tempdb C.model D.msdb

5. 在Transact-SQL中,使用INSERT命令添加数据,若需要添加一批数据应使用( )语句。 A.INSERT?VALUES B.INSERT?SELECT C.INSERT?DEFAULT D.A B C均可 二、多选题

1. 可以使用视图来更新基本表,但当( )时,更新基本表操作失败。 A.视图的列包含来自多个表的列 B.视图的列是从集合函数派生的

C.视图定义中的SElECT命令包含DISTINCT选项 D.视图的列是从常量或表达式派生的

2. 以下有关索引的描述中正确的是( )。

A.聚簇索引的顺序与数据行存放的物理顺序相同

B.若表中没有创建其他的聚簇索引,则在表的主键列上自动创建聚簇索引 C.当一个表创建了多个聚簇索引时,同一时刻只有一个聚簇索引起作用 D.一个表可以有多个非聚簇索引

3. 在以下各类约束的描述中正确的是( )。

A.UNQIUE约束上的列中允许存在空值 B.可以在“值为NULL”的列上建立主键约束 C.UNQIUE约束和NO NULL约束一起使用可以替代主键约束 D.CHECK约束是一种用户自定义的约束 三、填空题

1. SQL Server 2000提供了三种创建数据库的方法:使用企业管理器创建数据库、使用Transact-SQL语句创建数据库和使用( ) 。 2. 在数据库中,表的名称应该体现数据库、用户和表名三方面的信息。但是当( ) 时候,用户只需简单地用表名来引用表。

3. 使用ALTER TABLE 语句可以实现对表结构的修改操作。向表中添加列需要使用ALTER TABLE的ADD子句,删除列需要使用( ) 子句。使用ALTER TABLE语句还可以向一个已经存在的表添加约束或删除约束,向表中添约束需要使用( ) 子句,删除约束使用( ) 子句。

4. 向已存在的表的某一列或某几列添加主键约束,表中已有的数据在这几列上需要满足两个条件:( ) 和( ) 。

5. 若表A被表B通过FOREIGN KEY约束引用,此时要删除表A,必须( ) 。 四、简答题

1. 设要建立“学生选课”数据库,库中包括学生、课程和选课3个表,其表结构为: 学生(学号,姓名,性别,年龄,所在系) 课程(课程号,课程名,先行课) 选课(学号,课程号,成绩) 用T-SQL完成下列操作:

(1) 建立“学生选课”数据库。 (2) 建立学生、课程和选课表。

(3) 建立各表以主码为索引项的索引。 (4) 建立性别只能为“男”、“女”的规则,性别为“男”的默认。 2. 简述索引的作用。

3. 视图与表有何不同?与查询有何不同? 第5章答案: 一、单选题

1.B 2.C 3.C 4.A 5.B 二、多选题

1.ABCD 2.ABD 3.ACD 三、填空题 1.向量

2.用户正在使用某个数据库

3.DROP COLUMN ADD CONSTRAINT DROP CONSTRAINT 4.没有重复值 没有空值

5.在表B中删除该FOREIGN KEY约束 四、简答题 1.(1) CREATE DATABASE [学生选课] ON

( NAME='学生选课_Data', FILENAME='D:\\data\\学生选课_Data.MDF', SIZE=5, MAXSIZE=100, FILEGROWTH=15%)

LOG ON

( NAME='学生选课_Log', FILENAME='E:\\ data\\学生选课_Log.LDF', SIZE=5, MAXSIZE=200, FILEGROWTH=5) (2) CREATE TABLE dbo.学生( 学号 char(4), 姓名 char(8), 性别 char(2), 年龄 int,

所在系 char (20),

PRIMARY KEY(学号) )

课程和选课表略

(3) ALTER TABLE dbo.学生 ADD

CONSTRAINT S1 PRIMARY KEY CLUSTERED; 课程和选课表的索引略

(4) ALTER TABLE dbo.学生 ADD

CONSTRAINT S2 DEFAULT('男') FOR 性别,

CONSTRAINT S3 CHECK(性别='男' or 性别='女') 2.略 3.略

第6章 SQL Server 2000 的数据查询 一、 单选题

1. SQL Server提供了4种通配符,?、%、[]、和^。若要表示一个4位的字符串,该字符串以T开头,后四位是1到5的数字,正确的表示方法是( )。 A.'T????' B.'T%' C.'T[1-5][1-5][1-5][1-5]' D.'T[12345][12345][12345][12345]' 2. 在Transact-SQL中,查询时将student表的bh列标题命名为“编号”的正确操作是( )。 A.SELECT bh 编号 B. SELECT 编号 bh FROM student FROM student

C.SELECT bh=编号 D. SELECT bh AS 编号 FROM student FROM student

第3题到第6题基于这样的3个表即学生表S、课程表C和学生选课表SC,它们的结构如下:

S(S#,SN,SEX,AGE,DEPT) C(C#,CN)

SC(S#,C#,GRADE)

其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE成绩

3. 查询所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是( )。 A. SELECT SN,AGE,SEX FROM S

WHERE AGE>(SELECT AGE FROM S WHERE SN='王华') B. SELECT SN,AGE,SEX FROM S WHERE AGE>ANY

( SELECT AGE FROM S WHERE SN='王华') C. SELECT SN,AGE,SEX FROM S

WHERE AGE>ALL

( SELECT AGE FROM S WHERE SN='王华') D. SELECT SN,AGE,SEX FROM S WHERE AGE>SOME

( SELECT AGE FROM S WHERE SN='王华') 4. 查询选修了课程号为“C2”的学生中成绩最高的学生的学号,正确的SELECT语句是( )。 A. SELECT S# FROM SC WHERE C#='C2' AND GRADE>=ALL ( SELECT GRADE FROM SC WHERE C#='C2') B. SELECT S# FROM SC WHERE C#='C2' AND GRADE IN

( SELECT MAX(GRADE) FROM SC WHERE C#='C2') C. SELECT S# FROM SC WHERE C#='C2' AND GRADE=

( SELECT MAX(GRADE) FROM SC WHERE C#='C2') D. SELECT S# FROM SC WHERE C#='C2' AND GRADE>=ANY ( SELECT GRADE FROM SC WHERE C#='C2') 5. 查询至少选修了两门课程的学生的姓名,正确的SELECT语句是( )。 A. SELECT S.SN FROM S JOIN SC ON S.S#=SC.S# GROUP BY S.S# HAVING COUNT(*)>=2 B. SELECT S.SN FROM S WHERE EXISTS

( SELECT S# FROM SC GROUP BY S#

HAVING COUNT(*)>2)

C. SELECT S.SN FROM S JOIN SC S1 ON S.S#=SC.S# JOIN SC S2 ON S1.S#=S2.S# WHERE S1.C#!=S2.C#

D. SELECT S.SN FROM S WHERE S# IN ( SELECT S# FROM SC GROUP BY S#

HAVING COUNT(*)>2)

6. 查询所有没有被学生选过的课程的名称,正确的SELECT语句是( )。

A. SELECT C.CN FROM C JOIN SC ON SC.C#=C.C# WHERE C.C# IS NULL

B. SELECT C.CN FROM C LEFT JOIN SC ON SC.C#=C.C# WHERE SC.C# IS NULL C. SELECT C.CN FROM SC LEFT JOIN C ON SC.C#=C.C# WHERE SC.C# IS NULL D. SELECT C.CN FROM SC RIGHT JOIN C ON SC.C#=C.C# WHERE SC.C# IS NULL

二、填空题

1. SQL Server 2000 使用了( ) 关键字,用于查询时只显示前面几行数据。

2. Transact-SQL提供了连接操作符( ) ,用于从两张或多张数据表的连接中获取数据。 3. Transact-SQL允许用户使用SELECT语句查询得到的结果记录来创建一个新数据表,创建新表使用 子句。

4. 在SELECT语句中若要使用WITH TIES选项,要则一定使用 子句。

5. 外连接包括左外连接、右外连接和全外连接。使用 外连接返回的查询结果集不仅包含符合连接条件的所有数据行,还包含相应表中的不符合连接条件的左表的数据行。使用 外连接返回的查询结果集不仅包含符合连接条件的所有数据行,还包含相应表中的不符合连接条件的右表的数据行。

三、 简答题

1. 如果想在一个查询中连接多个表(假设是N个),共需要几个连接条件? 2. 简述多重查询的实现过程。

3. 在SQL Server 2000查询分析器中书写命令对MyDB数据库完成以下操作: (1) 查询借阅了作者为“张大海”的图书的读者编号和图书编号。

(2) 查询所借的书名中包含“C语言”这三个中文字的读者的读者编号和借阅日期。 (3) 查询借阅日期与至少一位读者借阅日期相同的所有读者编号和姓名。

(4) 查询所有研究生借阅图书的情况,包括姓名、已借数量、所借书名、借期还期。 (5) 查询“蓝天出版社”出版的图书借阅情况,包括读者编号、借期、还期。用连接查询和子查询两种方法实现。

(6) 查询没有借阅“青山出版社”图书的读者编号。 第6章答案 一、多选题

1.CD 2.AD 3.AC 4.ABC 5.ACD 6.BD 二、填空题

1.TOP 2.JOIN 3.INTO 4.ORDER BY 5.左 右 四、简答题 1. 略 2. 略

3. (1)SELECT 读者编号,图书编号 FROM borrowinf JOIN books ON borrowinf.图书编号=books.编号 WHERE 作者=‘张大海’

(2)SELECT 读者编号,借期 FROM borrowinf JOIN books ON borrowinf.图书编号=books.编号

WHERE 书名 LIKE ‘%C语言%’

(3)SELECT 读者编号,姓名 FROM readers JOIN

borrowinf b1 ON b1.读者编号=readers.编号 JOIN borrowinf b2 ON b2.借期=b1.借期

WHERE b1.读者编号<>b2.读者编号

(4)SELECT 姓名,已借数量,书名,借期,还期 FROM readers JOIN borrowinf ON borrowinf.读者编号=readers.编号JOIN books ON borrowinf.图书编号=books.编号JOIN readertype ON readers.读者类型=readertype.类型编号 WHERE readertype.类型名称=‘研究生’

(5)SELECT 读者编号,借期,还期 FROM borrowinf JOIN Books ON borrowinf.图书编号=books.编号 WHERE books.出版社=‘蓝天出版社’

SELECT 读者编号,借期,还期 FROM borrowinf WHERE 图书编号 IN

( SELECT 编号 FROM books WHERE 出版社=‘蓝天出版社’) (6)SELECT 编号 FROM readers WHERE NOT EXISTS ( SELECT * FROM borrowinf JOIN

books ON borrowinf.图书编号=books.编号 JOIN

readers ON readers.编号=borrowinf.读者编号 WHERE 出版社=‘青山出版社’) 第7章 SQL Server2000 Transact-SQL编程和应用 一、 多选题

1. 下列有关批的叙述中正确的是( )。 A.批是一起提交处理的一组语句 B.通常用GO来表示一个批的结束

C.不能在一个批中引用其它批定义的变量

D.批可长可短,在批中可以执行任何T-SQL语句 2. 下列有关脚本的叙述中正确的是( )。 A.一个脚本可以包含一个或多个批 B.一个脚本就是一个多批处理文件

C.可以将脚本以文件的形式保存在存储器中

D.在企业管理器中创建一个视图的操作将自动地记录在脚本文件中 3. 下列有关变量赋值的叙述中正确的是( )。 A.使用SET语句可以给全局变量和局部变量赋值 B.一条SET语句只能给一个局部变量 C.SELECT语句可以给多个局部变量赋值

D.使用SELECT语句给局部变量赋值时,若SELECT语句的返回结果有多个值时, 该局部变量的值为NULL

4. 下列有关全局变量的叙述中正确的是( )。 A.全局变量是以@@开头的变量

B.用户不能定义全局变量,但可以使用全局变量的值 C.用户不能定义与系统全局变量同名的局部变量

D.全局变量是服务器级的变量,所以该服务器下的所有的数据库对象均可以使用 5. 下列有关用户自定义函数的叙述中正确的是( )。

A.自定义函数可以带多个输入参数,但只能返回一个值或一个表 B.自定义函数的函数体若包含多条语句则必须使用BEGIN?END语句 C.自定义函数中若要返回表,必须使用RETURNS TABLE子句 D.一个自定义函数只有一条RETURN语句 6. 下列有关存储过程的叙述中正确的是( )。 A.SQL Server中定义的过程被称为存储过程

B.存储过程可以带多个输入参数,也可以带多个输出参数 C.可以用EXECUTE(或EXEC)来执行存储过程 D.使用存储过程可以减少网络流量

7. 下列有关触发器的叙述中正确的是( )。 A.触发器是一种特殊的存储过程

B.在一个表上可以定义多个触发器,但触发器不能在视图上定义 C.触发器允许嵌套执行

D.触发器在CHECK约束之前执行

8. 下列有关临时表DELETED和INSERTED的叙述中正确的是( )。 A. DELETED表和INSERTED表的结构与触发器表相同 B.触发器表与INSERTED表的记录相同

C.触发器表与DELETED表没有共同的记录。

D.UPDATE操作需要使用DELETED和INSERTED两个表 二、 填空题 1. Transact-SQL中的变量分为局部变量与全局变量,局部变量用 开头,全局变量用 开头。 2. Transact-SQL提供了 运算符,将两个字符数据连接起来。

3. 定义在 数据库中的自定义的数据类型,将出现在所有以后新建的数据库中。定义在 数据库中的自定义数据类型,只会出现在定义它的数据库中。 4. 在WHILE循环体内可以使用BREAK和CONTINUE语句,其中 语句用于终止循环的执行, 语句用于将循环返回到WHILE开始处,重新判断条件,以决定是否重新执行新的一次循环。

5. 在Transact-SQL中,若循环体内包含多条语句时,必须用 语句括起来。

6. 在Transact-SQL中,可以使用嵌套的IF?ELSE语句来实现多分支选择,也可以使用 语句来实现多分支选择。

7. 在定义存储过程时,若有输入参数则应放在关键字AS的 说明,若有局部变量则应放在关键字AS的 定义。

8. 在存储过程中,若在参数的后面加上 ,则表明此参数为输出参数,执行该存储过程必须声明变量来接受返回值并且在变量后必须使用关键字 。

9. 在自定义函数中,语句returns int表示该函数的返回值是一个整型数据, 表示该函数的返回值是一个表。 三、 简答题

1. 存储过程、触发器及用户自定义函数各有特点,总结并讨论各适用于何处? 2. 使用存储过程有哪些好处?

3. 在数据库MyDB中完成以下操作:

(1) 定义一个数据类型:名称为“Tel_No”,类型为CHAR(10)。在readers表中增加一列“读者电话”,将“读者电话”的数据类型定义为“Tel_No”。

(2) 创建一个视图v1,该视图用来查询教师的借阅情况,要求包含:教师姓名,书名,借期,还期。

(3) 自定义一个函数fun1,该函数的返回值为表books中最便宜的书价。

(4) 自定义一个函数fun2,以图书的名称为参数,返回该书的价格。并使用该函数查看《计算机文化基础》的价格。

(5) 自定义一个函数fun3,以读者的编号为参数,返回该读者所借的书的名称及借期还期。

(6) 创建一个存储过程pro1,该存储过程用来查找表Books中最便宜的书价。

(7) 创建一个存储过程pro2,用来查询书的价格,该存储过程带一输入参数和一输出参数,输入参数用来输入图书的名称,输出参数用来返回该书的价格。

(8) 创建一个存储过程pro3,用来查询指定读者的借阅情况,该存储过程带一输入参数,用来输入读者的编号,执行该存储过程可以查询到该读者的姓名及所借的书的名称和借期还期。

(9) 在books表中建立UPDATE 触发器tr1,若更新了books表中的图书编号,则相应更新borrowinf表的图书编号。 (10) 在readers表中建立DELETE触发器tr2,当删除readers表中的记录时,若borrowinf表中有相应的借阅记录,则不允许删除该记录。

(11) 在borrowinf表中建立INSERT触发器tr3,若某位读者当天借的书已超过5本,则不允许再借了。 第七章答案

一、多选题

1.ABC 2.ABCD 3.BCD 4.AD 5.ABCD 6.ABCD 7.ABCD 8.ACD 二、填空题

1. @ @@ 2. + 3. Model 用户 4. BREAK CONTINUE 5. BEGIN?END

6. CASE语句 7. 前面 后面 8. OUT或OUTPUT OUT或OUTPUT 9. RETURNS TABLE 三、简答题 1.略 2.略 3.(1)略

(2) CREATE VIEW V1 AS

SELECT dbo.readers.姓名 AS 教师姓名,dbo.books.书名, dbo.borrowinf.借期,dbo.borrowinf.还期 FROM dbo.borrowinf INNER JOIN

dbo.readers ON dbo.borrowinf.读者编号=dbo.readers.编号 INNER JOIN dbo.books ON dbo.borrowinf.图书编号=dbo.books.编号 INNER JOIN dbo.readertype ON dbo.readers.读者类型=dbo.readertype.类型编号 WHERE dbo.readertype.类型名称='教师' (3) CREATE FUNCTION fun1() RETURNS float AS BEGIN

DECLARE @p float

SELECT @p=MIN(定价) FROM dbo.books RETURN @p END

(4) CREATE FUNCTION fun2(@b char(20)) RETURNS float AS

BEGIN

DECLARE @p float

SELECT @p=定价 FROM books WHERE 书名=@b RETURN @p END

在查询分析器中执行:SELECT dbo.fun2('计算机文化基础') 或 PRINT dbo.fun2('计算机文化基础')

(5) CREATE FUNCTION fun3(@bh char(8)) RETURNS table AS

RETURN

( SELECT dbo.books.书名, dbo.borrowinf.借期, dbo.borrowinf.还期

FROM dbo.books INNER JOIN

dbo.borrowinf ON dbo.books.编号 = dbo.borrowinf.图书编号 WHERE dbo.borrowinf.读者编号 =@bh )

在查询分析器中执行:SELECT * FROM dbo.fun3('20040628') (6) CREATE PROCEDURE pro1 AS

SELECT MIN(定价) FROM dbo.books GO

在查询分析器中执行:EXECUTE PRO1 (7) CREATE PROCEDURE pro2 @b CHAR(20),

@p FLOAT OUTPUT AS

SELECT @p=定价 FROM books WHERE 书名=@b GO

在查询分析器中执行: DECLARE @price FLOAT

EXECUTE pro2 '计算机文化基础',@price output SELECT @price

(8) CREATE PROCEDURE PRO3 @name CHAR(10) AS

SELECT dbo.readers.姓名,dbo.books.书名, dbo.borrowinf.借期, dbo.borrowinf.还期 FROM dbo.borrowinf INNER JOIN

dbo.readers ON dbo.borrowinf.读者编号=dbo.readers.编号 INNER JOIN dbo.books ON dbo.borrowinf.图书编号=dbo.books.编号 WHERE dbo.borrowinf.读者编号=@name GO

(9) CREATE TRIGGER tr1 ON [dbo].[books] FOR UPDATE AS

DECLARE @old CHAR(15),@new CHAR(15) SELECT @old=编号 FROM deleted SELECT @new=编号 FROM inserted

UPDATE borrowinf SET 图书编号=@new WHERE 图书编号=@old (10)CREATE TRIGGER TR2 ON [dbo].[readers] FOR delete AS

IF @@ROWCOUNT=0 RETURN

IF EXISTS(SELECT * FROM deleted inner join

borrowinf on deleted.编号=borrowinf.读者编号) ROLLBACK

(11)CREATE TRIGGER TR3 ON [dbo].[borrowinf] FOR INSERT AS

DECLARE @num INT

SELECT @num=COUNT(*)

FROM inserted inner join borrowinf

on inserted.读者编号=borrowinf.读者编号 WHERE year(borrowinf.借期)=year(getdate()) and month(borrowinf.借期)=month(getdate()) and day(borrowinf.借期)=day(getdate()) GROUP BY inserted.读者编号 IF @num>5 ROLLBACK 或者

CREATE TRIGGER TR3 ON [dbo].[borrowinf] FOR INSERT AS

DECLARE @rno CHAR(8) DECLARE @num INT

SELECT @rno=读者编号 FROM inserted SELECT @num=COUNT(*) FROM borrowinf

WHERE borrowinf.读者编号=@rno and year(borrowinf.借期)=year(getdate())

and month(borrowinf.借期)=month(getdate()) and day(borrowinf.借期)=day(getdate()) GROUP BY读者编号 IF @num>5 ROLLBACK

第8章 数据库完整性及SQL Server的完整性控制 一、 多选题

1. 数据的完整性是指数据的( )。

A.一致性 B.正确性 C.相容性 D.有效性 2. 在SQL Server中属于表级完整性约束的是( )。

A.实体完整性约束 B.域完整性约束 C.参照完整性约束 者均是

3. 在SQL Server中实现数据完整性的主要方法有( )。

A.约束 B.默认 C.规则 D.触发器 4. 在SQL Server的数据完整性控制中属于声明数据完整性的是( )。 A.约束 B.默认 C.规则 D.触发器 5. 在SQL Server的数据完整性控制中属于过程数据完整性的是( )。 A.存储过程 B.默认 C.规则 D.触发器

D.以上三 6. 在SQL Server中,以下( )约束属于域完整性约束。

A.DEFAULT B.CHECK C.NULL D.FOREIGN KEY 7. 有关默认对象与默认约束的叙述中正确的是( )。

A.默认约束是嵌入到表的结构中,默认对象是独立于表的

B.删除表时默认约束与默认对象同时被删除 C.默认约束能实现的功能默认对象也能实现

D.一个默认对象可以绑定到多个列上 8. 有关规则的叙述中正确的是( )。

A.规则与默认对象一样,可以绑定到列上,也可以绑定到用户定义的数据类型上 B.在一列上只能使用一个规则 C.删除规则时,需先解除规则的绑定 D.同一列上若已CHECK约束,再绑定规则时,CHECK约束优先 9. 属性值约束主要有( )。

A.非空值约束 B. 基于元组的检查子句 C.域约束子句 D.默认 二、 填空题

1. SQL Server 2000中的数据完整性包括( ) 、 ( )和参照完整性3种。 2. SQL Server使用声明数据完整性和( ) 两种方式实现数据完整性。

3. ( )完整性,它要求表中所有的元组都应该有一个惟一标识,即主关键字。可以使用( ) 约束实现实体完整性,也可以将( ) 约束和( ) 约束一起使用来实现实体完整性。 4.( ) 完整性维护从表中的外码与主表中主码的相容关系。

5. 为了保护数据库的实体完整性,当用户程序对主码进行更新使主码值不惟一时,DBMS就( )。 三、 简答题

1. 简述SQL Server2000实现数据库完整性的方法。 2. 简述默认对象与默认约束的区别。 3. 简述规则与CHECK约束的区别。

4. 在数据库MyDB中创建名为reader_tp的默认,其值为3。将该默认绑定到表readers的列“读者类型”上。

5. 在数据库MyDB中创建名为borr_dt的规则,其限定条件为值不小于零。将该规则绑定到表readers的“已借数量”上。 第八章答案 一、多选题

1.ABC 2.AC 3.ABCD 4.ABC 5.AD 6.ABC 7.ACD 8.ABCD 9. ABCD 二、填空题

1.实体完整性 参照完整性 域完整性 2. 过程数据完整性

3.实体 PRIMARY KEY UNQIUE NOT NULL 4.参照

5. 拒绝更新 三、简答题 略

第11章 数据库恢复技术与SQL Server的数据恢复机制 一、 单选题

1. 若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为( )。 A. 事务故障 B.系统故障 C.介质故障 D.人为错误

2. 若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为( )。

A.事务故障 B.系统故障 C.介质故障 D.人为错误 3. 操作系统故障属于( )。

A. 人为错误 B. 事务故障 C. 介质故障 D.系统故障 4. 日志文件是用于记录( )。

A.程序运行过程 B.数据操作 C.对数据的所有更新操作 D.程序执行的结果

5. 数据库副本的用途是( )。

A.安全性保障 B.一致性控制 C.故障后的恢复 D.数据的转储 6. 数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包指( )。

A.数据字典、应用程序、审计档案、数据库副本 B.数据字典、应用程序、日志文件、审计档案

C.日志文件、数据库副本 D.数据字典、应用程序、数据库后备副本 7. ( )是指在转储过程中,不允许其他事务对数据库进行存取或修改操作,并且每次只转储上一次转储后更新过的数据

A. 动态海量转储 B.动态增量转储 C. 静态海量转储 D.静态增量转储

二、 多选题

1. 数据库恢复通常采用的方法是( )。

A.建立检查点 B.建立副本 C.建立日志文件 D.建立索引 2. 数据库系统中可能发生的故障( )。

A.运行故障 B.事务故障 C.系统故障 D.介质故障

3. 系统故障是指造成系统停止运转,必须重新启动系统的任何事件,它包括以下( )几种情况。

A.计算机病毒 B.操作系统故障 C.DBMS代码错误 D.数据库服务器出错 三、 填空题

1. 数据恢复最常用的技术是建立数据转储和利用( ) 。

2. 为保证数据库的可恢复性,登记日志文件时必须遵循两条原则:一是登记的次序严格按事务执行的时间次序;二是 ( )。

3. 事务故障的解决办法是恢复程序在不影响其他事务运行的情况下( ) 。 4. 日志文件是用来记录对数据库的更新操作的文件。不同的数据库系统采用的日志文件格式不完全相同。日志文件主要有以记录为单位的日志文件和( ) 。

5. ( )会破坏磁盘上的物理数据库和日志文件,这是最严重的一种故障。恢复方法是重装数据库后备副本,然后重做已完成的事务。 6. ( )亦称永久性的备份文件,( )是用来存放备份数据的物理设备。 7. ( )命令可以用来对指定数据库进行全库备份、差异备份、日志备份或文件和文件组备份。

8. ( )语句可以完成对整个数据库的恢复,也可以恢复数据库的日志,或者是指定恢复数据库的某个文件或文件组。

9. SQL Server导入和导出数据通过一个向导程序( ) 实现,通过该程序可以与任何OLE DB、ODBC、JDBC或文本文件等多种不同类型的数据库之间实现数据传递。 四、 简答题

1. 备份设备有哪些?

2. 全库备份、差异备份、日志备份各有什么特点,以你所知的一台服务器为例,设计一种备份方案。

3. 某企业的数据库每周日晚12点进行一次全库备份,每晚12点进行一次差异备份,每小时进行一次日志备份,数据库在2004-8-23 3:30崩溃,应如何将其恢复使数据库损失最小。 第十一章答案 一、多选题

1.B 2.C 3.D 4.C 5.C 6.C 7. D 二、填空题

1.ABC 2.BCD 3.BCD 三、填空题 1.日志文件

2. 先写日志文件,后写数据库 3.撤销该事务

4.以数据块为单位的日志文件 5.介质故障 6.备份设备 7.BACKUP 8.RESTORE

9.数据转换服务(简称DTS) 四、简答题 略

9. SQL Server导入和导出数据通过一个向导程序( ) 实现,通过该程序可以与任何OLE DB、ODBC、JDBC或文本文件等多种不同类型的数据库之间实现数据传递。 四、 简答题

1. 备份设备有哪些?

2. 全库备份、差异备份、日志备份各有什么特点,以你所知的一台服务器为例,设计一种备份方案。

3. 某企业的数据库每周日晚12点进行一次全库备份,每晚12点进行一次差异备份,每小时进行一次日志备份,数据库在2004-8-23 3:30崩溃,应如何将其恢复使数据库损失最小。 第十一章答案 一、多选题

1.B 2.C 3.D 4.C 5.C 6.C 7. D 二、填空题

1.ABC 2.BCD 3.BCD 三、填空题 1.日志文件

2. 先写日志文件,后写数据库 3.撤销该事务

4.以数据块为单位的日志文件 5.介质故障 6.备份设备 7.BACKUP 8.RESTORE

9.数据转换服务(简称DTS) 四、简答题 略

本文来源:https://www.bwwdw.com/article/2rg7.html

Top