数据库原理习题(2015-2016-1)

更新时间:2024-04-13 12:14:01 阅读量: 综合文库 文档下载

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

第一、二、三章练习题

一、单项选择题

1、DBA是指( B )

A、高级程序员 B、数据库管理员 C、数据库系统 D、数据库管理系统 2、在下列关于关系的陈述中,错误的是(B )

A、 表中任意两行的值不能相同 B、 表中任意两列的值不能相同

C、 行在表中的顺序无关紧要 D、 列在表中的顺序无关紧要

3、数据库在磁盘上的基本组织形式是

4.在数据库中存储的是(C )。

[ B]

A.DB B.文件 C.二维表 D.系统目录

A、数据 B、数据模型 C、数据以及数据之间的联系 D、信息

5.在关系数据库系统中,当合并两个关系时,用户程序可以不变。这是( C ) A、数据的物理独立性 B、数据的位置独立性 C、数据库的逻辑独立性 D、数据库的存储独立性 6.在下面的数据模型中,( D )是概念数据模型

A、关系模型 B、层次模型 C、网状模型 D、实体-联系模型 7.关系数据库管理系统都是基于(A )理论。 A. Codd的数据关系模型 B. 数据结构 C. 计算机操纵系统 D. 信息管理

8.如果有9个不同的实体集,它们之间存在着12个不同的二元联系(二元联系

是指两个实体集之间的联系),其中4个1:1联系,4个1:N联系,4个M:N联系,那么根据ER模型转换成关系模型的规则,这个ER结构转换成的关系模式个数为

[B ]

A.9个 B.13个 C.17个 D.21个 A.数据库的总体逻辑结构 B.数据库的局部逻辑结构 C.数据库的物理存储结构 D.数据库的概念结构 10.关系笛卡尔积运算记号R×S中,(D )

A. R为关系名,S为属性名 C. R为属性名,S为关系名

B. R和S均为属性名 D. R和S均为关系名

9.子模式DDL用来描述 ( B )

11.对单个用户使用的数据视图的描述称为 (A) A.外模式 B.概念模式 C.内模式 D.存储模式

12.数据管理技术发展的3个阶段中,( A)阶段没有专门的软件对数据进行管理。

Ⅰ、人工管理阶段 Ⅱ、文件管理阶段 Ⅲ、数据库阶段 A、只有Ⅰ B、只有Ⅱ C、Ⅰ和Ⅱ D、Ⅱ和Ⅲ 13. 在数据库的三级模式间引入二级映象的主要作用是( A ) A、提高数据与程序的独立性 B、提高数据与程序的安全性 C、保持数据与程序的一致性 D、提高数据与程序的可移植性

14. 在关系模型中,同一个关系中的不同属性,其( C )。

A. 属性名可以相同,数据类型不能相同 B. 属性名和数据类型都不能相同 C. 属性名不能相同,数据类型可以相同 D. 属性名和数据类型都可以相同 15. 五种基本关系代数运算是( A )

A. ∪,-,×,π和σ B. ∪,-,∞,π和σ C. ∪,∩,×,π和σ D. ∪,∩,∞,π和σ 16. SQL Server是一种 ( C ) 数据库管理系统。

A)层次型 B)网络型 C)关系型 D)面向对象模型 17、数据库系统中,逻辑数据独立性是指 (B )。 A)数据之间相互独立 B)应用程序与数据库的结构之间相互独立 C)数据的逻辑结构与物理结构相互独立 D)数据与磁盘之间相互独立 18. 下列四项中,不属于数据库特点的是( C)。

A、数据共享 B、数据完整性 C、数据冗余很高 D、数据独立性高 19. 当关系R和S自然联接时,能够把R或S中原该舍弃的元组放到结果关系中的操作是 (D )

A.左外联接 B.右外联接 C.外部并 D.外联接 20. 下面系统中不属于关系数据库管理系统的是( C ) A Oracle B MS SQL Server C IMS D DB2

21、设有关系R,按条件f对关系R进行选择,正确的是(C)

A.R?R B.R ?? R C. ?f(R) D.?f(R)

22、有一个关系:学生(学号,姓名,系别),要求用学号标识每一位学生,这

一约束可用( A ) 实现。

A 实体完整性约束 B 参照完整性约束 C 用户自定义完整性约束 D 关键字完整性约束

23、在关系代数中,从两个关系的笛卡尔积中,选取属性间满足一定条件的元组的操作称为( D )。

A、投影 B、选择 C、自然连接 D、θ连接

24、数据库中可以创建和删除表、视图、索引等,可以修改表等,这是因为数据库管理系统提供了( A )

A、数据定义功能 B、数据操纵功能 C、数据维护功能 D、数据控制功能 25、数据库管理系统的功能不包括( C )

A、定义数据库 B、对已定义的数据库进行管理 C、为定义的数据库提供操作系统 D、数据通信 26、在数据库的三级模式结构中,模式有(A ) A、1个 B、2个 C、3个 D、任意个

27、在关系数据库中,视图是三级模式结构中的(D ) A、概念模式 B、内模式 C、模式 D、外模式 28、在关系数据库中,表是三级模式结构中的(C ) A、存储模式 B、内模式 C、模式 D、外模式 29、在关系数据库中,索引是三级模式结构中的( B ) A、概念模式 B、内模式 C、模式 D、外模式 30、下列的( C )运算不是关系运算中的传统的集合运算。 A.并

B.差

C.投影

D.交

31、在关系中,定义外键是实现(B )。 A、实体完整性 B、参照完整性

C、用户定义完整性 D、参照完整性和用户定义完整性

32、关系A中有6个属性,关系B中的8个属性,关系A中有两个属性名与关系B中相同且其相应的数据类型也相同,则关系A和关系B的自然连接运算结果中,有( C )个属性。

A.6 B.8 C.12 D.14

33、对于关系数据库中的表,下面的说法哪个是不正确的( D ) A、每一列的分量是同一种数据类型,来自同一个域 B、不同列的数据可以来自相同的域 C、列的次序可以任意交换 D、行的次序不可任意交换 34、数据库的概念模型独立于(A )

A、具体的机器和DBMS B、E-R图 C、信息世界 D、现实世界

35、关系模式的任何属性(A )。

A、不可再分 B、可再分 C、命名在该关系模式中可以不推一 D、以上都不是 36、数据库管理系统中,DDL是指(B )。

A、数据库操作语言 B、数据库定义语言 C、交互式语言 D、嵌入式语言 37、(B )是存储在计算机内有结构的数据的集合。

A、数据库系统 B、数据库 C、数据库管理系统 D、数据结构 38、SQL语言具有两种使用方式,分别称为交互式SQL和(C )。 A、提示式SQL B、多用户SQL C、嵌入式SQL D、解释式SQL

39、反映信息世界中实体及实体间联系的模型是( D )。

A、关系模型 B、层次模型 C、网状模型 D、E—R模型 40、在数据库系统阶段,数据( D )。 A、具有物理独立性,没有逻辑独立性 B、具有逻辑独立性,没有物理独立性 C、物理独立性和逻辑独立性均没有 D、具有高度的物理独立性和逻辑独立性

41、在数据库的三级模式结构中,描述数据库全局逻辑结构和特性的是(D )。 A、外模式 B、内模式 C、存储模式 D、模式

42、有12个实体类型,并且它们之间存在着15个不同的二元联系,其中4个是

1:1联系类型,5个是1:N联系类型,6个M:N联系类型,那么根据转换规则,这个ER结构转换成的关系模式有

[B ]

A.17个 B.18个 C.23个 D.27个

A、结构规范化 B、数据安全性 C、操作可行性 D、数据独立性 44、设关系R、S及W各有20个元组,这三个关系的自然连接的元组个数为( D )。 A、20 B、60 C 8000 D、不确定(与计算结果有关) 45、关系运算中花费时间可能最长的运算是(C)。 A.投影 B.选择 C.笛卡尔积 D.除 46、数据库系统的数据独立性是指( B )。 A.不会因为数据的变化而影响应用程序

B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序 C.不会因为存储策略的变化而影响存储结构 D.不会因为某些存储结构的变化而影响其他的存储结构

47、自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的(D )。 A、元组 B、行 C、记录 D、属性

48、一个学生社团可以接纳多名学生参加,但每个学生只能参加一个学生社团,从学生社团到学生的联系类型是(D )。

A、多对多 B、一对一 C、多对一 D、一对多

49、关系数据模型的三个组成部分中,不包括(D )。

43、关系数据库三级模式的划分,有利于保持数据库的( D )

A、完整性规则 B、数据结构 C、数据操作 D、并发控制

50、( B )属于信息世界的模型,实际上是现实世界到机器世界的一个中间层次 A、数据模型 B、概念模型 C、对象模型 D、关系模型 51、集合R与S的连接可以用关系代数的5种基本运算表示为(A )

A、R-(R-S) B、σF(R×S) C、R-(S-R) D、S-(R-S)

52、等值连接运算与自然连接运算是( D )

A、相同的 B、不相同的 C、等价的 D、有时相同 53、( B)是位于用户和操作系统之间的一层数据管理软件。数据库在建立、使用和维护

