第一章 绪论
一、选择题(必考题型)
1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是 阶段。
A.数据库系统 B.文件系统 C.人工管理 D.数据项管理
2.数据库的概念模型独立于 。
A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界
3.数据库的基本特点是 。
A.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制
B.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制
C.(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小,易扩充 (4)统一管理和控制
D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制
4. 是存储在计算机内有结构的数据的集合。
A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构
5.数据库中存储的是 。
A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息
6. 数据库中,数据的物理独立性是指 。
A.数据库与数据库管理系统的相互独立
B.用户程序与DBMS的相互独立
C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的
D.应用程序与数据库中数据的逻辑结构相互独立
7. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指 。
A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据
C.多个用户共享一个数据文件 D.多种应用、多种语言、多个用户相互覆盖地使用数据集合
8.数据库系统的核心和基础是 。
A.数据库 B.数据库管理系统 C.数据模型 D.软件工具
9. 下述关于数据库系统的正确叙述是 。
A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型一致 D.数据库系统比文件系统能管理更多的数据
10. 将数据库的结构划分成多个层次,是为了提高数据库的 ① 和 ② 。
①A.数据独立性 B.逻辑独立性 C.管理规范性 D.数据的共享
②A.数据独立性 B.物理独立性 C.逻辑独立性 D.管理规范性
11. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是 。
A.DBS包括DB和DBMS B.DDMS包括DB和DBS
C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS
12. 在数据库中,产生数据不一致的根本原因是 。
A.数据存储量太大 B.没有严格保护数据
C.未对数据进行完整性控制 D.数据冗余
13. 数据库管理系统(DBMS)是 。
A.数学软件 B.应用软件 C.计算机辅助设计 D.系统软件
14. 数据库管理系统(DBMS)的主要功能是 。
A.修改数据库 B.定义数据库 C.应用数据库 D.保护数据库
15. 数据库系统的特点是 、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。
A.数据共享 B.数据存储 C.数据应用 D.数据保密
16数据库系统的最大特点是 。
A.数据的三级抽象和二级独立性 B.数据共享性 C.数据的结构化 D.数据独立性
17. 数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作,这种功能称为 。
A.数据定义功能 B.数据管理功能 C.数据操纵功能 D.数据控制功能
18. 数据库管理系统是 。
A.操作系统的一部分 B.在操作系统支持下的系统软件 C.一种编译程序 D.一种操作系统
19.数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是()
A.外模式 B.内模式 C.存储模式 D.模式
20数据库系统的数据独立性是指 B 。
A.不会因为数据的变化而影响应用程序
B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构
D.不会因为某些存储结构的变化而影响其他的存储结构
21.实体信息世界中的术语,与之对应的数据库术语为 。
A.文件 B.数据库 C.字段 D.记录
22.层次型、网状型和关系型数据库划分原则是 。
A.记录长度 B.文件的大小 C.联系的复杂程度 D.数据之间的联系
23.传统的数据模型分类,数据库系统可以分为三种类型 。
A.大型、中型和小型 B.西文、中文和兼容
C.层次、网状和关系 D.数据、图形和多媒体
24. 层次模型不能直接表示 。
A. 1 :1关系 B.1 :m关系
C. m :n关系 D.1 :1和1 :m关系
25. 数据库技术的奠基人之一E.F.Codd从1970年起发表过多篇论文,主要论述的是 。
A.层次数据模型 B.网状数据模型
C.关系数据模型 D.面向对象数据模型
26.描述事物的符号记录称为( D )
- A.查询
- B.记录
- C.信息
- D.数据
27.在关系数据库中,表(tABle)是三级模式结构中的(B)
- A.内模式
- B.外模式
- C.模式
- D.存储模式
28.在关系理论中称为"关系"的概念,在关系数据库中称为 ( C )
- A. 文件
- B. 记录
- C. 表
- D. 实体集
29.建立数据字典的时机是( )
- A.数据库物理设计阶段
- B.需求分析阶段
- C.概念结构设计阶段
- D.数据库实施
30.E-R 模型中的“实体标识符”术语对应于机器世界中的术语是( C )
A. 记录 B. 字段 C.关键码 D.文件
31.设计正确的关系模式称为规范化,规范化的主要理论依据是 ( A) 。
- A.关系数据理论
- B.关系运算理论
- C.数理逻辑理论
- D.代数运算理论
32.
二、填空题
1. 数据管理技术经历了 人工管理 、 文件系统 和 数据库系统 三个阶段。
2. 数据库是长期存储在计算机内、有 组织的、可共享的数据集合。
3.DBMS是指 数据库管理系统 ,它是位于 用户 和 操作系统 之间的一层管理软件。
4. DBMS主要功能有数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立以及维护等4个方面。
5. 数据独立性又可分为逻辑独立性 和 物理独立性。
6. 当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的 物理独立性 。
7. 数据模型是由数据结构、数据操作和完整性约束三部分组成的。
8. 数据结构是对数据系统的静态特性的描述,数据操作是对数据库系统的动态特性的描述。
9. 数据库系统结构按照模式、外模式和内模式三级结构进行组织。
10. 实体之间的联系可抽象为三类,它们是一对一、一对多和多对多。
11.数据冗余可能导致的问题有浪费存储空间及修改麻烦和数据不一致性。
三:简答题(必考题型)
1. 什么是数据库?
答:数据库是长期存储在计算机内、有组织、大量、共享的数据集合。它可以供各种用户共享,具有最小冗余度、较高的数据独立性和易扩展性。
2. 什么是数据库的数据独立性?
答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系;包括逻辑独立性和物理独立性。
【教材原话】
①物理独立性指用户的应用程序与数据库中数据的物理存储是相互独立的。即,数据在数据库中怎样存储是由数据库管理系统管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变时应用程序不用改变。
②逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。即,数据的逻辑结构改变时用户程序也可以不变。
【便于理解】①逻辑独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
②物理独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
3. 什么是数据库管理系统?
答:
【课本原话】数据库管理系统是位于用户和操作系统之间一层数据管理软件。数据库管理系统在数据库建立、运行和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并可在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
【方便理解】
数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。 一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。
4. 什么是数据字典?数据字典包含哪些基本内容?
答:①数据字典是进行详细数据收集和数据分析所获得的主要成果,是关于数据库中数据的描述,即元数据,而不是数据本身。它在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。它在数据库设计中占有很重要的地位。②数据字典的基本内容有:数据项、数据结构、数据流、数据存储和处理过程5个部分。
四、综合题(必考题型)
1、假设教学管理规定:
①一个学生可选修多门课,一门课有若干学生选修;
②一个教师可讲授多门课,一门课只有一个教师讲授;
③一个学生选修一门课,仅有一个成绩。
学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。
要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型;
2、某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。
(1)根据上述语义画出E-R图;
(2)将该E-R模型转换为关系模型; (要求:1:1和1:n的联系进行合并)
(3)指出转换结果中每个关系模式的主码和外码。
答:(1)根据上述语义画出E-R图
(2)转化后的关系模式如下:
工厂(工厂编号,厂名,地址)
产品(产品编号,产品名,规格)
职工(职工号,姓名,工厂编号,聘期,工资)
生产(工厂编号,产品编号,计划数量)
(3)每个关系模式的主码、外码如下:
工厂:主码:工厂编号;无外码;
产品:主码:产品编号;无外码;
职工:主码:职工号;外码是工厂编号;
生产:主码:(工厂编号,产品编号);外码:(工厂编号、产品编号)。
第2章关系数据库
一、选择题
1、关系数据库管理系统应能实现的专门关系运算包括 。
A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表
2、关系模型中,一个关键字是 。
A.可由多个任意属性组成
B.至多由一个属性组成
C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成
D.以上都不是
3、自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的 。
A.元组 B.行 C.记录 D.属性
4、关系运算中花费时间可能最长的运算是 。
A.投影 B.选择 C.笛卡尔积 D.除
5.关系模式的任何属性 。
A.不可再分 B.可再分 C.命名在该关系模式中可以不惟一 D.以上都不是
6.在关系代数运算中,五种基本运算为 。
A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影
C.并、差、选择、投影、笛卡儿积 D.并、差、交、选择、笛卡儿积
7.如图所示,两个关系R1和R2,它们进行 运算后得到R3。
A.交 B.并 C.笛卡尔积 D.连接
8.下面对于关系叙述中,哪个是不正确?( )
- A. 每一个关系只有一种记录类型
- B. 在关系中元组顺序是无关紧要
- C. 任意一个二维表都是一个关系
- D. 关系中每个属性是不可分解的
9.四元关系R的属性A、B、C、D,下列叙述中正确的是(B )
- A.∏B,C(R)表示取值为B,C的两列组成的关系
- B.∏B,C(R)与∏2,3(R)表示的是同一个关系
- C.∏2,3(R)表示取值为2,3的两列组成的关系
- D.∏B,C(R)与∏2,3(R)表示的不是同一个关系
10.如果F只涉及X中的属性,则∏X(σF(E))等价于( D)
- A.∏X(E)
- B.σF(E)
- C.∏F(σX(E))
- D.σF(∏X(E))
11.关系数据库中,实现实体之间的联系是通过表与表之间的( )
- A.公共索引
- B.公共属性
- C.公共存储
- D.公共元组
12.以下选项中,属于关系的是( A)
- A.视图表
- B.散列表
- C.双列表
- D.堆栈表
13.关系代数表达式πgrade(σS.Sno=SC.Sno∧S.sname='张三'(SxSC))是查询学生张三所选修的所有课程的成绩的原始表达式,优化后的关系代数表达式第一步应该做(D)
- A.SxSC
- B.πgrade
- C.σS.Sno=SC.Sno(SxSC)
- D.σS.sname='张三'(S)
14.设有关系R(A,B,C)和S(C,D)。与SQL语句select A,B,D from R,S where R .C=S.C等价的关系代数表达式是( B)
- A.σR.C=s.c(πA,B,D(R×S))
- B.πA,B,D(σR.C=s.c(R×S))
- C.σR.C=s.c(πD(πA,B(R)×S))
- D.σR.C=s.c(πA,B(R)×πD(S))
二、填空题
1、一个关系模式的定义格式为 关系名(属性名1,属性名2,…,属性名n) 。
2、一个关系模式的定义主要包括 关系名 、属性名 、 属性类型 、 属性长度 和关键字 。
3、关系代数运算中,传统的集合运算有 交 、 并 、 差 和 笛卡儿积 。
4、关系代数运算中,基本的运算是 差 、 并 、 选择 、 投影 和 笛卡儿积 。
5、关系代数运算中,专门的关系运算有 选择 、 投影、 连接 和 除 。
6、关系数据库中基于数学上两类运算是 关系代数 和 关系演算 。
7、已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,编号)两个关系,系关系的主关键字是 系编号 ,系关系的外关键字 无 ,学生关系的主关键字是 学号 ,外关键字 系编号 。
第3章关系数据库标准语言SQL
一、选择题
1、SQL语言是 的语言,易学习。
A.过程化 B.非过程化 C.格式化 D.导航式
2、SQL语言是 语言。
A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库
3、SQL语言具有 的功能。
A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制
C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵
4、SQL语言具有两种使用方式,分别称为交互式SQL和 。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL
5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。 要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 。
A.S B.SC,C C.S,SC D.S,C,SC
6、如下数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作 不能执行。
A.从职工表中删除行(‘025’,‘王芳’,‘03’,720)
B.将行(‘005,’,‘乔兴’,‘04’,750)插入到职工表中
C.将职工号为,‘001’的工资改为700
D.将职工号为,’038’的部门号改为‘03’
7、若用如下的SQL语句创建一个student表:
CREATE TABLE student(
NO C(4) NOT NULL,
NAME C(8) NOT NULL,
SEX C(2),
AGE N(2));
可以插入到student表中的是 。
A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL)
C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23)
第8-11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:
S(S#,SN,SEX,AGE,DEPT)
C(C#,CN)
SC(S#,C#,GRADE)
其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
8、检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是
A.SELECT SN,AGE,SEX FROM S
WHERE AGE>( SELECT AGE
FROM S
WHERE SN=“王华”);
B.SELECT SN,AGE,SEX FROM S
WHERE SN=“王华”;
C.SELECT SN,AGE,SEX FROM S
WHERE AGE>( SELECT AGE WHERE SN=“王华”);
D.SELECT SN,AGE,SEX FROM S
WHERE AGE>王华.AGE;
9、检索选修课程“C2”的学生中成绩最高的学生的学号,正确的SELECT语句是 。
A.SELECT S# FORM SC WHERE C#=“C2” AND GRAD>=
(SELECT GRADE FORM SC
WHERE C#=“C2”)
B.SELECT S# FORM SC
WHERE C#=“C2” AND GRADE IN
(SELECT GRADE FORM SC
WHERE C#=“C2”)
C.SELECT S# FORM SC
WHERE C#=“C2” AND GRADE NOT IN
(SELECT GRADE FORM SC
WHERE C#=“C2”)
D.SELECT S# FORM SC
WHERE C#=“C2” AND GRADE>=ALL
(SELECT GRADE FORM SC
WHERE C#=“C2”)
10、检索学生姓名及其所选修课程的课程号和成绩。正确的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
【答案:】C
11、检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。
写出相应的SELECT语句是
SELECT SUM(GRADE)
FROM SC
WHERE GRADE>=60
GROUP BY S#
HAVING COUNT(*)>=4
ORDER BY SUM(GRADE) DESC ;
13.SQL中的视图机制提高了数据库系统的( )。
A.隔离性 B.安全性 C.完整性 D.并发控制
14.下列的SQL语句中,( )不是数据定义语句。
A.DROP VIEW B.GRANT C.CREATE VIEW D.CREATE TABLE
15.在关系中能唯一标识元组的属性集称为关系模型的( )。
- A.外键
- B.全键
- C.候选键
- D.主键
二、填空题
1、SQL是 结构化查询语言
2、视图是一个虚表,它是从 一个或几个基本表 中导出的表。在数据库中,只存放视图的 定义 ,不存放视图的 对应的数据
3、设有如下关系表R:
R(No,NAME,SEX,AGE,CLASS)
主关键字是NO,其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。
写出实现下列功能的SQL语句。
①插入一个记录(25,“李明”,“男”,21,“95031”)
②插入“95031”班、学号为30、姓名为“郑和”的学生记录
③将学号为10的学生姓名改为“王华”
④将所有“95101”班号改为“95091”
⑤删除学号为20的学生记录
⑥删除姓“王”的学生记录
【答案:】
①INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”);
②INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑和”,“95031”);
③UPDATE R SET NAME=“王华”WHERE NO=10;
④UPDATE R SET CLASS=“95091”WHERE CLASS=“95101”;
⑤DELETE FROM R WHERE NO=20;
⑥DELETE FROM R WHERE NAME LIKE“王%”;
三、综合题
1、设学生课程数据库中有三个关系:
学生关系S(S#,SNAME,AGE,SEX)
学习关系SC(S#,C#,GRADE)
课程关系C(C#,CNAME)
其中S#、C#、SNAME、AGE、SEX、GRADE、CNAME分别表示学号、课程号、姓名、年龄、性别、成绩和课程名。
用SQL语句表达下列操作
(1)检索选修课程名称为“MATHS”的学生的学号与姓名
(2)检索至少学习了课程号为“C1”和“C2”的学生的学号
(3)检索年龄在18到20之间(含18和20)的女生的学号、姓名和年龄
(4)检索平均成绩超过80分的学生学号和平均成绩
(5)检索选修了全部课程的学生姓名
(6)检索选修了三门课以上的学生的姓名
【答案:】
(1)SELECT S#,SNAME
FROM S,SC,C
WHERE S.S#=SC.S#
AND C.C#=SC.C#
AND CNAME=’MATHS’;
(2) SELECT S#
FROM SC
WHERE C#=’C1’ AND S# IN( SELECT S#
FROM SC
WHERE CNO=’C2’);
(3)SELECT S#,SNAME,AGE
FROM S
WHERE SEX =’女’ AND AGE BETWEEN 18 AND 20;
(4) SELECT S# ,AVG(GRADE) AS ‘平均成绩’
FROM SC
GROUP BY S#
HAVING AVG(GRADE)>80;
(5) SELECT SNAMEFROM S
WHERE NOT EXISTS
(SELECT *
FROM C
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE S#=S.S# AND C#=C.C#
)
)
(6)SELECT SNAME
FROM S,SC
WHERE S.S#=SC.S#
GROUP BY SNAME
HAVING COUNT(*)>3;
2、设学生-课程数据库中包括三个表:
学生表:Student(Sno,Sname,Sex,Sage,Sdept)
课程表:Course(Cno,Cname,Ccredit)
学生选课表:SC(Sno,Cno,Grade)
其中Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit 、Grade分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分和成绩。
试用SQL语言完成下列项操作:
(1)查询选修课程包括“1042”号学生所学的课程的学生学号
(2)创建一个计科系学生信息视图S_CS_VIEW,包括Sno学号、Sname姓名、Sex性别;
(3)通过上面第2题创建的视图修改数据,把王平的名字改为王慧平
(4)创建一选修数据库课程信息的视图,视图名称为datascore_view,包含学号、姓名、成绩。
【答案:】
(1) SELECT DISTINCT SNO
FROM SC SCX
WHERE NOT EXISTS
(SELECT *
FROM SC SCY
WHERE SCY.SNO = ' 1042' AND
NOT EXISTS
(SELECT *
FROM SC SCZ
WHERE SCZ.SNO=SCX.SNO AND SCZ.CNO=SCY.CNO
)
);
(2) CREATE VIEW S_CS_VIEW
AS
SELECT SNO,SNAME,SEX
FROM STUDENT
WHERE Sdept=’CS’
(3)UPDATE S_CS_VIEW
SET SNAME= ‘王慧平’
WHERE SNAME= ‘王平’
(4) CREATE VIEW datascore_view
AS
SELECT SNO 学号、SNAME 姓名、GRADE 成绩
FROM STUDENT,SC,COURSE
WHERE STUDENT.SNO=SC.SNO
AND COURSE.CNO=SC.CNO
AND CNAME=’ 数据库’
第4章数据库的安全性
一、选择题
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、下列SQL语句中,能够实现“收回用户ZHAO对学生表(STUD)中学号(XH)的修改权”这一功能的是
A.REVOKE UPDATE(XH) ON TABLE FROM ZHAO
B.REVOKE UPDATE(XH) ON TABLE FROM PUBLIC
C.REVOKE UPDATE(XH) ON TABLE STUD FROM ZHAO
D.REVOKE UPDATE(XH) ON STUD FROM PUBLIC
7、把对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是
A)GRANT GRADE ON SC TO ZHAO
B)GRANT UPDATE ON SC TO ZHAO
C)GRANT UPDATE (GRADE) ON SC TO ZHAO
D)GRANT UPDATE ON SC (GRADE) TO ZHAO
8、在SQL Server 中删除触发器用( )。
A.ROLLBACK B. DROP C.DELALLOCATE D. DELETE
二、填空题
1、保护数据安全性的一般方法是 设置用户标识和存取权限控制
2、安全性控制的一般方法有用户身份鉴定、存取控制、审计、数据加密和视图的保护五级安全措施
3、存取权限包括两方面的内容,一个是 要存取的数据对象 ,另一个是 对此数据对象进行操作的类型
4、在数据库系统中对存取权限的定义称为 授权
5、在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用 GRANT 语句,收回所授的权限使用 REVOKE 语句。
6、DBMS存取控制机制主要包括两部分: 定义用户权限 、 合法权限检查
7、当对某表进行诸如INSERT、DELETE、UPDATE 这些操作时,SQL Server会自动执行触发器所定义的SQL语句。
第5章数据库完整性
一、选择题:
1、在数据库系统中,保证数据及语义正确和有效的功能是 ( ) 【答案:】D
A.并发控制 B.存取控制 C.安全控制 D.完整性控制
2、关于主键约束,以下说法错误的是( ) 【答案:】C
A. 一个表中只能设置一个主键约束 B. 允许空值的字段上不能定义主键约束
C. 允许空值的字段上可以定义主键约束 D. 可以将包含多个字段的字段组合设置为主键
3、在表或视图上执行除了( )以外的语句都可以激活触发器。 【答案:】D
A. Insert B. Delete C. Update D. Create
4、数据库的____是指数据的正确性和相容性。 【答案:】B
A.安全性 B.完整性 C.并发控制 D.恢复
5、在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的______约束。【答案:】C
A. 实体完整性 B. 参照完整性 C. 用户自定义 D. 用户操作
二、填空题
1.数据库的完整性是指数据的 正确性 和 相容性 。
2、SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性、和 用户定义完整性
3、实体完整性是指在基本表中, 主属性不能取空值 。
4、参照完整性是指在基本表中, 外码可以是空值或者另一个关系主码的有效值 。
5、为了保护数据库的实体完整性,当用户程序对主码进行更新而使主码值不唯一时,DBMS就 拒绝执行操作 。
第6章关系数据理论
一、选择题
1、关系规范化中的删除操作异常是指 ① ,插入操作异常是指 ② 。 【答案:】①A ②D
A.不该删的数据被删除 B.不该插的数据被插入
C.应该删的数据未被删除 D.应该插的数据未被插入
2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是 。 【答案:】A
A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑
3、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及 的缺陷。 【答案:】C
A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失
4、当关系模式R(A,B)已属于3NF,下列说法中 是正确的。【答案:】B
A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常
C.一定属于BCNF D.A和C都是
5、关系模型中的关系模式至少是 。 【答案:】A
A.1NF B.2NF C.3NF D.BCNF
6、在关系DB中,任何二元关系模式的最高范式必定是 。 【答案:】D
A.1NF B.2NF C.3NF D.BCNF
7、在关系模式R中,若其函数依赖集中 所有候选关键字都是决定因素,则R最高范式是 。 【答案:】C
A.2NF B.3NF C.4NF D.BCNF
8、候选关键字中的属性称为 。 【答案:】B
A.非主属性 B.主属性 C.复合属性 D.关键属性
9、消除了部分函数依赖的1NF的关系模式,必定是 。 【答案:】B
A.1NF B.2NF C.3NF D.4NF
范式 | 简要说明 |
---|---|
1NF | 关系模式中的每个属性都是原子的,不可再分的。 |
2NF | 2NF是在1NF的基础上,要求关系模式中的非主属性完全依赖于候选关键字,消除部分函数依赖。 |
3NF | 3NF是在2NF的基础上,要求关系模式中的非主属性不传递依赖于候选关键字,消除传递依赖。 |
BCNF | BCNF是在3NF的基础上,进一步消除主属性和非主属性之间的依赖关系,消除冗余依赖。 |
4NF | 4NF是在BCNF的基础上,进一步处理多值依赖和联合依赖,消除更复杂的依赖关系。 |
10、关系模式的候选关键字可以有 ① ,主关键字有 ② 。 【答案:】①C ②B
A.0个 B.1个 C.1个或多个 D.多个
11、关系模式的分解 。 【答案:】B
A.惟一 B.不惟一
12、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式? 。 部门(部门号,部门名,部门成员,部门总经理) 【答案:】B
A.部门总经理 B.部门成员 C.部门名 D.部门号
13.对于关系R,第三范式是R中的每个非主属性应满足(D )
- A.与主关键字存在多值依赖关系
- B.函数传递依赖主关键字
- C.与主关键字存在单值依赖关系
- D.非函数传递依赖主关键字
14.设关系模式R(A,B)上的函数依赖为A→B,则R最高属于( B )
- A.BCNF
- B.2NF
- C.3NF
- D.4NF
15.设有关系模式R(A,B,C,D),其数据依赖集:F={(A,B)→C,C→D},则关系模式R的规范化程度最高达到(A )。
A.2NF B.3NF C.1NF D.BCNF
16.学生表(id,name,sex,age,depart_id,depart_name),存在的函数依赖是id→{name,sex,age,depart_id}; dept_id→dept_name,其满足( A)。
A.2NF B.3NF C.1NF D.BCNF
17.设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。下面关于多值依赖的叙述中,不正确的是( C)。
A.若X→Y,则X→→Y
B.若Z=Φ,则X→→Y
C.若X→→Y,且Y′∈Y,则X→→Y′
D.若X→→Y,则X→→Z
18.在关系模式R(U,F)中,R中任何非主属性对键完全函数依赖是R∈3NF的( A)
- A.必要条件
- B.充分条件
- C.既不充分也不必要条件
- D.充分必要条件
19.在关系模式R(A,B,C)中,有函数依赖集F={(A,B)→C,(B,C)→A},则R最高达到(D )
- A.2NF B.3NF C.1NF D.BCNF
20.属于BCNF的关系模式( C )
- A.已消除了插入,删除异常和数据宙余
- B.仍然存在插入和删除异常
- C.在函数依赖范畴内,已消除了插入和删除异常
- D.已消除了插入和删除异常
21.有关系模式A(C,T,H,R,S),其中各属性的含义是:C:课程 T:教员 H:上课时间 R:教室 S:学生 根据语义有如下函数依赖集:F={C→T,(H,R)→C,(H,T)→R,(H,S)→R} 关系模式A规范化程度最高达到( A )
A.2NF B.3NF C.1NF D.BCNF
22.下面关于函数依赖的叙述中,不正确的是( A )
- A.若XY→Z,则X→Z,Y→Z
- B.若X→Y,Y→Z,则X→YZ
- C.若X→Y,Y→Z,则X→Z
- D.若X→Y,Y'包含Y,则X→Y
23.关系模式 R 中若没有非主属性,则(B )
- A.R 属于 2NF 但不一定属于 3NF
- B.R 属于 BCNF 但不一定属于 4NF
- C.R 属于 4NF
- D.R 属于 3NF 但不一定属于 BCNF
二、填空题
1、在关系A(S,SN,D)和B(D,CN,NM中,A的主键是S,B的主键是D,则D在A中称为 外键 。
2、对于非规范化的模式,经过 使属性域变为简单域 转变为1NF,将1NF经过 消除非主属性对码的部分依赖 转变为2NF,将2NF经过 消除非主属性对码的传递依赖 转变为3NF。
3、在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和无损连接性 。
三、概念解释:
-
平凡的函数依赖
在关系模式R(U)中,对于U的子集X和Y,
如果X→Y,但Y 不包含X,则称X→Y是非平凡的函数依赖
2.非平凡的函数依赖
在关系模式R(U)中,对于U的子集X和Y,
若X→Y,但Y Í X, 则称X→Y是平凡的函数依赖
四、综合练习
1、已知学生关系模式 S(Sno,Sname,SD,Sdname,Course,Grade)
其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。
(1)写出关系模式S的基本函数依赖和主码。
(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?
(3)将关系模式分解成3NF,并说明为什么?
答:
(1)写出关系模式S的基本函数依赖和主码。
关系模式S的基本函数依赖如下:
Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course) →Grade
关系模式S的码为:(Sno,Course)。
(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?
答: 原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。
消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:
S1(Sno,Sname,SD,Sdname)
S2(Sno,Course,Grade)
(3)将关系模式分解成3NF,并说明为什么?
答: 将上述关系模式分解成3NF如下:
关系模式S1中存在Sno→SD,SD→Sdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。进一步分解如下: S11(Sno,Sname,SD) S12(SD,Sdname)
分解后的关系模式S11、S12满足3NF。
对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。
所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。
S11(Sno,Sname,SD)
S12(SD,Sdname)
S2(Sno,Course,Grade)
2、设有如下关系R。
课程名 | 教师名 | 教师地址 |
C1 | 万1 | D1 |
C2 | 吴2 | D2 |
C3 | 李珊 | D3 |
C4 | 吴2 | D2 |
(1)它为第几范式? 为什么?
(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?
(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?
解:(1)它是2NF。 因为R的候选关键字为“课程名”。 依赖关系: 课程名→教师名,教师名 → 课程名,教师名→教师地址,所以 课程名→教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。
解:(2) 存在。当删除某门课程时会删除不该删除的教师的有关信息。
解:(3) 分解为高一级范式如图所示。
分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。
R1 课程名 教师名 C1 万1 C2 吴2 C3 李珊 C4 吴2
教师名 教师地址 万1 D1 吴2 D2 李珊 D3
3、设某商业集团数据库中有一关系模式R如下:
R (商店编号,商品编号,数量,部门编号,负责人)
如果规定:(1) 每个商店的每种商品只的在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。
试回答下列问题:
(1) 根据上述规定,写出关系模式R的基本函数依赖;
(2) 找出关系模式R的候选码;
(3) 试问关系模式R最高已经达到第几范式?为什么?
(4) 如果R不属于3NF,请将R分解成3NF模式集。
答:(1) 关系模式S的基本函数依赖如下: (商店编号,商品编号) →部门编号,(商店编号,部门编号)→负责人,(商店编号,商品编号) →数量
(2)关系模式R的码为:(商店编号,商品编号, 部门编号)。
(3)原关系模式R是属于1NF的,码为(商店编号,商品编号, 部门编号),非主属性对码的函数依赖全为部分函数依赖,所以不属于2NF。
消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:
R1(商店编号,商品编号, 部门编号, 数量)
R2(商店编号,部门编号, 负责人)
(4)将R分解为
R1(商店编号,商品编号, 部门编号, 数量)
R2(商店编号,部门编号, 负责人)
分解后的R不存在传递的函数依赖,所以分解后的R已经是第3NF
第7章数据库设计
一、选择题
1、在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的 阶段。
A.需求分析 B.概念设计 C.逻辑设计 D.物理设计
2、在关系数据库设计中,设计关系模式是 的任务。
A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段
3、数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是 。
A.建立库结构 B.扩充功能 C.加载数据 D.系统调试
4、在数据库的概念设计中,最常用的数据模型是 。
A.形象模型 B.物理模型 C.逻辑模型 D.实体-联系模型
5、从E-R模型向关系模型转换时,一个M∶N联系转换为关系模型时,该关系模式的关键字是 。
A.M端实体关键字 B.N端实体关键字 C.M端实体关键字与N端实体关键字组合 D.重选其他属性
6、当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是 。
A.属性冲突 B.语法冲突 C.结构冲突 D.命名冲突
7、概念模型独立于 。
A.E-R模型 B.硬件设备和DBMS C.操作系统和DBMS D.DBMS
8、数据流程图(DFD)是用于描述结构化方法中 阶段的工具。
A.可行性分析 B.详细设计 C.需求分析 D.程序编码
9、下图所示的E-R图转换成关系模型,可以转换为 关系模式。
A.1个 B.2个 C.3个 D.4个
10.数据库系统运行过程中,由于应用程序错误所产生的故障通常称为( B )
- A.系统故障
- B.事务故障
- C.设备故障
- D.介质故障
11.概念设计的主要目标是产生数据库概念结构,该结构主要反映( C)
- A.数据库的维护需求
- B.应用程序开发的需求
- C.企业的信息需求
- D.DBA 管理信息的需求
二、填空题
1、数据库设计的几个步骤是 需求分析,概念设计,逻辑设计,物理设计,系统实施,系统运行和维护 。
2、“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库 物理 设计阶段。
3、在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,通常称为 数据字典 。
4、在设计分E-R图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以各个分E-R图之间难免有不一致的地方,这些冲突主要有 属性冲突 、 命名冲突 和 结构冲突 三类。
三、简答题
数据库设计一般分为哪几个阶段,每个阶段的主要任务是什么?
答:(1)6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。
- 各阶段任务如下:①需求分析:准确了解与分析用户需求(包括数据与处理)。②概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型。③逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化,外模式设计。④数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。⑤数据库实施:设计人员运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 ⑥数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。
第8章 数据库编程
一、选择题
1、修改存储过程使用的语句是( )。 【答案:】A
A. ALTER PROCEDURE B. DROP PROCEDURE C. INSERT PROCEDUE D. DELETE PROCEDUE
2、创建存储过程的语句是( )。 【答案:】C
A. ALTER PROCEDURE B. DROP PROCEDURE C. CREATE PROCEDUE D. INSERT PROCEDUE
3.在SQL Server 编程中,可使用( )将多个语句捆绑。 【答案:】B
A.{ } B. BEGIN-END C.( ) D. [ ]
二、填空题
1、存储过程是存放在( SQL SERVER服务器上 )上的预先定义并编译好的T-SQL语句。
2、游标是系统为用户开设的一个( 数据缓冲区 ),存放SQL语句的执行结果
第10章数据库恢复技术
一、选择题
1、 是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。
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、若系统在运行过程中,由于某种原因造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为 。 【答案:】B
A.事务故障 B.系统故障 C.介质故障 D.运行故障
8、若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为 C 。
A.事务故障 B.系统故障 C.介质故障 D.运行故障
9、 用来记录对数据库中数据进行的每一次更新操作。
A.后援副本 B.日志文件 C.数据库 D.缓冲区
10、用于数据库恢复的重要文件是 。
A.数据库文件 B.索引文件 C.日志文件 D.备注文件
11、数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括 。
A.数据字典、应用程序、审计档案、数据库后备副本 C.日志文件、数据库后备副本
B.数据字典、应用程序、日志文件、审计档案 D.数据字典、应用程序、数据库后备副本
二、填空题
1、 事务 是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。
2、若事务在运行过程中,由于种种原因,使事务未运行到正常终止点之间就被撤消,这种情况就称为 事务故障 。
3、数据库恢复是将数据库从 错误 状态恢复到 某一已知的正确状态 的功能。
4、数据库系统在运行过程中可能会发生故障。故障主要有事务故障、系统故障、介质故障和计算机病毒四类。
5、数据库系统利用存储在外存上其他地方的 冗余数据 来重建被破坏的数据库。
它主要有两种: 后援副本 和 日志文件 。
三、简答题
1、什么是事务,事务有哪些特性?
答:事务是DBMS的基本工作单位,它是用户定义的一组逻辑一致的程序序列。它是一个不可分割的工作单位,其中包含的所有操作,要么都执行,要么都不执行。
事务具有4 个特性:原子性(Atomicity )、一致性(consistency )、隔离性( Isolation )和持续性(Durability )。这4 个特性也简称为ACID 特性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据 对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:持续性也称永久性(Perfnanence ) ,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。
2、事务中的提交和回滚是什么意思?
答:事务中的提交(COMMIT)是提交事务的所有操作。具体说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。具体地说就是,在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤消,使数据库回滚到事务开始时的状态。
3、为什么要设立日志文件?
答:设立日志文件的目的,是为了记录对数据库中数据的每一次更新操作。从而DBMS可以根据日志文件进行事务故障的恢复和系统故障的恢复,并可结合后援副本进行介质故障的恢复。
第11章 并发控制
一、选择题:
1、设有两个事务T1、T2,其并发操作如下所示,下面评价正确的是 。 【答案:】B
A.该操作不存在问题 B.该操作丢失修改 C.该操作不能重复读 D.该操作读“脏”数据
2.设有两个事务T1、T2,其并发操作如下所示,下面评价正确的是 。 【答案:】C
A.该操作不存在问题 B.该操作丢失修改 C.该操作不能重复读 D.该操作读“脏”数据
3、设有两个事务T1、T2,其并发操作如下所示,下列评价正确的是 。 【答案:】D
A.该操作不存在问题 B.该操作丢失修改 C.该操作不能重复读 D.该操作读“脏”数据
4、解决并发操作带来的数据不一致性总是普遍采用 。 【答案:】A
A.封锁 B.恢复 C.存取控制 D.协商
5、若事务T对数据R已经加X锁,则其他事务对数据R 。 【答案:】D
A.可以加S锁不能加X锁 B.不能加S锁可以加X锁 C.可以加S锁也可以加X锁 D.不能加任何锁
6、关于“死锁”,下列说法中正确的是 。 【答案:】D
A.死锁是操作系统中的问题,数据库操作中不存在
B.在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库
C.当两个用户竞争相同资源时不会发生死锁
D.只有出现并发操作时,才有可能出现死锁
7、对并发操作若不加以控制,可能会带来 问题。 【答案:】D
A.不安全 B.死锁 C.死机 D.不一致
8、并发操作会带来哪些数据不一致性 。 【答案:】D
A.丢失修改、不可重复读、脏读、死锁 B.不可重复读、脏读、死锁
C.丢失修改、脏读、死锁 D.丢失修改、不可重复读、脏读
二、填空题
1、DBMS的基本工作单位是事务,它是用户定义的一组逻辑一致的程序序列;并发控制的主要方法是 封锁 机制。
2、有两种基本类型的锁,它们是 共享锁 和 排它锁 。
三、简答题
1、叙述数据库中死锁产生的原因和解决死锁的方法。答:(1)原因:封锁可以引起死锁。比如事务T1封锁了数据A,事务T2封锁了数据B。T1又申请封锁数据B,但因B被T2封锁,所以T1只能等待。T2又申请封锁数据A,但A已被T1封锁,所以也处于等待状态。这样,T1和T2处于相互等待状态而均不能结束,这就形成了死锁。(2)方法有如下三种:①要求每个事务一次就要将它所需要的数据全部加锁。②预先规定一个封锁顺序,所有的事务都要按这个顺序实行封锁。③允许死锁发生,当死锁发生时,系统就选择一个处理死锁代价小的事务,将其撤消,释放此事务持有的所有的锁,使其他事务能继续运行下去。
2、基本的封锁类型有几种?试叙述它们的含义。
答:①排它锁(“X”锁):若事务T对数据A加上X锁,则只允许事务T读取和修改数据A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁。②共享锁(“S”锁):若事务T对数据A加上S锁,则其他事务可以再对A加S锁,而不能加X锁,直到T释放A上的锁。
3、什么是活锁?
①含义:该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。②情形:如果事务Tl封锁了数据R,事务B又请求封锁R,于是B等待.B也请求封锁R,当Tl释放了R上的封锁之后系统首先批准了B的请求,B仍然等待.然后B又请求封锁R,当B释放了R上的封锁之后系统又批准了B的请求。B可能永远等待,这就是活锁的。