时由其统一管理、统一控制。

A. DB B.DBMS C.DBS D.DBA

54、关系数据库管理系统应能实现的专门关系运算包括(B )。 A、排序、索引、统计 B、选择、投影、连接 C、关联、更新、排序 D、显示、打印、制表 55、在数据库的三级模式结构中,内模式有(A )

A、1个 B、2个 C、三个 D、任意多个

56、对用户存取权限的核查是数据管理系统中(D )模块的功能。

A、数据库定义 B、数据库管理 C、数据库操纵 D、系统运行控制

57、层次数据模型中,一个子结点至多有( A)个父结点。 A、1 B、2 C、3 D、4 58、有关系R和S,R∩S的运算等价于( B )

A、S-(R-S) B、R-(R-S) C、(R-S)∪S D、R∪(R-S) 59、下列不属于关系代数运算的是( A )。

A.查询 B.投影 C.选择 D.联结

60、数据管理技术的发展分为几个阶段,在( B )阶段,数据是以文件形式长期存储在辅助存储器中,程序和数据之间具有相对的独立性,数据不再属于某个特定的应用程序,数据可以重复使用。

A、手工管理阶段 B.文件管理阶段

C.层次数据库管理阶段 D.关系数据库管理阶段

61、用户可以对数据库中的数据进行查询、插入、删除和修改,这是因为数据库管理系统提供了(C )功能。

A、数据库定义 B、系统运行控制 C、数据库操纵 D、数据库维护 62、下面关于数据库的基本特点,说法正确的是(B)。 A.数据可以共享、数据独立性低、数据冗余度小、统一管理和控制 B.数据可以共享、数据独立性高、数据冗余小、易扩充 、统一管理和控制 C.数据可以共享、数据独立性高、、数据冗余大、易扩充、统一管理和控制 D.数据非结构化、不易扩充 、数据独立性高 、数据冗余小 63、实体联系模型中的联系可以同( B )实体有关。 A、0个 B、一个或多个 C、1个 D、多个

64、下列四项中说法不正确的是( C )

A.数据库减少了数据冗余 B.数据库中的数据可以共享 C.数据库避免了一切数据的重复 D.数据库具有较高的数据独立性 65、要保证数据库逻辑数据独立性,需要修改的是( C )。

A、模式 B、模式与内模式的映象 C、模式与外模式的映象 D、内模式 66、关系数据库中,实现实体之间的联系是通过表与表之间的( D ) A 公共索引 B 公共存储 C 公共元组 D 公共属性 67、现实世界中,事物的一般特性在信息世界中称为 ( C )

A.实体 B.实体键 C.属性 D.关系键

68、数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指( D )。

A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据 C.多个用户共享一个数据文件

D.多种应用、多种语言、多个用户相互覆盖地使用数据集合 69、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是(A)阶段。 A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 70、数据库管理系统(DBMS)是( D )。

A.数学软件B.应用软件 C.计算机辅助设计 D.系统软件 71、数据库管理系统(DBMS)的主要功能是 (B )。

A.修改数据库 B.定义数据库 C.应用数据库D.保护数据库 72. 数据库系统的特点是(A)、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。

A.数据共享 B.数据存储 C.数据应用 D.数据保密 73设关系R(A,B,C)和S(B,C,D,E),下列各关系代数表达式中,不成立的是( B )。

A.?A(R) ?? ?D(S) B.R∪S C. ?B(R) ∩ ?B(S) D.R ?? S 74.描述数据库中全体数据的全局逻辑结构和特征的是(D) A.外模式 B.内模式 C.存储模式 D.模式

75、层次型、网状型和关系型数据库划分是根据( D )的表示方式的不同。 A.记录长度 B.文件的大小 C.联系的复杂程度 D.数据之间的联系 76、 层次模型不能直接表示 (C)

A. 1 :1关系 B.1 :m关系 C. m :n关系 D.1 :1和1 :m关系 77. 数据库技术的奠基人之一E.F.Codd从1970年起发表过多篇论文,主要论述的是( C)。

A.层次数据模型 B.网状数据模型 C.关系数据模型 D.面向对象数据模型

78、设有两个关系R(A,B)和S(B,C),与语句“SELECT A ,B FROM R WHERE B NOT IN(SELECT B FROM S WHERE C!='ss')“等价的关系代数表达式是( C )。 A、π

A,B

(σ

C≠'ss'

(R?S)) B、π

A,B

(R ? S)

C≠'ss'

C、R-πA,B(σC= 'ss'(R?S)) D、R-πA,B(σC≠ss'(R?S)) 79、在数据库中,产生数据不一致的根本原因是(D)。

A.数据存储量太大 B.没有严格保护数据 C.未对数据进行完整性控制 D.数据冗余 80、关系模型中,一个关键字是(C ) 。

A.可由多个任意属性组成 B.至多由一个属性组成

C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D.以上都不是

81、描述事物性质的最小数据单位是( C )。 A. 记录 B. 文件 C. 数据项 D. 数据库

82. 在下面所列出的条目中,哪些是数据库管理系统的基本功能?(D )

Ⅰ.数据库定义 Ⅲ.数据库存取 A) Ⅰ和Ⅱ

Ⅱ.数据库的建立和维护

Ⅳ.数据库和网络中其他软件系统的通信

D) 都是

B) Ⅰ、Ⅱ和Ⅲ C) Ⅱ和Ⅲ

83、设关系R和关系S的元数分别是3和4,关系T是R与S的广义笛卡尔积,

即:T=R×S,则关系T的元数是(A ) A) 7

B) 9

C) 12

D) 1

84. 设属性A是关系R的主属性,则属性A不能取空值(NULL)。这是(A )

A) 实体完整性规则 B) 参照完整性规则

C) 用户定义完整性规则 D) 域完整性规则

85. 在关系数据库中,实现“表中任意二行不能完全相同”的约束是靠(C ) 。 A. 外码 B. 属性 C. 主码 D. 列

86、下面关于外码的描述中,不正确的是(C )。

A. 外码体现了关系间的联系手段 B. 外码是某个关系的码 C. 外码不是任何关系的码

D. 外码是一个关系的码同时是另一个关系的属性 87、当前DBMS所支持的数据模型的主流是(C)。

A. 网状模型 B. 层次模型 C. 关系模型 D. 面向对象模型 88. 能唯一地标识实体属性的( C)称为主码。

A. 组和 B. 排列 C. 集合 D. 元组

89、 下述关于数据库系统的正确叙述是( B)。

A. 数据库中只存在数据项之间的联系

B. 数据库的数据项之间和记录之间都存在联系 C. 数据库的数据项之间无联系,记录之间存在联系 D. 数据库的数据项之间和记录之间都不存在联系 90、对表进行垂直方向的分割用的运算是(B )。 A. 交 B. 投影 C. 选择 D. 连接 91、关系数据库中,实现表与表之间的联系是通过_(B)。 A. 实体完整性规则 B. 参照完整性规则 C. 用户自定义完整性 D. 值域

92、关系数据库中,实现主码标识元组的作用是通过(A) 。 A. 实体完整性规则 B. 参照完整性规则 C. 用户自定义完整性 D. 属性的值域

93、下述哪一条不属于概念模型应具备的性质?(D)

A) 有丰富的语义表达能力 C) 易于变动

B) 易于交流和理解 D) 在计算机中实现的效率高

94、关于主键约束以下说法错误的是(C )

A. 一个表中只能设置一个主键约束 B.允许空值的字段上不能定义主键约束 C.允许空值的字段上定义主键约束 D.可以将包含多个字段的字段组合设置为主键

95、在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的( C)约束。

A、实体完整性B、参照完整性C、用户自定义D、用户操作

二、填空题

1.数据模型通常都是由数据结构、数据操作和完整性约束三个要素组成。其中:数据结构是对数据系统的静态特性的描述,数据操作是对数据的动态特性的描述,完整性约束是保证数据的正确性和相容性。

2.数据库处理技术经历了人工管理、文件系统 和__数据库系统 三个发展阶段。 3.数据安全性保护防止非法用户访问数据,数据的完整性检查保证数据正确性。多个用户同时使用数据库中相同的数据称为并发性。

4.关系数据库三级模式的划分,有利于保持数据库的数据独立性。其原因是三级结构之间存在着两级映象,概念模式与内模式之间的映象保证数据的物理独立性,外模式与概念模式之间的映象,保证数据的逻辑独立性。

5.数据库三层结构分别是、 模式 和内模式。数据库用户能够看见的局部数据的逻辑结构和特征的描述称为外模式(子模式或用户模式),数据库中全体

数据的逻辑结构和特征的描述称为概念模式(逻辑模式),数据物理结构和存储方式的描述,即数据在数据库内部的表示方式称为内模式(存储模式)。 6. 实体间的联系分为:1:1 、 1:N 和 M:N 三种类型。

7. 关系模型只有单一的数据结构,即关系(二维表),一个关系数据模型是由若干个关系组成的集合,其从结构上看实际上是一张规范化的二维表,表中的每一行表示一个实体对象,称为元组,每一列对应一个实体属性。

8.如果一个属性或属性集合的值能唯一标识一个关系的元组而又不含有多余的属性,则称该属性或属性集合为该关系的候选键(候选码)。在一个关系的多个候选码中,选择一个用于插入,删除或检索元组时区分记录,则被选用的候选键称为主键。

9. 实体集之间的联系有三种,分别是 一对一的联系,一对多的联系,多对多的联系。

10.专门的关系运算包括_选择___、__ 投影__、连接和除四种。

11.关系数据库中的完整性约束分为实体完整性、引用完整性、用户自定义的完整性 和域完整型四类

12、传统的集合“并、交、差”运算施加于两个关系时,这两个关系的属性个数必须相等,相对应的属性值必须取自同一个域。

三、简答题

1、什么是数据的完整性?请简述在对关系进行插入、删除和更新操作时各需要进行哪些完整性检查。

答:数据的完整性是指的保证数据的正确性和相容性。

(1) 执行插入操作需要检查域完整性规则、实体完整性、参照完整性规则和用户自定义完整性规则。

(2) 执行删除操作时:如果删除的是参照关系的元组,则不需要进行完整性检查,可以执行删除操作。如果删除的是被参照关系的元组,则须检查参照完整性:检查被删除元组的主关键字属性的值是否被参照关系中某个元组的外部关键字引用,如果未被引用则可以执行删除操作;否则可能有拒绝删除、可以删除和级联删除三种方式处理。

执行更新操作可以看作是先删除旧的元组,然后再插入新的元组。所以执行更新操作时的完整性检查综合了上述两种情况。 2、简述实体之间的联系类型。

实体之间的联系有一对一、一对多和多对多三种类型。

(1)一对一联系(1:1):如果对于实体集A中的每个实体,实体集B中至多有一个(可以没有)与之相对应,反之亦然,则称实体集A与B具有一对一联系,

记作:1:1。

(2)一对多联系(1:n):如果对于实体集A中的每个实体,实体集B中有n个实体(n≥0)与之相对应,反过来,实体集B中的每个实体,实体集A中至多只有一个实体与之联系, 则称实体集A与实体集B具有一对多联系。记作:1:n。 (3)多对多联系(m:n):如果对于实体集A中的每个实体,实体集B中有n个实体(n≥0)与之相对应,反过来,实体集B中的每个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记作:m:n。 3、请简述关系数据模型中对关系的限定(性质) 答:关系的限定(性质):

(1)每一列中的分量是同一类型的数据,来自同一个域。

(2)不同的列可以具有相同的域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。

(3)列的次序可以任意交换;行的次序可以任意交换。 (4)任意两个元组不能完全相同。

(5)分量必须取原子值,即每一个分量都必须是不可分的数据项。 4、简述E-R模型图的描述方法。

答:(1) 矩形框表示实体集,双线矩形框表示弱实体集。 (2) 菱形表示联系集。 (3) 椭圆框表示属性。

(4) 用直线将属性连接到实体集,用带有短线的直线表示实体集的主码属性。 (5)用连线表示实体集之间的联系。每条连线上附加一对数表示联系类型。 5、简述关系的完整性。

答:关系模型中有四种完整性约束:实体完整性、域性完整、参照完整性和用户定义完整性。

(1)实体完整性规则:若属性A是关系R的主属性,则属性A不能取空值(Null),主码取值唯一。

(2)参照完整性规则:如果属性(或属性组)F是关系R外部分关键字,它与关系S的主关键字K相对应,则对于R中的每个元组在属性(或属性组)F的值必须:或者是空值,或者等于S中某个元组的主关键字的值。

(3)用户定义完整性规则:用户按照实际的数据库运行环境要求,对关系中的数据所定义的约束条件,它反映的是某一具体应用所涉及的数据必须要满足的条件。

(4)域性完整:如数据类型、格式、值域范围、是否允许空值等。

四、判断题

1、关系中不同的属性可以出自相同的一个域,也可以具有相同的属性名。(× )

2、关系操作的特点是集合操作(√)

3、关系数据库中表的每一列都是不可分割的基本数据项,同一列中不能有多个值,属性的类型只能是简单类型。(√)

4、数据库的三级模式结构中,概念模式是用户看到的和使用的数据的描述,是用户与数据库的接口(× )

5、数据库的三级模式结构中,外模式是数据库中全部数据的整体逻辑结构的描述。(×)

6、选择运算是对关系的垂直分解。(× )

7、 IBM在1969年研制出的 IMS系统是关系数据库系统的代表产品(× ) 8、关系数据模型的三个组成部分是数据结构、数据操作和并发控制(×) 9、信息是经加工提炼而成的、用于决定行为、计划或具有一定语义的数据(√) 10、数据库中除了存放数据本身外,还要存放数据之间的联系。(√) 11、在文件管理阶段,一组数据只能面向一个应用程序,不能实现多个程序的共享数据。(×)

12、文件系统管理阶段,数据间联系较强。(× )

13、文件系统管理阶段,数据的逻辑结构与物理结构有了区别,但比较简单。(√) 14、概念模式既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、开发工具无关。(√)

15、存储模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。(√)

16、层次数据模型中,结点之间的联系必须是一对多的联系。(√)

17、关系数据模型中,实体类型之间的M:N联系也可以用属性来表示。(× ) 18、关系数据模型不可以直接处理多对多的关系。(× )

19、E.F.codd1970年开始发表的一系论文,真正系统、严格地提出了数据库的关系模型。(√)

20、关系的操作以集合的方式进行,操作的对象是元组的集合,操作的结果也是元组的集合。(√)

21、外模式是数据库用户能够看见的局部数据的逻辑结构和特征的描述,是保证数据库安全性的有力措施,一个数据库可以有多个外模式。( √ ) 22、在关系数据库中,同一关系中不同属性的数据不能自同一个域。(× ) 23、现实世界的对象在数据库中用实体描述 (╳) 24、候选码可以选作主码,但一个主码不总是候选码. (√ )

25实体之间的联系还是实体内部属性间的联系都是由语义决定的。( √ ) 26、对参照关系执行删除操作时,不需要进行完整性检查(√)。

27、关系的操作以集合的方式进行,是指操作的对象是元组的集合,操作的结果

也是元组的集合。( √ ) 五、解答题

1、设关系R(A、B、C)和S(D、E)如下图所示:求:R?S,并写出求解过程。

解:(1)首先算出R和S的笛卡尔积RⅹS: R S A B C D E 1 4 7 A 1 1 1 4 4 4 7 7 7 2 5 8 B 2 2 2 5 5 5 8 8 8 3 6 9 C 3 3 3 6 6 6 9 9 9 D 3 6 5 3 6 5 3 6 5 3 6 5 E 1 2 4 1 2 4 1 2 4 1 2 4 : (2)在RⅹS中选取满足C>D的元组,得R?S A 4 4 7 7 7 B 5 5 8 8 8 C 6 6 9 9 9 D 3 5 3 6 5 E 1 4 1 2 4 C>D

2、假定一个部门的数据库包括以下信息:

职工:职工号、姓名、住址、所在部门 ; 部门:所有职工、经理和销售的产品; 产品:产品名、制造商、价格、型号、内部编号; 制造商:制造商名称、地址、生产的产品名和价格;

其中:一个职工只能在一个部门工作,一个部门有多个职工; 一个部分可以销售多种产品,一种产品可以在多个部分销售;一个产品可以由多个制造商生产,一个制造商可以生产多种产品。 (1)

请画出该数据库的E—R图

(2)

将该E——R图转换为关系模型结构

(1)E—R图为:

职工号 姓名 地址 部门名 经理 产品名 职工 1 从属 n 部门 m 销售 n 产品 n 生产 m 制造商 内部编码 (2)对应的关系模型为: 职工(职工号、姓名、住址、部门号) 部门(部门号、经理、销售) 产品(产品号、产品名、制造商号) 制造商(制造商号、制造商名称、地址、产品名) 销售(部门号、产品号、数量) 生产(制造商号、产品号、价格) 地址 名称 3、在商店管理系统中,商店有商店编号、商店名、地址、电话等属性,顾客有顾客编号、姓名、地址、年龄、性别等属性,商品有商品编号、商品名、生产厂家等属性。管理方式是:一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。一个商店销售多种商品,一种商品可以多个商店销售,每个商店对每种商品有一个销售价格。 (1)画出E-R图,并注明属性和联系类型。 (2)将该E-R图转换成关系模型。

解:关系模型(用“ ”表示主码,用“ ”表示外码。): 商店(商店编号、商店名、地址、电话)

顾客(顾客编号、姓名、地址、年龄、性别)

商品(商品编号、商品名、生产厂家)

消费(商店编号,顾客编号,消费金额,日期)

销售(商店编号,商品编号,价格)

4、设某汽车运输公司有三个实体集。一是“车队”实体集,属性有车队号和车

队名等;二是‘车辆”实体集,属性有牌照号、厂家和出厂日期等;三是“司机”实体集,属性有司机编号、姓名和电话等。

设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每个车辆只能属于一个车队;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数两属性,每个司机可使用多辆汽车,每辆汽车被多个司机使用。 (1)画出E-R图,并注明属性和联系类型。 (2)将该E-R图转换成关系模型。 答:1)E-R图: (2)关系模型为:下划线表示候选关键字,虚线表示外部关键字 车队(车队编号,车队名称)

司机(司机编号,姓名,电话,车队编号,聘期)

使用(司机编号,车辆编号,使用日期,公里数) 车辆(车辆编号,牌照号,厂家,生产日期,车队编号)

5、设大学里教学数据库中有三个实体集。一是“课程”实体集,属性有课程号、课程名称;二是“教师”实体集,属性有教师工号、姓名、职称;三是“学生”实体集,属性有学号、姓名、性别、年龄。 设教师与课程之间有“主讲”联系,每位教师可主讲若干门课程,但每门课程只有一位主讲教师,教师主讲课程将选用某本教材;教师与学生之间有“指导”联系,每位教师可指导若干学生,但每个学生只有一位指导教师;学生与课程之间有“选课”联系,每个学生可选修若干课程,每门课程可由若干学生选修,学生选修课程有个成绩。 (1)试画出ER图,并在图上注明属性、联系类型、实体标识符; (2)将ER图转换成关系模型,并说明主键和外键。 解:(1)ER图如图所示。

(2)转换成的关系模型应具有4个关系模式:

教师(工号,姓名,职称)

学生(学号,姓名,性别,年龄,教师工号) 课程(课程号,课程名称,教师工号)

选课(学号,课程号,成绩)

6、一个图书借阅管理数据库要求提供下述服务:可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号惟一标识。可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有惟一性。当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有惟一性。根据以上情况和假设,试作如下设计: (1).构造满足需求的E-R图。 (2).转换为等价的关系模型结构。

解:(1).满足上述需求的E-R图如图所示。

借书人 借书证号 姓名 单位 工号 姓名 职称 1 教材 主讲 N 课程 M 教师 1 性别 指导 N 选课 N 学生 课程号 课程名称 成绩 学号 姓名 年龄1 借阅 借书日期 还书日期 出版社名 电报编号 m 图书 m

书号 数量 出版 1 出版社 电话 书名 位置 邮编 地址 (2).转换为等价的关系模型结构如下:

第四章 练习题

一、选择题

1、设有两个关系R(A,B)和S(B,C),与下列SELECT语句

SELECT A,B FROM R

WHERE B NOT IN(SELECT B FROM S WHERE C='C56'); (σ

A,B

等价的关系代数表达式是 [ C] A.π

A,B

C≠'C56'

(R?S)) B.πB]

A,B

(R ? S)

A,B

C.R-π

(σ

C= 'C56'

(R?S)) D.R-π(σ

C≠'C56'

C≠'C56' (R?S))

2、嵌入式SQL的预处理方式,是指[

A.识别出SQL语句,加上前缀标识和结束标志 B.把嵌入的SQL语句处理成函数调用形式 C.对源程序进行格式化处理

D.把嵌入的SQL语句编译成目标程序

3、SQL中,“DELETE FROM 表名”表示 [ A]

A.从基本表中删除所有元组

B.从基本表中删除所有属性 D.从基本表中删除重复元组

B.计算属性的个数

C.从数据库中撤消这个基本表 A.计算元组个数

4、SQL中,聚合函数COUNT(列名)用于 [ C]

C.对一列中的非空值计算个数 上为 [ B]

A.数组 B.列表 C.包 D.集合

A. 数据依赖 B. 视图 C. 索引 D. 数据压缩 7、语句 delete from sc 表明( A )

A. 删除sc中的全部记录 B. 删除基本表sc

C. 删除基本表sc中的列数据 D. 删除基本表sc中的部分行 8、在DB应用中,一般一条SQL 语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过( B )实现。

A. 指针 B. 游标 C. 数组 D. 栈

9、在下列基本表的定义中,数值5表示( C )

CREATE TABLE student (Sno char(5) not null unique,Sname char(2)); A. 表中有5条记录 B. 表中有5列 C. 表中字符串Sno 的长度 D. 表格的大小 6、在数据库中,能提高查询速度的是(C )

D.对一列中的非空值和空值计算个数

5、在传统SQL技术中,使用“ORDER BY”子句的SELECT语句查询的结果,实际

10、在视图上不能完成的操作是( C )

A. 更新视图 B. 查询

C.在视图上定义新的基本表 D.在视图上定义新视图 11、下列聚合函数中不忽略空值 (null) 的是 (C)

A、SUM (列名) B、MAX (列名) C、COUNT ( * ) D、AVG (列名) 12、SQL的查询语句的where子句中,对空值的操作,不正确的是 ( C ) A、where AGE IS NULL B、where AGE IS NOT NULL C、where AGE = NULL D、where NOT (AGE IS NULL) 13、Transact-SQL对标准SQL的扩展主要表现为( A )。 A. 加入了程序控制结构和变量 B. 加入了建库和建表语句 C. 提供了分组(Group By)查询功能 D. 提供了Min、Max待统计函数 14、以下哪种情况应尽量创建索引( A )。

A. 在Where子句中出现频率较高的列 B. 具有很多NULL值的列 C. 记录较少的基本表 D. 需要更新频繁的基本表 15、下列SQL Server语句中出现语法错误的是( D )。 A. DECLARE @Myvar INT B. SELECT * FROM [AAA] C. CREATE DATABASE AAA D. DELETE * FROM AAA 16、属于事务控制的语句是( A )。

A. Begin Tran、Commit、RollBack B. Begin、Continue、End C. Create Tran、Commit、RollBack D. Begin Tran、Continue、End 17、在SQL语言的SELECT语句中,实现投影操作的是哪个子句?(A ) A)select A)网状模型

B)from

C)where

D)grou by

18、 用二维表结构表示实体以及实体间联系的数据模型称为(C )

B)层次模型 C)关系模型 D)面向对象模型

第(19)至(21)题是基于如下两个关系,其中雇员信息表关系EMP的主键是雇员号,部门信息表关系DEPT的主键是部门号

EMP 雇员号 001 010 056 101 张 山 王宏达 马林生 赵 敏

号 02 01 02 04 2000 1200 1000 1500 01 02 03 04 业务部 1号楼 销售部 2号楼 服务部 3号楼 财务部 4号楼

DEPT

地址 雇员名 部门工资

部门号 部门名 19、 若执行下面列出的操作,哪个操作不能成功执行?(D ) A) 从EMP中删除行(‘010’,‘王宏达’,‘01’,1200)

B) 在EMP中插入行(‘102’,‘赵敏’,‘01’,1500) C) 将EMP中雇员号=‘056’的工资改为1600元 D) 将EMP中雇员号=‘101’的部门号改为‘05’

20、若执行下面列出的操作,哪个操作不能成功执行?(C ) A) 从DEPT 中删除部门号=‘03’的行

B)在DEPT中插入行(‘06’,‘计划部’,‘6号楼’) C) 将DEPT中部门号=‘02’的部门号改为‘10’ D) 将DEPT中部门号=‘01’的地址改为‘5号楼’

21、在雇员信息表关系EMP中,哪个属性是外键(foreign key)?(C ) A) 雇员号

B) 雇员名

C) 部门号

D) 工资

22、下面关于WHERE语句和HAVING语句的描述正确的是(C )。 A、WHERE和HAVING语句都引导搜索条件,它们是等价的。 B、WHERE语句和HAVING语句不能同时使用在一个查询操作中。

C、HAVING语句用于组或聚合函数的搜索条件,它常用于GROUP BY 子句后。 D、一般说,WHERE语句的效率要高于HAVING语句,所以更好使用WHERE引

导搜索条件

23、设有一个关系:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成WHERE DNAME LIKE ( B )

A ‘_ _ W _ %’ B ‘_ % W _ _’ C ‘_ W _ _’ D ‘_ W _ %’

24、 下面列出的关于“视图(View)”的条目中,哪一条是不正确的?( B) A) 视图是外模式

B)使用视图可以加快查询语句的执行速度

C) 视图是虚表 D) 使用视图可以简化查询语句的编写

25、 SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句

INSERT、DELETE、UPDATE实现哪类功能?(B ) A) 数据查询

B) 数据操纵

C) 数据定义

D) 数据控制

26、在数据库管理系统中,下面哪个模块不是数据库存取的功能模块?( A) A) 事务管理程序模块

B) 数据更新程序模块 D) 查询处理程序模块

C) 交互式程序查询模块

27、SQL查询语句中,用于测试子查询是否为空的谓词是(A)。 A、EXISTS B、UNIQUE C、SOME D、ALL 28、下列SQL语句中,插入数据的是(D )。

A、CREATE B、ALTER C、UPDATE D、INSERT 29、部分匹配查询中有关通配符“_”的正确的叙述是 ( D)

A.“_”代表多个字符 B.“_”可以代表零个或多个字符 C.“_”不能与“%”一同使用 D.“_”代表一个字符

30、当修改基本数据时,下列关系视图的说法正确的是(B ) A、需要重建 B、查以看到修改结果 C、无法看到修改结果式 D、不许修改带视图的基表

31、在表或视图上执行除了( )以外的语句都可以激活触发器。 A.Insert B. Delete C. Update D. Create 32、SQL中,“AGE IN(20,22)”的语义是( D )。

A)AGE<=22 AND AGE >=20 B)AGE <22 AND AGE >20

C)AGE =20 AND AGE =22 D)AGE =20 OR AGE =22 33. 若用如下的SQL语句创建一个student表:

CREATE TABLE student(NO C(4) NOT NULL, NAME C(8) NOT NULL, SEX C(2), AGE N(2))

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

A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL) C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23) 34、已知关系:厂商(厂商号,厂名) PK=厂商号

产品(产品号,颜色,厂商号) PK=产品号,FK=厂商号 假设两个关系中已经存在如图所示元组:

厂商 产品

厂商号 C01 C02 C03 厂名 宏达 立仁 广源 产品号 颜色 厂商号 P01 P02 若再往产品关系中插入如下元组: I(P03,红,C02) II(P01,蓝,C01) III(P04,白,C04) IV(P05,黑,null) 能够插入的元组是( D )

A I,II,IV B I,III C I,II D I,IV 35、下列SQL语句中,修改表结构的是(D )。

A、CREATE B、INSERT C、UPDATE D、ALTER 36、SQL语句通常称为( A)。

A、结构化查询语言 B、结构化控制语言 C、结构化定义语言 D、结构化操纵语言

37、SQL语言的一体化特点主要是与( B)相比较而言的。

A、操作系统命令 B、非关系模型的数据语言 C、高级语言 D、自然语言

红 黄 C01 C03 38、SQL语言中,删除一个表的命令是( B )

A、 DELETE table B、DROP table C、 CLEAR table D、 REMORE table 39、在基表S中查询所有姓名中有“国”的学生,在WHERE子句中应使用( A)通配符。

A. LIKE ’%国%’ B. LIKE ‘%国_’ C. LIKE ’_国%’ D. LIKE ‘_国_’ 40、下列哪个不属于数据库对象(B )

A、基本表 B、SELECT语句 C、存储过程 D、视图 41、关于SQL Server文件组的叙述正确的是:( A )。 A、一个数据库文件不能存在于两个或两个以上的文件组里 B、日志文件可以属于某个文件组 C、文件组可以包含不同数据库的数据文件 D、一个文件组只能放在同一个存储设备中

42、在SQL Server 中关于索引叙述正确的是:( B )。

A、每个数据库表可以建立多个聚集索引 B、每个表可以定义多个非聚集索引 C、索引的数据保存在同一个表中 D、索引不会改变表中的数据 43、关于索引描述错误的是以下的哪一个?( A)

A、表中的任何数据列都可以添加索引 B、创建索引的列最好不要含有许多重复的值 C、一般不给很少使用的列添加索引

D、并不是数据库中聚集索引越多搜索效率就越高 44、关于存储过程的描述正确的一项是:( C )。

A、存储过程的存在独立于表,它存放在客户端,供客户使用

B、存储过程只是一些T-SQL语句的集合,不能看作SQL Server的对象 C、存储过程可以使用控制流语句和变量,大大增强了SQL的功能 D、存储过程在调用时会自动编译,因此使用方便 45、关于触发器叙述正确的是( A )。

A、触发器是自动执行的,可以在一定条件下触发 B、触发器不可以同步数据库的相关表进行级联更改 C、SQL Server 不支持DDL触发器

D、触发器不属于存储过程

46、在基表S中删除电话号码(PHONE)属性使用( B) 命令。 A. ALTER S DROP PHONE B. ALTER TABLE S DROP PHONE C. UPDATE TABLE S PHONE D. DROP TABLE S PHONE

47.在SQL数据库中,视图(view)是从一个或几个基表(或视图)导出的表,它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应

的数据,这些数据仍然存放在对应的基表中。因此视图( B )。 A. 也是一个表 B. 是一个虚表 C. 是一个数据库 D. 是一个文件

48、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),

学生选课关系是SC(S#,C#,GRADE),要查找选修“COMPUTER”课程的女学生的姓名,将涉及到关系(D)。 A. S

B. SC,C C. S.SC

D. S,C,SC

二、填空题

1、在SQL查询语句中,用于测试子查询是否为空的谓词是_ EXISTS __。 2、在查询操作结果中不出现重复元组,应在Select子句中使用_ DISTINCT_保留字。

3、视图是一个虚表,它是从一个或几个基本表中导出的表。在数据库中,只存放视图的结构定义,不存放视图的对应的数据.

4、数据库系统的权限控制方法分为 自主存取控制和 强制存取控制方法两种 5、在SQL Server 中,数据库的文件分为主数据文件_、辅助数据文件_和_事务日志文件三大类;

6、SQL的数据操纵功能主要包括INSERT、__UPDATE__和__DELETE_三个语句。 7、在字符匹配查询中,通配符“%”代表_任意多个字符___,“_”代表__任意单个字符。

8、触发器是一种特殊的存储过程,它可以在对一个表上进行__插入__、_删除_和___修改__操作中的任一种或几种操作时被自动调用执行。 9、SQL语言具有两种使用方式,分别称为交互式SQL和嵌入式SQL

10、

三、判断题

1、视图是一张虚表,视图中不存储数据(√) 2、用户不允许使用视图修改表数据(× )

3、数据库中的视图只能使用所属数据库的表,不能访问其它数据库的表(× ) 4、视图既可以通过表得到,也可以通过其它视图得到(√) 5、与主键不同,惟一性可以是null值。(√)

6、触发器就其本质而言是一种特殊的存储过程。存储过程和触发器在数据库的开发中,在维护数据库实体完整性等方面具有不可替代的作用。(×) 7、在定义表结构时,实体完整性约束必须定义在表级。( ╳ )

8、一旦建立数据库表,就没有办法重命名了,所以对数据库表命名时要慎重。(× )

9、在定义表结构时,如果完整性约束条件涉及到的是单个属性,则可以是表级完

整性,也可以是列级完整性约束。(√ )

10、存储过程是存放在服务器上的预先定义与编译好的SQL语句的命名集合(√) 11、在数据表定义时设置Primary key是数据库的实体完整性控制。( √ ) 12、在数据表定义时设置主键(Primary key)则不允许插入全为空的记录。(√ ) 13.视图、表是一样的,都可以进行更新操作的。 ( ╳ ) 14、触发器操作与约束有冲突时,触发器仍会执行。( ╳ ) 15、删除触发表时,触发器被随之删除。(√)

16、Order by子句仅对检索数据的显示有影响,并不改变表中行的内部顺序。(√) 17、从一个表中删除元组时,delete和drop table命令可以起到同样的效果。(×)

18、使用having子句是为了限制group by子句返回的行的个数。(√) 19、在定义表结构时,如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级。(√)

四、综合题

1、设某商业集团关于商店销售商品的数据库中有三个基本表:

商店

销售 商品

SHOP(S#,SNAME,AREA,MGR_NAME)

其属性是商店编号,商店名称,区域名,经理姓名。 SALE(S#,G#, QUANTITY)

其属性是商店编号,商品编号,销售数量。 GOODS(G#,GNAME,PRICE)

其属性是商品编号,商品名称,单价。

(1)试写出检索销售“冰箱”的商店的编号和商店名称的SELECT语句表达形式。 (2)试写出下列操作的SQL语句:

从SALE表中,把“开开商店”中销售单价高于1000元的商品的销售元组全部删除。

(3)试写出下列操作的SQL语句:

1、答:解:(1)SELECT语句如下:

SELECT A.S#,SNAME

FROM SHOP A,SALE B,GOODS C

WHERE A.S#=B.S# AND B.G#=C.G# AND GNAME='冰箱';

统计区域名为“EAST”的所有商店销售的每一种商品的总数量和总价值。 要求显示(G#,GNAME,SUM_QUANTITY,SUM_VALUE),其属性为商品编号、

商品名称、销售数量、销售价值。

(2)解:DELETE FROM SALE

WHERE S# IN(SELECT S#

FROM SHOP

WHERE SNAME='开开商店') FROM GOODS

WHERE PRICE>1000);

PRICE*SUM(QUANTITY)AS SUM_VALUE

AND G# IN(SELECT G#

(3)解:SELECT C.G#,GNAME,SUM(QUANTITY)AS SUM_QUANTITY,

FROM SHOP A,SALE B,GOODS C

WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST' GROUP BY C.G#,GNAME;

(注:SELECT子句中的属性C.G#,GNAME应在分组子句中出现)

2、设教学数据库中有四个关系:

教师(教师编号,教师姓名,联系电话) 课程(课程号,课程名,教师编号)

学生(学号,学生姓名,年龄,性别,专业) 选课(学号,课程号,成绩)

(1)创建学生表和选课表,要求:指定每个表的主关键字、外部关键字和check约束。

(2)将所有学生的“高等数学”课程的成绩增加10分。 Update选课 set成绩=成绩+10 where课程号in (

select课程号 from 课程 where课程名=’高等数学’

(3)将课程表的查询和修改权限授给teacher用户,同时允许转授给其它用户。 Grant select,update on 课程 to teacher with grant option (4)查询男生所学课程的课程号和课程名。

Selec 课程号,课程名 FROM 学生,选课,课程

Where学生.学号=选课.学号 and 选课.课程号=课程.课程号 and 性别=’男’

或Selec 课程号,课程名 FROM 课程 where课程号 in ( Select 课程号 from 选课 where 学号 in ( Select学号 from 学生 where 性别=’男’))

(5)查询所有姓王的教师所授课程的课程号和成绩(按课程号排序)。

Select 选课.课程号, 成绩 from 教师,课程,选课 where 教师姓名like ‘王%’ And 教师.教师编号=课程.教师编号 and 课程.课程号=选课.课程号

order by 课程号

(6)统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列。

Select 课程号 ,count(学号) 人数 from 选课

group by课程号 having count(*)>10 order by 人数 desc (7) 检索所有姓“李”的学生的姓名和年龄

Select 学生姓名,年龄 from 学生 where 学生姓名 like ‘李%’ (8)求男生的最高成绩

Select max(成绩) from 选课 where 学号 in (select 学号 from 学生 Where 性别=’男’)

3、基于系、班、学生、课程和成绩五张表,完成下列操作 1)用SQL命令创建基本表结构 2)用alter命令修改表结构:

(1)在学生表中增加一个“联系电话”字段。 (2)增加约束:“学分” 只能取{1,2,3,4}。 (3)增加约束:学分的缺省值为3 。

(4)增加约束:学生表和成绩表的“学号”前两位为 “20”,第三位与第四位

必须为数字。

(5)删除系表中系表中系名称的唯一性约束。 (6)删除学生表中的“联系电话”字段。 (7)为SC表中的Sno字段增加外码约束。 (8)修改班级表中班级名称的数据类型为char(5) 3)数据操纵语言

(1)向Student表插入下面5单条记录

2012108001 张三 男 20121080 17

(2)向Student表插入一条记录

学号:2013108406 姓名:李新 性别:男 班级:与20131080在同一班 年龄:与2013108005的年龄相同

(3)学号为2013108005的学生,选修了所有的课程,每门功课都还没有成绩,

请将该同学的选课记录插入到选课表中。

(4)为所有学生选修数据库原理课程,其成绩为NULL。

(5)将student表中学号为2013108002的记录年龄更新29,班级编码更新为2013软本

(6)将student表中学号为2013108003的记录年龄更新为学号为2013108004的年龄减1,性别更新成与2013108005的性别相同

(7)批量更新:将student表中,所有年龄大于18岁的男同学的班级编号更改成2013软本,年龄更新成20岁

(8)带子查询的更新:将SC表中,学号在Student中出现过并且考试成绩为空的考试成绩更新为60。

(9)删除student中,学号为2013108002的记录 (10)批量删除: 删除SC中,学号为2013108004的记录

(11)带子查询的删除:删除Student表中存在,但是在SC表中不存在选课记录的学生。 4)数据查询语言

(1)查询全体学生的全部信息,并为学生表命名别名

(2)查全体学生的学号、姓名与出生年份,并为年份加上标题(别名) (3)查询年龄在20~23岁的学生信息(要求至少使用两种方式完成查询) (4)查询信息系2013108、20131084和20131087班的学生(使用IN关键字) (5)查询既不是数学系,也不是计算机科学系的学生的姓名和性别。 (6)查询所有姓刘学生的姓名、学号和性别 (7)查询姓在刘与李之间的学生的姓名、学号和性别 (8)查询名字中第2个字为\阳\字的学生的姓名和学号 (9)查询没有考试成绩的学生学号和课程号

(10)查询全体学生情况,查询结果按班级编号升序排列,同一个班中的学生按年龄降序排列

(11)查询选修了课程的学生人数

(12)计算c001号课程的学生平均成绩,最高成绩, 并为计算列取别名 (13)求各个课程号及相应的选课人数,要求只显示选课人数超过10的课程 (14)查询选修了3门以上课程的学生学号(提示用Having字句)

(15)查询有3门以上课程是90分以上的学生的学号及(90分以上的)课程数。 (16)查询全体学生的学号、姓名、选修的课程名及成绩

(17)查询每个学生及其选修课程情况的所有信息(用*表示字段)

(18)查询选修cn01号课程且成绩在90分以上的所有学生的学号、姓名和成绩 (19)查询某门课程考试成绩相同的学生学号和课程信息

(20)查询所有女生的学号、姓名、班级名、所在的系名、选修课程名及成绩 (21)查询每个学生的选修课程包括没有选修课程的学生(外连接)

(22)查询每个学生的选修课程即包括没有被学生选修的课程又包括没有被学生

选修的课程(全连接)

(23)查询年龄大于所有女生年龄的男生信息

(24)查询成绩大于本门课程平均成绩的学生学号、姓名、课程名及成绩

(25)查询与“张三”在一个系学习的学生

(26)查询选修了课程名为“数据库原理”的学生学号和姓名 (27)查询所有考试成绩均在90分以上的学生的信息

(28)查询成绩高于本门课程平均成绩的学生的学号、姓名、课程名和成绩 (29)查询没有选修任何课程的学生的学号、姓名和所在的系名(学号未出现在SC表中表示没有选修课程)

(30)查询至少选修了学生‘2012108001’所选的某一门课程的学生信息 (31)查询数据库原理成绩高于所有女生数据库原理成绩的男生的学号和姓名 (32)查询数据库原理成绩高于本班任意一个女生数据库原理成绩的男生的学号

和姓名,以学号排序。

(33)查询计算系的选修了“数据库原理”课程的学生姓名及成绩

第 五、六章练习题

一、 选择题

1、在关系数据库设计中,子模式设计是在 [ 2、设有关系R(A,B,C)的值如下:

A B C

2 2 3 2 3 4 3 3 5

(B)

B.函数依赖BC→A在上述关系中成立 D.函数依赖A→BC在上述关系中成立

B]阶段进行。

A.物理设计 B.逻辑设计 C.概念设计 D.程序设计

下列叙述正确的是

A.函数依赖A→B在上述关系中成立 C.函数依赖B→A在上述关系中成立 3、数据库设计阶段分为( D )

A. 物理设计阶段、逻辑设计阶段、编程和调试阶段 B. 模型设计阶段、程序设计阶段和运行阶段

C. 方案设计阶段、总体设计阶段、个别设计和编程阶段

D. 概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段 4、下列说法中不正确的是(C)。

A. 任何一个包含两个属性的关系模式一定满足3NF B. 任何一个包含两个属性的关系模式一定满足BCNF C. 任何一个包含三个属性的关系模式一定满足3NF D. 任何一个关系模式都一定有码

5、在数据库设计中,将ER图转换成关系数据模型的过程属于 ( B ) A.需求分析阶段 B.逻辑设计阶段 C.概念设计阶段 D.物理设计阶段 6、下述哪一条不是由于关系模式设计不当而引起的?( B)

A) 数据冗余 B) 丢失修改 C) 插入异常 D) 更新异常

7、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及(C) 的缺陷。

A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失 8、下列属于逻辑结构设计阶段任务的是(C )。

A.生成数据字典 B.集成局部E-R图 C.将E-R图转换为一组关系模式 D.确定数据存取方法

9、关系模式R中的属性全部是主属性,则R至少是( C )范式的关系模式 A、1NF B、2NF C、3NF D、BCNF

10、ODBC中的“数据源”概念是( C )

A、代表一个DBS的命名 B、代表一个数据库的命名 C、代表驱动器和DBMS连接命名 D、代表一个磁盘的命名

11、将局部E-R图集成为全局E-R图时,可能存在3类冲突,下面对这些冲突的描述中,不属于这3类冲突的是( D )

A、属性冲突 B、结构冲突 C、命名冲突 D、模式冲突 12、ODBC技术中,数据源分为除了( B )以外的三种。

A、用户数据源 B、网络数据源 C、系统数据源 D、文件数据源 13、ODBC是指( C )

A、对象数据为约束 B、面向数据库约束 C、开放式数据互联 D、开放式数据库约束

14、当关系模式R(A,B)已属于3NF,下列说法中(C )是正确的。 A、它一定消除了插入和删除异常 B、一定属于BCNF C、仍存在一定的插入和删除异常 D、A和B都是 15、关系数据库规范化是为解决关系数据库中(A ) A、插入、删除和数据冗余 B、提高查询速度

C、减少数据操作的复杂性 D、保证数据的安全性和完整性 16、对于关系数据库,任何关系模式都可以达到(A ) A、1NF B、2NF C、3NF D、BCNF 17、概念结构设计阶段得到的结果是( B )

A、数据字典描述的数据需求 B、E—R图表示的概念模型

C、某个DBMS所支持的数据模型 D、包括存储结构和存取方法的物理结构 18、关系模式中,满足2NF的模式,( B )。 A.可能是1NF B.必定是1NF C.必定是3NF D.必定是BCNF 19、候选关键字中的属性可以有 ( C )。

A.0个 B.1个 C.1个或多个 D.多个 20、关系模式中各级模式之间的关系为( C )。 A.3NF?2NF?1NF B.3NF?1NF?2NF C.1NF?2NF?3NF D.2NF?lNF?3NF

21、从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是( C)。

A.M端实体的关键字 B.N端实体的关键字 C.M端实体关键字与N端实体关键字组合 D.重新选取其他属性 22、从E-R模型关系向关系模型转换时,将一个1:N联系转换为关系模式,该关系模式的关键字是( B)。

A.1端实体的关键字 B.N端实体的关键字 C.1端实体关键字与N端实体关键字组合 D.重新选取其他属性

二、填空题

1、在关系数据库中,规范化关系是指_满足1NF(或属性值不可分解) 2、 在设计分E-R图时,由于各个子系统分别面向不同的应用,所以各个分E-R

图之间难免存在冲突,这些冲突包括命名冲突、_属性冲突和_结构冲突三类。 3、在规范化设计中,消除1NF中的非主属性对码的部分函数依赖,就得到2NF,,消除2NF中的非主属性对码的传递函数依赖,就得到3NF。

4、设计E-R模型是数据库设计中的概念设计阶段的任务将E-R图中的实体和联系转换为关系模型中的关系,这是数据库设计过程中逻辑结构 或 逻辑设计阶段的任务。

5、关系模式规范化过程中,若要求分解保持函数依赖,那么模式分解一定可以

达到3NF,但不一定能达到BCNF。

6、一个不好的关系模式会存在_插入异常_、_删除异常_和___数据冗余及修改异常等弊端。

7、函数依赖讨论的是属性之间的依赖关系 8、包含在候选码中的属性称为主属性。

9、把低级范式的关系模式通过模式分解转换为高一级范式的关系模式的集合,这个过程称为关系模式的规范化设计。

三、判断题(20分)

1、当关系模式已属于3NF时一定消除了所有异常。( ×) 2、函数依赖讨论的是属性之间的对应关系。(√ )

3、关系模式R(U),K?U, K?U在R上成立,则K为R的一个候选键。(×) 4、E—R图设计的视图集成时,要尽可能合并对应的部分,保留特殊的部分,删除冗余部分。( √)

5、在设计数据库时,要求规范化程度越高越好。(× )

6、规范化程度是衡量一个关系模式好坏的标准之一,但不是唯一的标准。 7、若R∈2NF,则R的每个非主属性既不部分函数依赖于候选码,也不传递函数依赖于候选码。(× )

8、数据库设计过程中,逻辑设计阶段的任务是根据将E-R图中的实体和联系转换为关系模型中的关系。( √ )

9、数据库设计应充分利用和发挥现有DBMS的功能和性能。(× )

10、评价物理数据库的方法依赖于所选用的DBMS,不同的数据库产品所提供的物理环境、存取方法和存储结构有很大差别。( √ )

第七、八练习题

一、选择题

1、DBMS的并发控制子系统,保证了事务( C )的实现

A.原子性 B.一致性 C.隔离性 D.持久性 2、下面( B)不是数据库系统必须提供的数据控制功能。

A.安全性

B.可移植性

C.完整性

D.并发控制

3、在DB技术,读到的未提交的且随后被撤消了的数据,称为 ( D ) A.报废的数据 B.过时的数据 C.撤消的数据 D.脏数据 4、保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的( A )。

A.安全性 A.安全性

B.完整性 B.完整性

C.并发控制 C.并发控制

D.恢复 D.恢复

5.数据库的( B )是指数据的正确性和相容性。

6.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的( D )。

A.可靠性

B.一致性

C.完整性

D.安全性

7、下面列出的条目中,哪些是事务并发执行中可能出现的主要问题?(D) Ⅰ.丢失更新 Ⅱ.对未提交更新的依赖 Ⅲ.不一致的分析 A) Ⅰ和Ⅱ

B) Ⅱ和Ⅲ

C) Ⅰ和Ⅲ

D) 都是

8. 如果事务T获得了数据项Q上的排它锁,则T对Q ( C )

A、只能读不能写 B、只能写不能读 C、既可读又可写 D、不能读不能写 9. DBMS中实现事务持久性的子系统是 ( D) A.安全性管理子系统 B.完整性管理子系统

C.并发控制子系统 D.恢复管理子系统

10、SQL语言的GRANT和REVOKE语句主要用来维护数据库的(A )。 A. 安全性 B. 完整性 C. 可靠性 D. 一致性 11、( C )是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。

A.程序

B.命令

C.事务 D.文件

12、关于登录和用户,下列各项表述不正确的是:( C )。 A、登录是在服务器级创建的,用户是在数据库级创建的 B、创建用户时必须存在该用户的登录 C、用户和登录必须同名 D、一个登录可以对应多个用户

13、关于SQL Server 的数据库角色叙述正确的是:( D )。

A、用户可以自定义固定服务器角色 B、每个用户能拥有一个角色 C、数据库角色是系统自带的,用户一般不可以自定义

D、角色用来简化将很多权限分配给很多用户这个复杂任务的管理 14、下列关于数据库备份的叙述错误的是:(A )。

A、如果数据库很稳定就不需要经常做备份,反之要经常做备份以防数据库损坏 B、数据库备份是一项很复杂的任务,应该由专业的管理人员来完成 C、数据库备份也受到数据库恢复模式的制约

D、数据库备份策略的选择应该综合考虑各方面因素,并不是备份做得越多越全就越好

15、在数据系统中,对存取权限的定义称为( C )。

A、命令 B、定义 C、授权 D、审计

16、为了防止一个用户的工作不适当地影响另一个用户,应该采取( C) A 、完整性控制 B、 安全性控制 C、 并发控制 D、 访问控制 17、事物的持久性是指( B)。

A、事物中包括的所有操作要么都做,要么都不做 B、事物一旦提交,对数据库的改变是永久的

C、一个事物内部的操作及使用的数据对并发的其他事物是隔离的 D、 事物必须是使数据库从一个一致性状态变到另一个一致状态 18、数据库中的封锁机制是( C)的主要方法. A、安全性 B、完整性 C、并发控制 D、恢复 19、关系数据库规范化是为解决关系数据库中( D) A、插入、删除和数据冗余 B、提高查询速度

C、减少数据操作的复杂性 D、保证数据的安全性和完整性 20、日志文件是用于记录( C ) A、程序运行过程 B、数据操作

C、对数据的所有更新操作 D、程序执行的结果

21、数据库中数据在任何时刻都必须满足的完整性约束条件是(A ) A、静态约束条件 B、动态约束条件 C、元组约束条件 D、属性约束条件 22、存在一个等待事务集{T0,T1,?,Tn},其中T0正等待被T1锁住的数据项,T1正等待被T2锁住的数据项,Tn-1正等待被Tn锁住的数据项,且Tn正等待被T0锁住的数据项,则系统的工作状态处于(D )

A 、并发处理 B、封锁 C、循环 D、死锁

23、对数据库并发操作有可能带来的问题包括(A)。 A、读出“脏数据” B、带来数据的冗余 C、未被授权的用户非法存取数据 D、破坏数据独立性

24、事务有多个性质,其中不包括( A )。

A、唯一性 B、一致性 C、原子性 D、隔离性

25、T1和T2为两个事务,它们对数据A的并发操作如下所示。

T1 ①请求 S LOCK A 读A=18 ②

③A=A+10写回 A=28 COMMIT UNLOCK A ④

T2 请求 S LOCK A 读A=18

写回A=18 COMMIT UNLOCK

对这个并发操作,下面5个评价中( B)和 ( D)两条评价是正确的。 A.该操作不能重复读 B.该操作丢失修改 C.该操作符合完整性要求

D.该操作的第①步中,事务T1应申请X锁 E.该操作的第②步中,事务T2不可能得到对A的锁 26.解决并发操作带来的数据不一致性总是普遍采用 ( A)。

A.封锁

B.恢复

C.存取控制

D.协商

27、关于“死锁”,下列说法中正确的是( D)。

A.死锁是操作系统中的问题,数据库操作中不存在

B.在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库 C.当两个用户竞争相同资源时不会发生死锁 D.只有出现并发操作时,才有可能出现死锁

28.对并发操作若不加以控制,可能会带来( D)问题。

A.不安全

B.死锁

C.死机

D.不一致

29、若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未

受影响,这种情况称为( B)。 A.事务故障

B.系统故障

C.介质故障

D.运行故障

30.若系统在运行过程中,由于某种硬件故障,

使存储在外存上的数据部分损失或全部损失,这种情况称为( C)。

A.事务故障

B.系统故障

C.介质故障

D.运行故障

31. 如果有n个事务串行调度,那么不同的有效调度有 [ D] A.n2 B.2n C.4n D.n!

32、下列SQL语句中,能够实现“收回用户ZHAO对学生表(STUD)中学号(XH)

的修改权”这一功能的是 C

A.REVOKE UPDATE(XH) ON TABLE FROM ZHAO B.REVOKE UPDATE(XH) ON TABLE FROM PUBLIC C.REVOKE UPDATE(XH) ON STUD FROM ZHAO D.REVOKE UPDATE(XH) ON STUD FROM PUBLIC

33、把对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是 (C) 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 34、并发操作会带来哪些数据不一致性( D )

A.丢失修改、不可重复读、脏读、死锁 B.不可重复读、脏读、死锁 C.丢失修改、脏读、死锁 D.丢失修改、不可重复读、脏读 35、事务的原子性是指 (A)。

A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的

C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 36、事务的一致性是指(D)

A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据为的改变是永久的

C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 37、事务的隔离性是指(C )

A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的

C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的

D.事务必须是使数据库从一个一致性状态变到另一个一致性状态

38、若数据库中只包含成功事务提交的结果,则此数据库就称为处于(B)状态。 A.安全

B、.一致

C.不安全

D.不一致

39、若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行

过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为(B) A.事务故障 A.后援副本

B.系统故障 B.日志文件

C.介质故障 C.数据库

D.运行故障

40、(B)用来记录对数据库中数据进行的每一次更新操作。

D.缓冲区 D.备注文件

42、用于数据库恢复的重要文件是( C)。 A.数据库文件 B.索引文件

C.日志文件

43、数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括 (C )。 A.数据字典、应用程序、审计档案、数据库后备副本 B.数据字典、应用程序、日志文件、审计档案 C.日志文件、数据库后备副本

D.数据字典、应用程序、数据库后备副本

44、若事务T对数据R已经加X锁,则其他事务对数据R(D)。 A.可以加S锁不能加X锁 C.可以加S锁也可以加X锁 A.不安全

B.死锁

B.不能加S锁可以加X锁

D.不能加任何锁

D.不一致

45、对并发操作若不加以控制,可能会带来(D )问题。

C.死机

二、填空题

1、有两种基本类型的锁,它们是共享锁 和 排它锁 。

2、并发操作带来数据不一致性包括:丢失更新、不可重复读和读“脏”数据。 3、事务必须具有的四个性质是:原子性、一致性、分离性和持久性。

4、在数据库并发控制中,两个或更多的事务同时处于相互等待状态,称为 死锁 。 5、SQL Server 2008提供了两种对用户进行身份验证的模式,它们分别是_Windows 身份验证模式__和___混合身份验证模式_。

6、SQL Server的事务模式可分为显式事务、隐式事务和自动事务模式三种。 7、在数据库的转储时,静态转储是系统中无运行事务时进行的转储操作; 动态转储是转储期间不中断数据库的操作的转储操作。 8、预防死锁的常用方法是一次封锁法和 顺序封锁法。 9、封锁数据单元的大小称为封锁粒度 。

14、被命名的一组与数据库操作相关的权限称为 角色 。 15、数据库系统故障分为事务故障、系统故障和磁盘介质故障三类

16、SQL Server中能够在服务器上执行所有操作的固定服务器角色是sysadmin,拥有数据库最高权限的固定数据库角色是db_owner 。

17、 事务 是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。 18、若事务在运行过程中,由于种种原因,使事务未运行到正常终止点之间就被撤消,这种情况就称为 事务故障 。

三、判断题

1、Delete可以有选择地删除记录,使用rollback语句可以取消这个命令的执行。(√)

2、关系数据库已经是最好的了,现在的应用都能得到满足 ( ╳) 3、数据库备份的类型只有两种,分别是数据库备份、事务日志备份;恢复模式只有三种:简单恢复、完全恢复、批日志恢复。( ×)

4、数据复制是SQL SERVER的主要功能之一。复制有三种类型,其中对于复制不经常更改的数据,或不要求保持数据最新值(低滞后时间)的情况,合并复制是一种最好的数据复制方法。( ×)

5、在建立用户的登录帐号信息时,SQL SERVER会提示用户选择默认的数据库,以后用户每次连接上服务器之后,都会自动转到默认的数据库。( √ ) 6、SQL SERVER 在服务器和数据库级的安全级别上都设置了角色,其中角色是用户分配权限的单位。SQL SERVER 允许用户在服务器级别上创建角色,但是为数据库安全,不允许在数据库级上建立新的角色。(× ) 7、一个事务只能有一条SQL语句。(× ) 8、并发执行的事务不应该交叉影响。(√ )

9、持久性通过事务日志、数据库备份和恢复来保证。(√ )

10、批中某个语句存在语法错误,SQL Server将取消这个批中所有语句的执行。(√ )

11、批语句的组合发生在执行时刻。(× )

12、若事务T对数据对象A加上S锁,则其它事务还能对A加加X锁。(× ) 13、若事务T对数据对象A加上X锁,则其它事务还能对A加加S锁,但不能加X锁。(× )

14、有两个或多个事务处于相互等待的状态,则可能发生了死锁。(√ ) 15、采用一次性封锁法解决死锁问题,降低了系统并发度。(√ )

16、封锁的粒度越大,数据库所能够封锁的数据单元就越少,并发度越高。(× ) 17、SQL Server提供了多粒度锁。(√ )

18、日志文件是记录对数据库更新活动的文件。(√ )

19、进行动态转储时,转储和用户事务可以并发执行,但份过程中数据库系统的性能将受到很大影响。(√ )

20、采用Windows身份认证方式时,用户通过windows的身份验证后,不必提供SQL Server的Login账号和口令就自动进行SQL Server身份验证。(√ ) 21、虽然数据库的所有用户自动属于public角色,但可以根据需要从public角色中删除。(× )

四、问答题

1、什么是“脏数据”?如何避免读取“脏数据”?

答:在数据库运行时,把未提交随后又被撤消的数据称为“脏数据”。

为避免读取“脏数据”,事务可以对数据实行加S锁的方法,以防止其他事务对该数据进行修改。

2、什么叫死锁?简述预防的方法

答:1)两个或多个事务都已封锁了一些数据对象,然后又都请求对已被其他事务封锁的数据对象加锁,出现永久循环等待其它事务释放资源的现象称为死锁。 (2)预防死锁:破坏产生死锁的条件,预防死锁的发生,常用方法有一次封锁法和顺序封锁法。

一次封锁法:要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。存在的问题:降低系统并发度;难于事先精确确定封锁对象。

顺序封锁法:预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。存在的问题是维护成本大 ;难以实现;。 3、什么叫封锁技术?请简述封锁技术中的共享锁和独占锁。

答:(1)所谓封锁技术,就是指当一个事务在对某个数据对象进行操作之前,先向系统发出请求,对其加锁,成功加锁之后该事务就有了对该数据的控制权,只有该事务对其进行解锁之后,其他的事务才能更新它。

(2)共享锁(S锁,读锁) :若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。任何试图修改某数据的事务,如果该数据上有共享锁,那么该事务就会被阻塞,直到所有共享锁被释放。 (3)独占锁(X锁,排它锁) :事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。任何写操作均要使用独占锁。

4、数据库系统为什么要有并发控制?DBMS中采用什么技术进行并发控制? 答:(1)数据库是一个共享资源,它允许多个用户同时并行地存取数据,若系统对并行操作不加控制,就会存取不正确的数据,破坏数据库的完整性。并的控制的目的就是要以正确的方式调度并发操作,避免造成各种不一致性,使一个事务的执行不受另一个事务的干扰。

(2)并发控制的主要方法是采用封锁机制。封锁是事务T在对某个数据对象操作之前,先向系统发出请求对其加锁

5、什么是事务?简述事务的特性。

答:事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。

(1) 原子性(Atomicity)- 事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据修改操作要么全部执行,要么完全不执行。

(2) 一致性(Consistency)- 在一个事务执行之前和执行之后数据库都必须处于一致性状态。

(3) 分离性(Isolation)-并发执行的事务不应该交叉影响。即一个事务内部的操作及正在操作的数据不被其它企图进行修改的事务看到。

(4) 持久性(Durability)- 一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,经得住任何系统故障。 6、什么是“脏数据”?如何避免读取“脏数据”?

答:在数据库运行时,把未提交随后又被撤消的数据称为“脏数据”。

为避免读取“脏数据”,事务可以对数据实行加S锁的方法,以防止其他事务对该数据进行修改。

7、有些事务只要读数据,为什么也要加S锁?

答:一个事务在读一批数据时,为了防止其他事务对这批数据进行修改,也应对

这批数据加S锁,这样才能读到全部正确的数据。

8、如果对多个事务的并发执行不加以控制,将会出现哪些异常现象?请简述这些异常现象.

答:对事务的并发执行不加控制,将会带来以下三类问题:丢失更新、读脏数据、读值不可复现。

丢失更新:两个事务T1和T2读入同一数据并修改,T2的提交结果破坏了T1提交的结果,导致T1的修改被丢失。

读“脏”数据:查询一个已经被其他事务更新、但尚未提交的元组。 不可重复读:指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。

9、事务中的提交和回滚是什么意思?

答:事务中的提交(COMMIT)是提交事务的所有操作。具体说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。具体地说就是,在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤消,使数据库回滚到事务开始时的状态。

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

Top