作业辅导 发表于 2018-11-22 10:11:19

《数据库基础与应用》课程复习资料

《数据库基础与应用》课程复习资料
一、单项选择题:
1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是()阶段。                                             [    ]
A.数据库系统         B.文件系统            C.人工管理               D.数据项管理
2.数据库系统与文件系统的主要区别是                                                 [    ]
A.数据库系统复杂,而文件系统简单
B.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决
C.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件
D.文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量
3.在数据库中存储的是                                                               [    ]
A.数据               B.数据模型            C.数据及数据之间的联系   D.信息
4.数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指                     [    ]
A.同一个应用中的多个程序共享一个数据集合   B.多个用户、同一种语言共享数据
C.多个用户共享一个数据文件
D.多种应用、多种语言、多个用户相互覆盖地使用数据集合
5.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是            [    ]
A.DBS包括DB和DBMS                        B.DBMS包括DB和DBS
C.DB包括DBS和DBMS                        D.DBS就是DB,也就是DBMS
6.数据库管理系统(DBMS)是                                                         [    ]
A.一个完整的数据库应用系统                   B.一组硬件
C.一组系统软件                               D.既有硬件,也有软件
7.数据库是在计算机系统中按照一定的数据模型组织、存储和应用的                     [    ]
A.文件的集合         B.数据的集合            C.命令的集合             D.程序的集合
8.支持数据库各种操作的软件系统是                                                   [    ]
A.命令系统         B.数据库管理系统      C.数据库系统             D.操作系统
9.由计算机硬件、DBMS、数据库、应用程序及用户等组成的一个整体叫                     [    ]
A.文件系统         B.数据库系统            C.软件系统               D.数据库管理系统
10.数据库系统中应用程序与数据库的接口是                                             [    ]
A.数据库集合                                 B.数据库管理系统DBMS
C.操作系统 OS                              D.计算机中的存储介质
11.在DBS中,DBMS和OS之间关系是                                                   [    ]
A.并发运行         B.相互调用            C.OS调用DBMS            D.DBMS调用OS
12.在数据库方式下,信息处理中占据中心位置的是                                       [    ]
A.磁盘               B.程序                  C.数据                   D.内存
13.文件系统与数据库系统对数据处理方式的主要区别体现在                               [    ]
A.数据集成化         B.数据共享            C.冗余度               D.容量
14.DBMS 通常可以向()申请所需计算机资源。                                        [    ]
A.数据库             B.操作系统            C.计算机硬件             D.应用程序
15.下列()数据管理技术难以保存数据。                                             [    ]
A.人工管理         B.独享式文件管理      C.共享式文件管理         D.数据库系统管理
16.数据库系统中,DBA 表示                                                            [    ]
A.应用程序设计者       B.数据库使用者       C.数据库管理员      D.数据库结构
17.数据冗余存在于                                                                  [    ]
A.文件系统中                              B.数据库系统中
C.文件系统与数据库系统中                  D.以上说法都不对
18.下列说法不正确的是                                                                [    ]
A.数据库减少了数据冗余                      B.数据库避免了一切数据重复
C.数据库中的数据可以共享
D.如果冗余是系统可控制的,则系统可确保更新时的一致性
19.()是存储在计算机内结构化的数据的集合。                                        [    ]
A.数据库系统         B.数据库             C.数据库管理系统      D.数据结构
20.下述各项中,属于数据库系统的特点是                                                [    ]
A.存储量大             B.存取速度快         C.数据共享            D.操作方便
21.数据库的概念模型独立于                                                            [    ]
A.具体的机器和 DBMS    B.E-R 图             C.信息世界            D.现实世界
22.数据模型是                                                                        [    ]
A.文件的集合         B.记录的集合         C.数据的集合          D.记录及其联系的集合
23.层次模型、网状模型和关系模型的划分根据是                                          [    ]
A.记录长度             B.文件的大小         C.联系的复杂程度      D.数据之间的联系
24.关系数据模型                                                                      [    ]
A.只能表示实体间的1:1联系                  B.只能表示实体间的1:n联系
C.只能表示实体间的m:n联系                  D.可以表示实体间的上述三种联系
25.在数据库技术中,面向对象数据模型是一种                                          [    ]
A.概念模型             B.结构模型         C.物理模型            D.形象模型
26.关系模型是                                                                        [    ]
A.用关系表示实体                            B.用关系表示联系
C.用关系表示实体及其联系                  D.用关系表示属性
27.对现实世界进行第二层抽象的模型是                                                [    ]
A.概念数据模型         B.用户数据模型       C.结构数据模型      D.物理数据模型
28.现实世界“特征”术语,对应于数据世界的                                          [    ]
A.属性               B.联系               C.记录                D.数据项
29.数据库中,实体是指                                                                [    ]
A.客观存在的事物       B.客观存在的属性   C.客观存在的特性      D.某一具体事件
30.有关三个世界中数据的描述术语,“实体”是                                          [    ]
A.对现实世界数据信息的描述                  B.对信息世界数据信息的描述
C.对计算机世界数据信息的描述                D.对三个世界间相互联系的描述
31.构造E-R 模型的三个基本要素是                                                   [    ]
A.实体、属性、属性值                        B.实体、实体集、属性
C.实体、实体集、联系                        D.实体、属性、联系
32.面向对象数据模型中的对象通常包括                                                [    ]
A.类、子类、超类       B.继承、封装、传递   C.变量、消息、方法    D.对象标识、属性、联系
33.当前数据库应用系统的主流数据模型是                                                [    ]
A.层次数据模型       B.网状数据模型       C.关系数据模型       D.面向对象数据模型
34.数据模型的三要素是                                                                [    ]
A.外模式、模式、内模式                  B.关系模型、层次模型、网状模型
C.实体、联系、属性                        D.数据结构、数据操作、完整性约束
35.关系数据库管理系统与网状系统相比                                                [    ]
A.前者运行效率高                        B.前者的数据模型更为简洁
C.前者比后者产生得早一些                  D.前者的数据操作语言是过程性语言
36.下列给出的数据模型中,是概念数据模型的是                                          [    ]
A.层次模型         B.网状模型         C.关系模型         D.E-R模型
37.下列关于数据模型中实体间联系的描述正确的是                                        [    ]
A.实体间的联系不能有属性                  B.仅在两个实体之间有联系
C.单个实体不能构成E-R图                  D.实体间可以存在多种联系
38.在数据库系统中,对数据操作的最小单位是                                          [    ]
A.字节               B.数据项             C.记录               D.字符
39.关系模型的数据结构是                                                            [    ]
A.树                B.图               C.表               D.二维表
40.用来指定和区分不同实体元素的是                                                    [    ]
A.实体               B.属性               C.标识符             D.关系
41.数据库中,数据的物理独立性是指                                                    [    ]
A.数据库与数据库管理系统的相互独立      B.用户程序与DBMS的相互独立
C.用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的
D.应用程序与数据库中数据的逻辑结构相互独立
42.对于数据库系统,负责定义数据库内容,决定存储结构和存取策略及安全授权等工作的是    [    ]
A.应用程序开发人员                        B.终端用户
C.数据库管理员                            D.数据库管理系统的软件设计人员
43.数据库管理系统中用于定义和描述数据库逻辑结构的语言称为                            [    ]
A.数据描述语言       B.数据库子语言       C.数据操纵语言       D.数据结构语言
44.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能称为          [    ]
A.数据定义功能       B.数据管理功能       C.数据操纵功能       D.数据控制功能
45.子模式是                                                                        [    ]
A.模式的副本         B.模式的逻辑子集   C.多个模式的集合   D.以上三者
46.一般地,一个数据库系统的外模式                                                    [    ]
A.只能有一个         B.最多只能有一个   C.至少两个         D.可以有多个
47.在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特性的是            [    ]
A.外模式             B.内模式             C.存储模式         D.模式
48.数据库的三级模式之间存在的映象关系正确的是                                        [    ]
A.外模式/内模式   B.外模式/模式       C.外模式/外模式      D.模式/模式
49.数据库三级视图,反映了三种不同角度看待数据库的观点,用户眼中的数据库称为          [    ]
A.存储视图         B.概念视图         C.内部视图         D.外部视图
50.在数据库系统中“模式”是指                                                      [    ]
A.数据库的物理存储结构描述                B.数据库的逻辑结构描述
C.数据库用户的局部逻辑结构描述            D.内模式、概念模式、外部模式的总称
51.在数据操纵语言(DML)的基本功能中,不包括的是                                     [    ]
A.插入新数据         B.描述数据库结构       C.更新数据库中的数据   D.删除数据库中的数据
52.在数据库结构中,保证数据库独立性的关键因素是                                    [    ]
A.数据库的逻辑结构                        B.数据库的逻辑结构、物理结构
C.数据库的三级结构                        D.数据库的三级结构和两级映射
53.在数据库系统中,“数据独立性”和“数据联系”这两个概念之间的联系是                [    ]
A.没有必然的联系   B.同时成立或不成立   C.前者蕴涵后者         D.后者蕴涵前者
54.数据库三级模式中,用逻辑数据模型对用户所用到的那部分数据的描述是                  [    ]
A.外模式             B.概念模式             C.内模式               D.用户模式
55.在数据库系统中,模式/内模式映象用于解决数据的                                     [    ]
A.物理独立性         B.结构独立性         C.逻辑独立性         D.分布独立性
56.在数据库系统中,外模式/模式映象用于解决数据的                                     [    ]
A.物理独立性         B.结构独立性         C.逻辑独立性         D.分布独立性
57.在数据库中,描述数据库的各级数据结构,称为                                        [    ]
A.数据库模式         B.数据模型             C.数据库管理系统       D.数据字典
58.数据库三级模式体系结构主要的目标是确保数据库的                                    [    ]
A.数据结构规范化   B.存储模式             C.数据独立性         D.最小冗余
59.数据的存储结构与数据逻辑结构之间的独立性称为数据的                              [    ]
A.物理独立性         B.结构独立性         C.逻辑独立性         D.分布独立性
60.数据的逻辑结构与用户视图之间的独立性称为数据的                                    [    ]
A.物理独立性         B.结构独立性         C.逻辑独立性         D.分布独立性
61.关系模式的任何属性                                                                [    ]
A.不可再分                                  B.可再分
C.命名在该关系模式中可以不唯一            D.以上都不是
62.关系数据库中的码是指                                                            [    ]
A.能唯一决定关系的字段                      B.不可改动的专用保留字
C.关键的很重要的字段                        D.能唯一标识元组的属性或属性集合
63.关系模式的完整性规则,一个关系中的“主码”                                        [    ]
A.不能有两个                              B.不能成为另一个关系的外码
C.不允许为空                              D.可以取值
64.关系数据库中能唯一识别元组的那个属性称为                                          [    ]
A.唯一性的属性       B.不可改动的保留字段   C.关系元组的唯一性   D.关键字段
65.在关系R(R#, RN, S#)和 S(S#,SN, SD)中,R的主码是R#, S的主码是S#,则S#在R中称为[    ]
A.外码               B.候选码               C.主码               D.超码
66.关系模型中,一个码是                                                            [    ]
A.可由多个任意属性组成                                             B.至多由一个属性组成
C.可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成       D.以上都不是
67.同一个关系模型的任意两个元组值                                                    [    ]
A.不能全同         B.可全同               C.必须全同             D.以上都不是
68.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的                                                                  [    ]
A.元组               B.行                   C.记录               D.属性
69.取出关系中的某些列,并消去重复元组的关系代数运算称为                              [    ]
A.取列运算         B.投影运算             C.连接运算             D.选择运算
70.下面的两个关系中,职工号和设备号分别为职工关系和设备关系的关键字:
职工(职工号,职工名,部门号,职务,工资)
设备(设备号,职工号,设备名,数量)
两个关系的属性中,存在一个外关键字为                                              [    ]
A.职工关系的“职工号”                      B.职工关系的“设备号”
C.设备关系的“职工号”                      D.设备关系的“设备号”
71.下列哪些运算是关系代数的基本运算                                                [    ]
A.交、并、差                              B.投影、选择、除、联结
C.联结、自然联结、笛卡尔乘积                D.投影、选择、笛卡尔乘积、差运算
72.下面关于关系性质的叙述中,不正确的是                                              [    ]
A.关系中元组的次序不重要                  B.关系中列的次序不重要
C.关系中元组不可以重复                      D.关系不可以为空关系
73.候选码中的属性可以有                                                            [    ]
A.0 个               B.1 个               C.1 个或多个         D.多个
74.候选码中的属性称为                                                                [    ]
A.非主属性         B.主属性             C.复合属性         D.关键属性
75.关系数据模型                                                                      [    ]
A.只能表示实体间的1:1联系            B.只能表示实体间的1:n联系
C.只能表示实体间的m:n联系            D.可以表示实体间的上述三种联系
76.下列关系代数操作中,()运算要求两个运算对象其属性结构完全相同。                [    ]
A.并、交、差       B.笛卡尔乘积、连接   C.自然连接、除法   D.投影、选择
77.根据参照完整性规则,若属性F是关系S的主属性,同时又是关系R的外关键字,则关系R中F的值
[    ]
A.必须取空值       B.必须取非空值       C.可以取空值         D.以上说法都不对
78.下列()是单目运算。                                                            [    ]
A.差               B.并               C.投影               D.除法
79.设关系R是M元关系,关系S是N 元关系,则R×S 为()元关系。                  [    ]
A.M                B.N                  C.M×N               D.M+N
80.设关系R有r个元组,关系S有s 个元组,则R×S 有()个元组。                  [    ]
A.r                B.r×s               C.s                  D.r+s
81.SQL 语言是                                                                        [    ]
A.高级语言         B.结构化查询语言   C.编程语言         D.宿主语言
82.SQL 中用于删除基本表的命令是                                                      [    ]
A.DELETE         B.UPDATE             C.ZAP                D.DROP
83.采用SQL查询语言对关系进行查询操作,若要求查询结果中不能出现重复元组,可在SELECT子句后增加保留字                                                                        [    ]
A.DISTINCT         B.UNIQUE             C.NOT NULL         D.SINGLE
84.下面关于SQL 语言的叙述中,哪一条是错误的                                       [    ]
A.SQL既可作为联机交互环境中的查询语言又可嵌入宿主语言中
B.使用SQL用户只能定义索引而不能引用索引
C.SQL没有数据控制功能                      D.使用SQL用户可以定义和检索视图
85.SQL语言引入了视图的概念,下述说法正确的是                                       [    ]
A.视图是由若干数据表组成的,独立存储在数据库中
B.视图的存在提高了并发程序
C.视图与基本表的最大区别在于它是逻辑定义的虚表
D.视图简化用户观点,但不提高查询效率
86.在学生关系中,用SQL语句列出所有计算机系的学生姓名,应该对学生关系进行()操作。[    ]
A.选择                B.投影                C.连接               D.选择和投影
87.SQL 语句的一次查询结果是                                                          [    ]
A.数据项            B.记录                C.元组               D.表
88.NULL 是指                                                                         [    ]
A.0                   B.空格                C.无任何值         D.空字符串
89.下列()语句不属于SQL数据操纵功能。                                          [    ]
A.SELECT            B.DELETE            C.INSERT             D.CREATE TABLE
90.SQL 中用于修改表结构的命令是                                                      [    ]
A.CREATE            B.ALTER               C.UPDATE             D.DROP
91.SQL 中用于数据检索的命令是                                                      [    ]
A.SELECT            B.DELETE            C.INSERT             D.UPDATE
92.在SQL语句中,对输出结果进行排序的语句是                                          [    ]
A.GROUP BY            B. ORDER BY         C. WHERE             D. HAVING
93.在SQL语句中,需要对分组情况应满足的条件进行判断时,应使用                        [    ]
A.GROUP BY            B. ORDER BY         C. WHERE             D. HAVING
94.在SELECT语句中使用GROUP BY CNO 时,CNO必须                                    [    ]
A.在WHERE中出现      B.在FROM出现         C.在SELECT中出现    D.在HAVING中出现
95.使用CREATE VIEW语句创建的是                                                      [    ]
A.数据库            B.视图                C.索引               D.表
96.在WHERE语句的条件表达式中,与零个或多个字符进行匹配的通配符是                  [    ]
A.*                   B.%                   C.?                  D._
97.在SQL语句中,给用户授权的命令是                                                [    ]
A.GRANT               B.SET               C.REVOKE             D.FROM
98.在SELECT语句中使用*,表示                                                      [    ]
A.选择任何属性      B.选择所有属性      C.选择所有元组       D.选择主键
99.在SQL语句中,谓词“EXISTS”的含义是                                              [    ]
A.全称量词            B.存在量词            C.自然连接         D.等值连接
100.在SELECT语句中,通常与HAVING子语句同时使用的是                                 [    ]
A.ORDER BY            B.WHERE               C.GROUP BY         D.均不需要
101.设计性能较优的关系模式称为规范化,规范化主要的理论依据是                         [    ]
A.关系规范化理论      B.关系运算理论      C.关系代数理论       D.数理逻辑
102.规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是                                                                   [    ]
A.互不相关的          B.不可分解的          C.长度可变的         D.互相关联的
103.关系数据库规范化是为解决关系数据库中()问题而引入的。                         [    ]
A.提高查询速度                              B.保证数据的安全性和完整性
C.减少数据操作的复杂性                      D.插入异常、删除异常和数据冗余
104.规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常以及()的缺陷。       [    ]
A.数据的不一致性      B.结构不合理          C.冗余度大         D.数据丢失
105.假设关系模式R(A, B)属于3NF,下列说法中()是正确的。                           [    ]
A.它一定消除了插入和删除异常                B.仍存在一定的插入和删除异常
C.一定属于 BCNF                           D.A和C都是
106.当B属性函数依赖于A属性时,属性A 与B 的联系是                                  [    ]
A.1 对多            B.多对 1            C.多对多             D.以上都不是
107.数据库一般使用()以上的关系。                                                 [    ]
A. 1NF                B.3 NF                C.BCNF               D.4NF
108.关系模式中各级范式之间的关系为                                                   [    ]
A.                         B.
C.                        D.
109.关系模式中,满足2NF的模式                                                       [    ]
A.可能是 1NF          B.必定是 1NF          C.必定是 3NF         D.必定是BCNF
110.关系模式R中的属性全部是主属性,则R的最高范式必定是                           [    ]
A.2 NF                B.3NF               C.BCNF               D.4NF
111.消除了部分函数依赖的1NF的关系模式必定是                                       [    ]
A.1 NF                B.2NF               C.3NF                D.4NF
112.关系模式的候选码可以有                                                         [    ]
A.0 个                B.1 个                C.1 个或多个         D.多个
113.关系模式的主码可以有                                                             [    ]
A.0个                B.1个            C.1个或多个          D.多个
114.候选码中的属性可以有                                                             [    ]
A.0个                B. 1个         C. 1个或多个         D.多个
115.设有关系 W(工号,姓名,工种,定额),将其规范化到第三范式正确的答案是             [    ]
A.W1(工号,姓名)W2(工种,定额)   B.W1(工号,工种,定额)W2(工号,姓名)
C.Wl(工号,姓名,工种)W2(工种,定额)                     D.以上都不对
116.在关系模式R(A,B,C,D)中,有函数依赖集F={B→C,C→D,D→A},则R能达到            [    ]
A.1NF                B.2NF             C.3NF               D.以上三者都不行
117.X→Ai(i=1,2,…,k)成立是X→A1A2...Ak成立的                                       [    ]
A.充分条件         B.必要条件      C.充要条件            D.既不充分也不必要
118.若关系R的候选码都是由单属性构成的,则R的最高范式必定是                         [    ]
A.1NF                B.2NF             C.3NF               D.无法确定
119.设关系模式R(ABC)上成立的函数依赖集F为{B→C, C→A},ρ=(AB,AC)为R的一个分解,那么分解ρ [    ]
A.保持函数依赖                         B.丢失了B→C
C.丢失了C→A                        D.是否保持函数依赖由R的当前值确定
120.关系模型中3NF是指                                                               [    ]
A.满足2NF且不存在组合属性               B.满足2NF且不存在部分依赖现象
C.满足2NF且不存在非主属性               D.满足2NF且不存在传递依赖现象
121.数据库设计中的数据流图和数据字典描述是()阶段的工作。                         [    ]
A.需求分析          B.概念设计         C.逻辑设计          D.物理设计
122.逻辑设计的主要任务是                                                             [    ]
A.进行数据库的具体定义,并建立必要的索引文件
B.利用自顶向下的方式进行数据库的逻辑模式设计
C.逻辑设计要完成数据的描述,数据存储格式的设定
D.将概念设计得到的E-R图转换成DBMS支持的数据模型
123.如果两个实体集之间的联系是m:n,转换为关系时                                     [    ]
A.联系本身不必单独转换为一个关系         B.联系本身必须单独转换为一个关系
C.联系本身也可以不单独转换为一个关系   D.将两个实体集合并为一个实体集
124.下列冲突不属于局部E-R图合并成全局E-R 图时可能出现的冲突                        [    ]
A.结构冲突          B.属性冲突         C.命名冲突          D.语法冲突
125.有A和B两个实体集,它们之间存在着两个不同的m:n联系,根据转换规则,将它们转换成关系模式集时,关系模式的个数是                                                          [    ]
A.1               B.2                  C.3               D.4
126.数据库设计人员之间与用户之间沟通信息的桥梁是                                     [    ]
A.程序流程图      B.E-R图             C.功能模块图      D.数据结构图
127.从E-R模型向关系模型转换,一个m:n的联系转换成关系模式时,该关系模式的码是       [    ]
A.m 端实体的码                           B.m端实体码和n端实体码组合
C.n 端实体的码                           D.重新选取其他属性
128.如果两个实体集之间的联系是 1:n,转换为关系时                                     [    ]
A.将n端实体转换的关系中加入1端实体转换关系的码
B.将n端实体转换的关系的码加入到1端的关系中
C.将两个实体转换成一个关系               D.在两个实体转换的关系中,分别加入另一个关系的码
129.数据库物理设计与具体的 DBMS                                                      [    ]
A.无关            B.密切相关         C.部分相关          D.不确定
130.下列不属于数据库实施阶段的工作                                                   [    ]
A.建立数据库      B.加载数据         C.扩充功能          D.系统调试
131.下列()不是数据库系统必须提供的数据控制功能。                                 [    ]
A.安全性            B.可移植性         C.完整性            D.并发控制
132.保护数据库,防止未经授权或不合法的使用造成的数据泄漏、非法更改或破坏。这是指数据的[    ]
A.安全性            B.完整性             C.并发控制          D.恢复
133.数据库的()是指数据的正确性和相容性。                                       [    ]
A.安全性            B.完整性             C.并发控制          D.恢复
134.数据完整性保护中的约束条件主要是指                                             [    ]
A.用户操作权限的约束                     B.用户口令校对
C.值的约束和结构的约束                   D.并发控制的约束
135.使某个事务永远处于等待状态,而得不到执行的现象称为                               [    ]
A.死锁            B.活锁               C.串行调度          D.不可串行调度
136.下列SQL语句中,能够实现“收回用户USER1对学生表(STUDENT)中学号(SNO)修改权”这一功能的是[    ]
A.REVOKE UPDATE(SNO) ON TABLE FROM USER1      B.REVOKE UPDATE(SNO) ON TABLE FROM PUBLIC
C.REVOKE UPDATE(SNO) ON STUDENT FROM USER1    D.REVOKE UPDATE(SNO) ON STUD FROM PUBLIC
137.将查询SC表的权限授予用户USER1,并允许该用户将此权限授予其他用户。此功能的SQL语句是
[    ]
A.GRANT SELECT TO SC ON USER1 WITH PUBLIC   B.GRANT SELECT ON SC TO USER1 WITH PUBLIC
C.GRANT SELECT TO SC ON USERl WITH GRANT OPTION
D.GRANT SELECT ON SC TO USER1 WITH GRANT OPTION
138.在第一个事务以S封锁方式读数据A时,第二个事务对数据A的读方式会遭到失败的是   [    ]
A.实现X封锁的读    B.实现S封锁的读          C.不加封锁的读      D.实现共享型封锁的读
139.用于实现数据存取安全性的SQL语句是                                             [    ]
A.CREATE TABLE      B.COMMIT                  C.GRANT和REVOKE    D.ROLLBACK
140.在数据库系统中,对存取权限的定义称为                                             [    ]
A.命令            B.授权                  C.定义            D.审计
141.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的[    ]
A.可靠性            B.一致性                  C.完整性            D.安全性
142.事务的原子性是指                                                               [    ]
A.事务中包括的所有操作要么都做,要么都不做    B.事务一旦提交,对数据库的改变是永久的
C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的
D.事务必须使数据库从一个一致性状态变到另一个一致性状态
143.事务的一致性是指                                                               [    ]
A.事务中包括的所有操作要么都做,要么都不做    B.事务一旦提交,对数据库的改变是永久的
C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的
D.事务必须使数据库从一个一致性状态变到另一个一致性状态
144.事务的隔离性是指                                                               [    ]
A.事务中包括的所有操作要么都做,要么都不做    B.事务一旦提交,对数据库的改变是永久的
C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的
D.事务必须使数据库从一个一致性状态变到另一个一致性状态
145.事务的持久性是指                                                               [    ]
A.事务中包括的所有操作要么都做,要么都不做    B.事务一旦提交,对数据库的改变是永久的
C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的
D.事务必须使数据库从一个一致性状态变到另一个一致性状态
146.多用户数据库系统的目标之一是使它的每个用户好像正在使用一个单用户数据库,为此数据库系统必须进行                                                                            [    ]
A.安全性控制      B.完整性控制          C.并发控制                D.可靠性控制
147.若事务T对数据R已加X锁,则其他事务对数据R                                     [    ]
A.可以加S锁不能加X锁                  B.不能加S锁可以加X锁
C.可以加S锁也可以加X锁                  D.不能加任何锁
148.关于“死锁”,下列说法中正确的是                                                 [    ]
A.死锁是操作系统中的问题,数据库操作中不存在
B.在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库
C.当两个用户竞争相同资源时不会发生死锁   D.只有出现并发操作时,才有可能出现死锁
149.数据库系统并发控制的主要方法是采用()机制。                                 [    ]
A.拒绝            B.改为串行         C.封锁                     D.不加任何控制
150.数据库运行过程中发生的故障通常有三类,即                                       [    ]
A.软件故障、硬件故障、介质故障         B.程序故障、操作故障、运行故障
C.数据故障、程序故障、系统故障         D.事务故障、系统故障、介质故障
151.保护数据库,防止未经授权的或不合法的使用造成的资料泄漏、更改破坏。这是指数据的   [    ]
A.安全性            B.完整性             C.并发控制               D.恢复
152.delete from sc 表明                                                            [    ]
A.删除sc中的全部记录                  B.删除基本表sc
C.删除基本表sc中的列数据                D.删除基本表sc中的部分行
153.数据库类型是按照()来划分的。                                                 [    ]
A.文件形式          B.数据模型         C.记录形式               D.数据存取方法
154.操作不属于数据更新的是                                                         [    ]
A.插入            B.删除               C.修改                     D.查询
155.在人工管理阶段,数据是                                                         [    ]
A.有结构的          B.无结构的         C.整体无结构,记录有结构   D.整体结构化的
156.在数据库设计中,将ER图转换成关系数据模型的过程属于                              [    ]
A.需求分析阶段      B.逻辑设计阶段       C.概念设计阶段             D.物理设计阶段
157.若事务T对数据对象 A 进行读取和修改操作,且其它任何事务都不能访问 A,此时事务 T需对数据对象A加上                                                                        [    ]
A.读锁            B.死锁               C.写锁                     D.活锁
158.如果对于实体集A中的每一个实体,实体集B中有可有多个个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中也可有多个实体与之联系。则称实体集A与B具有            [    ]
A.1:1 联系         B.1:n 联系          C.n:m 联系                D.多种联系
159.设域D1={A1,A2,A3};D2={1,2};D3={计算机;打印机;扫描仪}。则D1、D2和D3的笛卡尔积的基数为                                                                              [    ]
A.2               B.3                  C.8                        D.18
160.学生表(id,name,sex,age,depart_id,depart_name),存在的函数依赖是id→name,id→sex,id→age,id→depart_id, dept_id→dept_name,其满足                               [    ]
A.1NF               B.2NF                C.3NF                      D.BCNF
161.sql 语句 grant select, insert on table sc to lisi 的含义是                     [    ]
A.授予用户lisi查询sc表的权限         B.授予用户lisi查询,插入sc表的权限
C.撤消用户lisi查询,插入sc表的权限      D.撤消用户lisi插入sc表的权限
162.索引项的顺序与表中记录的物理顺序一致的索引,称之为                               [    ]
A.复合索引          B.唯一性索引         C.聚簇索引               D.非聚簇索引
163.以下操作不属于数据更新的是                                                       [    ]
A.插入            B.删除               C.修改                D.查询
164.若执行下面列出的操作,操作不能成功执行的是                                       [    ]
A.从EMP中删除行(‘010’,‘王宏达’,‘01’,1200)
B.在EMP中插入行(‘102’,‘赵敏’,‘01’,1500)
C.将EMP中雇员号=‘056’的工资改为1600元
D.将EMP中雇员号=‘101’的部门号改为‘05’
165.若执行下面列出的操作,操作不能成功执行的是                                       [    ]
A.从DEPT 中删除部门号=‘03’的行
B.在DEPT中插入行(‘06’,‘计划部’,‘6号楼’)
C.将DEPT中部门号=‘02’的部门号改为‘10’
D.将DEPT中部门号=‘01’的地址改为‘5号楼’
166.下列()数据管理技术真正消除了程序与数据间的相互依赖关系。                     [    ]
A.自由管理          B.文件管理          C.数据库系统管理       D.以上说法都不对
167.数据库中,属性是指                                                               [    ]
A.客观存在的事物    B.事物的具体描述    C.事物的某一特征       D.某一具体事件
168.数据库系统包括                                                                   [    ]
A. DB、DBMS                           B. DB、DBA
C. DB、DBMS、DBA、计算机硬件            D.DB、DBMS、DBA、OS、计算机硬件
169.客户/服务器系统比传统方式                                                      [    ]
A.工作站增加负担、服务器减少负担      B.工作站减少负担、服务器增加负担
C.工作站增加负担、服务器增加负担      D.工作站减少负担、服务器减少负担
170.数据独立性是指                                                                   [    ]
A.数据独立于计算机                      B.数据独立于操作系统
C.数据独立于数据管理系统                D.数据独立于应用程序
171.文件系统阶段是                                                                   [    ]
A.计算机数据处理技术发展的初级阶段      B.计算机数据管理技术发展的初级阶段
C.计算机数据处理技术发展的中级阶段      D.计算机数据管理技术发展的中级阶段
172.信息世界的实体对应于关系中的                                                   [    ]
A.元组            B.属性            C.性质               D.记录

二、填空题:
1.数据管理技术经历了______、______和______三个阶段。
2 数据库系统一般由______、______、______、______和______组成。
3.DBMS是位于应用程序和______之间的一层管理软件。
4.数据的冗余是指______。
5.数据的共享性可主要体现在多个用户、现在的和将来的、不同语言的和______四个方面。
6.数据模型是由______、______、______三部分组成。
7.层次数据模型中,只有一个结点无父结点,它被称为______。
8.层次模型中,根结点以外的结点至多可有______个父结点。
9.二元实体之间的联系可抽象为三类,它们是______、______和______。
10.层次模型的数据结构是______结构;网状模型的数据结构是______结构;关系模型的数据结构是______结构。
11.数据库管理系统的主要功能有______、______、______以及______等四个方面。
12.数据库语言包括______、______两大部分,前者负责描述和定义数据库的各种特性,后者说明对数据进行的各种操作。
13.数据独立性又可分为______和______。
14.数据库体系结构按照______、______和______三级结构进行组织。
15.数据库模式体系结构中提供了两个映象功能,即______和______映象。
16.关系操作的特点是______操作。
17.关系模型的完整性规则包括______、______和______。
18.连接运算是由______和______操作组合而成的。
19.自然连接运算是由______、______和______操作组合而成的。
20.交运算是扩充运算,可以用______推导出。
21.关系数据库中可命名的最小数据单位是______。
22.关系代数运算中,基本的运算是______、______、______、______、和______。
23.关系数据库中基于数学的两类运算是______和______。
24.己知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是系编号,学生关系的主码是学号,外码是______。
25.关系代数中,从关系中取出所需属性组成新关系的操作称为______。
26.SQL的含义是______。
27.从程序设计语言的特点考虑,C语言属于______语言,而SQL属于______语言。
28.在SQL中视图是由______或______产生的虚表,不能存放______,只存储视图的______。
29.在SQL对应的三级模式中,关系模式对应______,关系子模式对应______,存储模式对应______。
30.SQL具有的主要功能有______、______、______。
31.在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则是______和______。
32.关系模式的操作异常问题往往是由______引起的。
33.函数依赖完备的推理规则集包括______、______和______。
34.如果Y⊆X⊆U,则X→Y成立,这条推理规则称为______;如果X→Y和WY→Z成立,则WX→Z成立,这条推理规则称为______。
35.关系演算可分为______和______两部分。
36.合并局部E-R模型时主要考虑解决三类冲突,即______、______和______。
37.建立E-R模型是数据库设计______阶段的任务。
38.数据库设计的步骤依次是______、______、______、______、______和______等。
39.数据库设计包括______的设计和______的设计。
40.数据字典通常包括______、______、______、______和______等。
41.数据库保护包含数据的______、______、______和______。
42.______是DBMS的基本单位,它是用户定义的一组逻辑一致的操作序列。
43.有两种基本类型的锁,它们是______和______。
44.并发控制是对用户的______加以控制和协调。
45.如果多个事务依次执行,则称事务是______执行。
46.数据库的完整性是指数据的______。
47.有两个或两个以上的事务处于等待状态,每个事务都在等待其中另一个事务解除封锁,它才能继续下去,结果任何一个事务都无法执行,这种现象称______。
48.在数据库系统中对存取权限的定义称为______。
49.在SQL语言中,为了数据库的安全性,设置对数据的存取进行控制的语句,对用户授权用______语句,收回所授的权限用______语句。
50.数据库恢复常采用______和______两种方式。
51.为了使通过视图插入新行时,元组满足视图的定义条件, 在定义视图时必须加上______子句。
52.数据字典通常包括数据项、数据结构、_____________________、数据存储和处理过程五个部分。
53.在概念结构设计中先定义全局概念结构的框架,然后逐步细化。这种方法称为______。
54.当数据的存储结构改变时,通过对映象的相应改变可以保持数据的逻辑结构不变。这称之为数据的___。
55当数据的全局逻辑结构改变时,通过对映象的相应改变可以保持数据的局部逻辑结构不变。这称之为数据的______。
56.数据库的完整性是指数据的______和______。
57.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的______阶段。
58.创建学生(Student)表时,对属性年龄(age)用check(age<30 and age>17)进行约束,这属于数据库______完整性约束。
59.执行create view s as select id, name, age from employee后,视图s的属性有______个,分别是______。
60.假定学生关系是S(SNO,SNAME,SEX,AGE),其属性是学号,姓名,性别,年龄;课程关系是C(CNO,CNAME),属性是课程号,课程名;学生选课关系是SC(SNO,CNO,GRADE),属性是学号,课程号,成绩。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系有______,SQL语句为:SELECT SNAMEFROMWHERES.SNO=SC.SNO AND SC.CNO=C.CNO AND______;查询所有课程都及格的学生学号,姓名,SQL语句为:SELECT SNO, SNAME FROM______WHERE______ (SELECT * FROM SC WHERE S.SNO=SC.SNO AND ______)。
61.数据库系统通常包括______、______、______、______、______五部分。
62.数据库故障主要有______、______、______三类。
63.SQL语言的特点主要体现在______、______、______。
64.信息模型通常用____________来刻划,传统的数据模型是指______、______和______。
65.DBMS是一种负责数据库的______、______、______、______、______的软件系统。
66.数据库的安全保护措施主要有______、______、______三种。
67.数据库保护包括______、______、______、______四个方面内容。
68.二元实体间的联系通常可分为______、______、______三种。
69.数据库系统中数据的独立性包括______和______两个方面。
70.数据库设计通常包括______和______两方面内容。
71.数据库实施主要包括四个方面的工作,即______、______、______、______。
72.数据库系统包括______、______、______三级结构。

三、简答题:
1.简述数据库的定义。                     2.简述数据库管理系统的定义。
3.文件系统中的文件与数据库系统中的文件有何本质上的不同?
4.数据库系统有那些特点?               5.简述数据独立性、数据物理独立性与数据逻辑独立性。
6.层次数据模型、网状数据模型以及关系数据模型之间有什么区别?
7.试叙述结构数据模型的三个组成部分。
8.在层次、网状、关系、面向对象等数据模型中,数据之间联系是如何实现的?
9.关系数据模型有哪些优缺点?            10.试述概念模型的作用。
11.数据库系统如何实现数据独立性?数据独立性可带来什么好处?
12.简述数据库管理系统的功能。            13.简述DBA的职责。
14.使用DBS的用户有哪几类?            15.从模块结构看,DBMS由哪些部分组成?
16.为什么关系中的元组没有先后顺序?
17.为什么关系中不允许有重复元组?
18.关系与普通表格、文件有什么区别?
19.笛卡尔积、等值连接、自然连接三者之间有什么区别?
20.关系代数的自然连接操作和半连接操作之间有些什么联系?
21.在宿主语言的程序中使用SQL语句有哪些规定?   22.SQL中的视图机制有哪些优点?
23.SQL的集合处理方式与宿主语言单记录处理方式之间如何协调?
24.嵌入式SQL语句何时不必涉及到游标?何时必须涉及到游标?
25.SQL有哪些特点?它支持三级模式结构吗?
26.为什么要进行关系模式的分解?分解的依据是什么?
27.关系模式的分解有什么优缺点?               28.最小函数依赖集的条件是什么?
29.关系规范化的目的是什么?                     30.关系规范化的实质是什么?
31.数据库实现阶段主要做哪几件事情?            32.数据库系统投入运行后,有哪些维护工作?
33.在将局部E-R模型合并为全局E-R模型过程中,往往需要消除冲突。请问什么是冲突?有哪三类冲突?
34.试述数据库设计主要步骤。
35.试述数据库概念设计的重要性和设计步骤。
36.X封锁与S封锁有什么区别?
37.试叙述事务的四个性质,并解释每一个性质由DBMS的哪个子系统实现?每一个性质对DBS有什么益处?
38.数据库恢复的基本原则是什么?具体实现方法是什么?
39.什么是“脏数据”?如何避免读取“脏数据”?
40.数据库的完整性规则由哪几部分组成?
41.什么是事务?它有哪些属性?
42.简述数据库的物理设计内容。
43.RDBMS在实现参照完整性时需要考虑哪些方面的问题,以及可以采取的策略?

四、综合题:
1.设有如图所示的关系R和S,计算:(1)Rl=R-S;(2)R2=R∪S;(3)R3=R∩S;(4)R4=R×S。
    R
A        B        C
1        2        3
2        1        5
3        2        4

    S
A        B        C
2        1        5
3        1        4



2.设有如图所示的关系R和S。
计算:(1)Rl=R-S;(2)R2=R∪S;(3)R3=R∩S;(4)R4=∏A,B(σB='B1' (R))
R
A        B        C
A1        B1        C1
A2        B2        C1
A2        B2        C2


S
A        B        C
A2        B2        C1
A2        B2        C2
A3        B3        C3

3.设有如图所示的关系R、S和T,计算:(1)R1=R-S;(2)R2= R⋈T ;(3)R3=∏A(R);(4)R4=σA=C(R×T)
R
A        B
1        2
2        5
3        3
S
A        B
4        1
1        2
4        3
T
B        C
2        2
3        3
2        4
4.设有如图所示的关系R和S,计算:(1)R1=R∪S;(2)R2=R∩S;(3)R3=R×S;(4)R4=∏3,2(S)
R
A        B        C
c        f        g
b        e        g
g        b        c
d        d        c

S
A        B        C
c        d        e
g        b        c

5.设有三个关系:S(S#,SNAME,AGE,SEX)   C(C#,CNAME,TEACHER)   SC(S#,C#,GRADE)
试用关系代数表达式表示下列查询语句:
(1)检索“陈军”老师所授课程的课程号(C#)和课程名(CNAME)。
(2)检索年龄小于20的男学生学号(S#)和姓名(SNAME )。
(3)检索至少选修“陈军”老师所授全部课程的学生姓名(SNAME)
(4)检索“李强”同学不学课程的课程号(C#)。(5)检索至少选修两门课程的学生学号(S#)。
(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7)检索选修课程包含“陈军”老师所授课程之一的学生学号(S#)。
(8)检索选修课程号为C1和C5的学生学号(S#)。(9)检索选修全部课程的学生姓名(SNAME)。
(10)检索选修课程包含学号为S2的学生所修课程的学生学号(S#)。
(11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。

6.己知一个关系数据库的模式如下:S(SNO,SNAME,SCITY)   P(PNO,PNAME,COLOR,WEIGHT)
J(JNO,JNAME,JCITY)   SPJ(SNO,PNO,JNO,QTY)
其中:S表示供应商,它的各属性依次为供应商号、供应商名和供应商所在城市;
P表示零件,它的各属性依次为零件号、零件名、零件颜色和零件重量;
J表示工程,它的各属性依次为工程号、工程名和工程所在城市;
SPJ表示供货关系,它的各属性依次为供应商号、零件号、工程号和供货数量。
用关系代数表达式表示下面的查询要求:
(1)为工程J10供应零件的供应商代码SNO。(2)为工程J9供应零件P9的供应商代码SNO。
(3)为工程J8供应黄色零件的供应商代码SNO。
(4)没有使用南京供应商生产的黄色零件的工程项目代码JNO。

7.设有三个关系:C(CNO,CNAME,PCNO)   SC(SNO,CNO,SCORE)   S(SNO,SNAME,AGE,SEX)
其中:C为课程表关系,对应的属性分别是课号、课程名和预选课号;
SC为学生选课表关系,对应的属性分别是学号、课号和成绩;
S表示学生,它的各属性依次为学号、姓名、年龄和性别。
用SQL语言写出:
(1)对关系SC中课号等于C1的选择运算。(2)对关系C的课号、课程名的投影运算。
(3)对C和SC两个关系的自然连接运算。(4)求每一课程的间接选修课。
(5)将学号为“S1”的学生年龄改为20。
(6)建立一反映各学生总成绩的视图S_ZCJ,视图包括学号、姓名、总成绩三列。

8.设有如下4个关系模式:
书店(书店号,书店名,地址)         图书(书号,书名,定价)
图书馆(馆号,馆名,城市,电话)   图书发行(馆号,书号,书店号,数量)
设各关系模式中的数据满足下列问题。
请解答:
(l)用SQL语句定义图书关系模式。
(2)用SQL语句检索己发行的图书中最贵和最便宜的书名和定价。
(3)用SQL语句插入一本图书信息:(“B1001”,“数据库原理及应用”,32)。
(4)写出下列SQL语句所表达的中文意思。
SELECT 馆名
FROM 图书馆
WHERE 馆号IN
(SELECT 馆号
FROM 图书发行
WHERE 书号 IN
(SELECT书号
FROM图书
WHERE 书名='数据库原理及应用');

9.设有学生表S(SNO,SN)(其中:SNO为学号,SN为姓名)、课程表C(CNO,CN,TEACHER)(其中:CNO为课程号,CN为课程名,TEACHER为任课教师)和学生选修课程表SC(SNO,CNO,G)(其中:SNO为学号,CNO为课程号,G为成绩),试用SQL语句完成以下操作:
(1)检索胡恒老师所授课程的课程号和课程名。(2)检索李立同学不选修的课程的课程名。
(3)求胡恒老师所授课程的每门课程的平均成绩。(4)在表C中统计开设课程的教师人数。
(5)建立一个视图V_SSC(SNO,SN,CNO,CN,G),并按CNO升序排序。
(6)从视图V_SSC上查询平均成绩在90分以上的学生姓名,课程名和成绩。

10.设有如下4个关系模式:S(SN,SNAME,CITY)   P(PN,PNAME,COLOR,WEIGHT)
J(JN,JNAME,CITY)   SPJ(SN,PN,JN,QTY)
其中:S表示供应商,SN为供应商编码,SNAME为供应商名字,CITY为供应商所在城市;P表示零件,PN为零件编码,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量;J表示工程,JN为工程编码,JNAME为工程名字,CITY为工程所在城市;SPJ表示供应关系,QTY表示提供的零件数量。
写出实现以下各题功能的SQL语句:
(1)取出所有工程的全部细节。
(2)取出所在城市为上海的所有工程的全部细节。(3)取出重量最轻的零件编码。
(4)取出为工程Jl提供零件P1的供应商编码。(5)取出由供应商S1提供零件的工程名称。
(6)取出供应商S1提供的零件的颜色。(7)取出为工程J1和J2提供零件的供应商编码。
(8)取出为工程J1提供红色零件的供应商编码。
(9)取出为所在城市为南京的工程提供零件的供应商编码。
(10)取出为所在城市为上海或北京的工程提供红色零件的供应商编码。
(11)取出供应商与工程所在城市相同的供应商提供的零件编码。
(12)取出上海的供应商提供给上海任一工程的零件的编码。
(13)取出南京供应商不提供任何零件的工程编码。
(14)取出这样一些供应商编码,他们能够提供至少一种提供红色零件的供应商所提供的零件。
(15)取出所有这样的一些<CITY,CITY>二元组,使得第1个城市的供应商为第2个城市的工程提供零件。(16)找出北京的任何工程都不购买的零件的零件号。
(17)按工程号递增的顺序列出每个工程购买的零件总量。
(18)取出至少由一个和工程不在同一城市的供应商提供零件的工程编码。

11.关于教学数据库的关系模式如下:S(S#,SNAME,AGE,SEX)   C(C#,CNAME,TEACHER)
SC(S#,C#,GRADE)
其中:S表示学生,它的各属性依次为学号、姓名、年龄和性别;
C表示课程,它的各属性依次为课程号、课程名和任课教师。
SC表示成绩,它的各属性依次为学号、课程号和分数。
试用SQL语句完成下列查询:
(1)检索王立老师所授课程的课程号和课程名。
(2)检索学号为10001学生所学课程的课程名与任课教师。
(3)检索至少选修王立老师所授课程中一门课程的女学生姓名。
(4)检索张伟同学不学的课程的课程号。(5)检索全部学生都选修的课程的课程号与课程名。
(6)检索选修课程包含王立老师所授课程的学生学号。
(7)在表C中统计开设课程的教师人数。(8)求LIU老师所授课程的每门课程的平均成绩。
(9)求选修C4课程的女学生的平均年龄。
(10)统计每个学生选修课程的门数(超过5门的学生才统计)。要求输出学生学号和选修门数,查询结果按门数降序排列,若门数相同,按学号升序排列。
(11)在表SC中检索成绩为空值的学生学号和课程号。
(12)求年龄大于女同学平均年龄的男学生姓名和年龄。

12.证明:已知{X→Z},求证WX→Z。

13.证明:已知{X→Y,WY→Z},求证 XW→Z。

14.设有关系模式R(A,B,C,D),F ={A→BC,D→A},ρ={R1(A,B,C),R2(A,D)}是否无损连接分解。

15.设有关系模式R(SNO,CNO,SCORE,TNO,DNAME),函数依赖集F ={(SNO,CNO)→SCORE,CNO→TNO,TNO→DNAME},试分解R为BCNF。

16.设有如下实体:学生:学号、姓名、性别、年龄         课程:编号、课程名
教师:教师号、姓名、性别、职称         单位:单位名称、电话
上述实体中存在如下联系:①一个学生可选修多门课程,一门课程可被多个学生选修。
②一个教师可讲授多门课程,一门课程可由多个教师讲授。
③一个单位可有多个教师,一个教师只能属于一个单位。
试完成如下工作:(1)设计学生选课和教师任课的全局E-R图。
(2)将该全局E-R图转换为等价的关系模式表示的数据库逻辑结构。

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

18.设某商业集团数据库中有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
(1)试画出E-R图,并在图上注明属性、联系的类型。
(2)将E-R图转换成关系模型,并注明主键和外键。

19.设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。
(1)试画出E-R图,并在图上注明属性、联系的类型。
(2)将E-R图转换成关系模型,并注明主键和外键。

20.设某商业集团数据库有三个实体集。一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。
供应商与商品之间存在“供应”联系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,每个商店销售每种商品有个月计划数。
(1)试画出E-R图,并在图上注明属性、联系的类型。
(2)将E-R图转换成关系模型,并注明主键和外键。

21.设某商业集团数据库中有三个实体集。一是“仓库”实体集,属性有仓库号、仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。
设仓库与商品之间存在“库存”联系,每个仓库可存储若干种商品,每种商品存储在若干仓库中,每个仓库每存储一种商品有个日期及存储量;商店与商品之间存在着“销售”联系,每个商店可销售若干种商品,每种商品可在若干商店里销售,每个商店销售一种商品有月份和月销售量两个属性;仓库、商店、商品之间存在着“供应”联系,有月份和月供应量两个属性。
(1)试画出E-R图,并在图上注明属性、联系类型、实体标识符。
(2)将E-R图转换成关系模型,并说明主键和外键。

22.设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。
设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。
(1)试画出E-R图,并在图上注明属性、联系类型、实体标识符。
(2)将E-R图转换成关系模型,并说明主键和外键。

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

24.根据各小题要求,写出对应的 SQL语句
以下给出三个基本表。
StuDent(学生表)的字段按顺序为学号、姓名、性别、年龄、所属院系;
Course(课程表)的字段按顺序为课程编号、课程名、先行课程、课程学分;
SC(选课表)的字段按顺序为学号、课程号、成绩。
各表的记录如下:
(1)查询与“刘晨”在同一个系学习的学生的学号、学生姓名。
(2)将一个新学生记录(03020;陈冬;男;18;IS)插入StuDent表中
(3)将计算机科学系(CS)全体学生的成绩置零
(4)创建信息系(IS)选修了1号课程的学生的视图IS_S1,字段包括Sno、SnAme、GrADe。

25.设有一个数据库,包括以下三个关系:
W(Wid,Wname,Wsex,Wage);P(Pid,Pname, Pweight,Pprice);WP(Wid,Pid,Pdata,number);
工人表W 属性为工人号(Wid),工人姓名(Wname),性别(Wsex),年龄(Wage)。产品表P属性有产品编号(Pid),产品名称(Pname),产品重量(Pweight),产品单价(Price),生产产品表WP的属性有工人号(Wid),产品编号(Pid),生产日期(Pdata),生产数量(number)。(一个工人每天只生产一种产品)
(1)向产品表P中插入一条记录(’012’,’鼠标’,100,28)。
(2)在WP表中修改工人号为“208”的工人在“2010-10-09”这天的生产数量为20。
(3)删除WP表中工人号为“100”的工人的记录。
(4)查询年龄大于30且为男性的工人信息。
26.若关系模式R(A,B,C,D,E),存在函数依赖{AB→CE,E→AB,C→D}。
问:(1)给出R的关键字。(2)R最高满足第几范式要求?为什么?
(3)分解ρ={R1,R2},其中R1(A,B,E),R2(E,C,D)。R1、R2最高满足第几范式要求?分解满足无损联接性吗?请给出必要的说明或证明。

27.设有如下信息:下列E-R图是反映产品与仓库两实体间联系的信息模型,要求:

(1)给出该E-R图的关系数据库模式,并指出相应的关键字。
(2)若仓库号、仓库名及仓库地均为字符型且长度均为10,用SQL语言为仓库关系建立相应的基表并说明实体完整性规则。
(3)将仓库基表的查询权限授予所有用户,收回User3对仓库的查询权限。

28.给定如下关系:S(S#,SN,SA,SD)S#表示学号,SN表示姓名,SA表示年龄,SD表示所在系
C(C#,CN,PC#)   C#表示课程号,CN表示课程名,PC#表示先修课程号
SC(S#,C#,G)       S#、C#含义同上,G表示成绩
试用关系代数、SQL语言完成如下查询操作:
(1)查询修读课程号为C1、成绩为A的所有学生姓名。(2)查询年龄为23岁的学生所修读的课程名。
(3)查询至少修读S5修读一门课程的学生姓名。(4)查询修读所有课程的同学姓名。

29.(1)设R={A,B,C},F={A→B,B→C},ρ={AB,AC}。分解是否无损联接分解?试说明理由。
(2)试给出一关系模式R(U),说明该模式满足3NF但不满足BCNF。

30.有2个实体:学生S:学号SNO,姓名SNAME,性别SEX,年龄AGE,所在系DNAME;
课程C:课程号CNO,课程名CNAME,学分CREDIT,预选课程PRE_CNO;
学生和课程之间存在联系:一个学生可选修多门课程,一门课程可被多个学生选修。每个学生修一每门课程有一个成绩。
试完成如下工作:
(1)画实体间相互联系的E-R图。(2)构造相应的关系数据库模式。
(3)用SQL语言为关系模式建立相应的基表。
(4)将所建基本表的查询、修改权限授予User1,并将成绩的查询权限授给所有用户。




《数据库基础与应用》课程复习参考答案
一、单项选择题:
1.A   2.B    3.C   4.D   5.A   6.C   7.B   8.B   9.B    10.B    11.D
12.C    13.A    14.B    15.A    16.C    17.C    18.B    19.B    20.C    21.A    22.D
23.D    24.D    25.B    26.C    27.C    28.D    29.A    30.B    31.D    32.C    33.C
34.D    35.B    16.D    37.D    38.B    39.D    40.C    41.C    42.C    43.A    44.C
45.B    46.D    47.D    48.B    49.D    50.B    51.B    52.D    53.A    54.A    55.A
56.C    57.D    58.C    59.A    60.C    61.A    62.D    63.C    64.D    65.A    66.C
67.A    68.D    69.B    70.C    71.D    72.D    73.C    74.B    75.D    76.A    77.C
78.C    79.D    80.B    81.B    82.D    83.A    84.C    85.C    86.D    87.D    88.C
89.D    90.B    91.A    92.B    93.D    94.C    95.B    96.B    97.A    98.B    99.B
100.C   101.A   102.B   103.D   104.C   105.B   106.B   107.B   108.A   109.B   110.B
111.B   112.C   113.B   114.C   115.C   116.B   117.C   118.B   119.B   120.D   121.A
122.D   123.B   124.D   125.D   126.B   127.B   128.A   129.B   130.C   131.B   132.A
133.B   134.C   135.B   136.C   137.D   138.A   139.C   140.B   141.D   142.A   143.D
144.C   145.B   146.C   147.D   148.D   149.C   150.D   151.A   152.A   153.B   154.D
155.B   156.B   157.C   158.D   159.D   160.B   161.B   162.C   163.D   164.D   165.C
166.D   167.C   168.D   169.A   170.D   171.D   172.A

二、填空题:
1.人工管理文件系统数据库系统
2.硬件系统数据库数据库管理系统及相关软件数据库管理员用户
3.操作系统                                  4.相同的数据重复出现
5.同时                                    6.数据结构数据操作完整性约束
7.根结点                                    8.1
9.1:11:nm:n                            10.树有向图二维表
11.数据定义数据库操纵功能数据库的运行管理数据库的建立和维护
12.数据描述语言数据操纵语言               13.逻辑数据独立性物理数据独立性
14.外模式模式内模式                     15.外模式/模式模式/内模式
16.集合                                     17.实体完整性参照完整性用户定义的完整性规则
18.笛卡尔积选择                           19.笛卡尔积选择投影
20.差运算                                 21.属性名
22.并差笛卡尔积选择投影             23.关系代数、关系演算 
24.系编号                                 25.投影
26.结构化查询语言                           27.过程化非过程化
28.基本表视图数据定义               29.基本表、视图、存储文件
30.数据定义数据操纵数据控制             31.保持原有的依赖关系无损连接
32.数据冗余                                 33.自反律增广律传递律
34.自反律伪传递律                         35.元组演算域演算
36.属性冲突命名冲突结构冲突             37.需求分析
38.需求分析概念设计逻辑设计物理设计实现运行与维护
39.结构特性行为特性                     40.数据项数据结构数据流数据存储处理过程
41.安全性恢复完整性并发控制         42.事务
43.共享锁排他锁                          44.并发操作
45.串行                                     46.正确性和相容性
47.死锁               48.授权               49.GRANT、REVOKE         50.转储、日志
51.WITH CHECK OPTION   52.数据流            53.自顶向下方法          54.物理独立性
55.逻辑独立性            56.正确性相容性      57.概念结构设计          58.用户定义
59.3   id,name,age   
60.s、sc、c                                     s,sc,c
CNAME=‘computer’and SEX=‘女’             S
NOT EXISTS                                 GRADE<60
61.数据库数据库管理系统操作系统计算机硬件用户
62.事务故障系统故障介质故障
63.集中统一高度非过程化面向集合操作模式以同一种语法结构提供两种工作方式
64.E-R 模型层次模型网状模型关系模型       65.定义建立操纵维护控制
66.使用权限鉴别使用范围鉴别存取控制权鉴别
67.安全性保护完整性保护并发控制故障恢复   68.1:11:nm:n
69.物理独立性逻辑独立性                     70.结构特性(静态)行为特性(动态)
71.数据库定义描述数据载入应用程序编制调试数据库试运行
72.存储结构逻辑结构外部结构

三、简答题:
1.答:数据库DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。

2.答:数据库管理系统DBMS是位于用户与操作系统(OS)之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型等。

3.答:文件系统中的文件是面向应用的,一个文件基本上对应于一个应用程序,文件之间不存在联系,数据冗余大,数据共享性差,数据独立性差;数据库系统中的文件不再面向特定的某个或多个应用,而是面向整个应用系统,文件之间是相互联系的,减少了数据冗余,实现了数据共享,数据独立性高。

4.答:(1)实现数据的集中化控制;(2)数据的冗余度小,易扩充;
(3)采用一定的数据模型实现数据结构化;(4)避免了数据的不一致性;(5)实现数据共享;
(6)提供数据库保护;(7)数据独立性;(8)数据由DBMS统一管理和控制。

5.答:数据独立性是指数据库中的数据独立于应用程序,即数据的逻辑结构、存储结构与存取方式的改变不影响应用程序。数据独立性一般分为数据的逻辑独立性和数据的物理独立性。
数据逻辑独立性是指数据库总体逻辑结构的改变(如修改数据定义、增加新的数据类型、改变数据间的联系等)不需要修改应用程序。
数据物理独立性是指数据的物理结构(存储结构、存取方式等)的改变,如存储设备的更换、物理存储格式和存取方式的改变等不影响数据库的逻辑结构,因而不会引起应用程序的变化。

6.答:层次数据模型是用树形结构来表示各类实体型及实体间联系的数据模型;网状数据模型是用有向图来表示各类实体型及实体间联系的数据模型;关系数据模型是用二维表来表示各类实体型及实体间联系的数据模型。

7.答:结构数据模型应包含数据结构、数据操作和数据完整性约束三个部分。数据结构是指对实体类型和实体间联系的表达和实现;数据操作是指对数据库的检索和更新两类操作的实现;数据完整性约束给出数据及其联系应具有的制约和依赖规则。

8.答:层次、网状模型中,数据联系通过指针实现的。
关系模型中,数据联系通过外键与主键相联系实现的。
面向对象模型中,数据联系通过引用类型实现的,引用类型是指引用的不是对象本身,而是对象标识符。

9.答:关系数据模型的优点:
(1)关系数据模型是建立在严格的数学理论基础上,有坚实的理论基础。
(2)在关系模型中,数据结构简单,数据以及数据间的联系都是用二维表表示。
关系数据模型的缺点:存取路径对用户透明,查询效率常常不如非关系数据模型。关系数据模型等传统数据模型还存在不能以自然的方式表示实体集间的联系、语义信息不足、数据类型过少等弱点。

10.答:概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流所使用的语言。

11.答:数据独立性是由DBMS的二级映象功能来实现的。数据库系统通常采用外模式、模式和内模式三级结构,数据库管理系统在这三级模式之间提供了外模式膜式和模式/内模式两层映象。当整个系统要求改变模式时(增加记录类型、增加数据项),由DBMS对各个外模式/模式的映象作相应改变,使无关的外模式保持不变,而应用程序是依据数据库的外模式编写的,所以应用程序不必修改,从而保证了数据的逻辑独立性。当数据的存储结构改变时,由DBMS对模式/内模式映象作相应改变,可以使模式不变,从而应用程序也不必改变,保证了数据的物理独立性。
数据独立性的好处是:
(1)减轻了应用程序的维护工作量;
(2)对同一数据库的逻辑模式,可以建立不同的用户模式,从而提高数据共享性,使数据库系统有较好的可扩充性,给DBA维护、改变数据库的物理存储提供了方便。

12.答:数据库管理系统(DBMS)是位于操作系统与用户之间的一个数据管理软件,它的主要功能包括以下几个方面:(1)数据库定义功能;(2)数据库操纵功能;(3)数据库的运行管理;
(4)数据库的建立和维护功能。

13.答:DBA的职责是:
(1)参与数据库系统的设计与建立;(2)对系统的运行实行监控;
(3)定义数据的安全性要求和完整性约束条件;
(4)负责数据库性能的改进和数据库的重组及重构工作。

14.答:可分为以下几类:
(1)DBA:控制数据整体结构的人员;(2)最终用户:使用应用程序的非计算机人员;
(3)应用程序员:使用DML语言编写应用程序的计算机工作者;(4)专业用户。

15.答:从模块结构看,DBMS是查询处理器和存储管理器两大部分组成。
(1)查询处理器有四个主要成分:DDL编译器、DML编译器,嵌入式 DML预编译器,查询运行核心程序。
(2)存储管理器有四个主要成分:授权和完整性管理器、事务管理器、文件管理器、缓冲区管理器。

16.答:由于关系定义为元组的集合,而集合中的元素是没有顺序的,因此关系中的元组也就没有先后顺序(对用户而言)。这样既能减少逻辑排序,又便于在关系数据库中引进集合论的理论。

17.答:每个关系模式都有一个主键,在关系中主键值是不允许重复的,否则起不了惟一标识作用。如果关系中有重复元组,那么其主键值肯定相等,因此关系中不允许有重复元组。

18.答:与表格、文件相比,关系有下列3个不同点:
(1)关系中属性值是原子的,不可分解。(2)关系中没有重复元组。
(3)关系中属性的顺序没有列序。(4)关系中元组的顺序是无关紧要的。

19.答:连接是由笛卡尔积和选择操作组合而成的,而等值连接是θ为等号“=”的连接;一般自然连接使用在两个关系有公共属性的情况下,如果两个关系没有公共属性,那么其自然连接就转化为笛卡尔积操作。

20.答:自然连接和半连接之间的联系可用下面两点来表示:
(1)半连接是用自然连接操作来定义的:R⋉S=∏R(R⋈S);
(2)连接操作用半连接方法来求的:R⋈S=(R⋉S)⋈S。

21.答:有以下规定:(1)在程序中要区分SQL语句与宿主语言语句,即在所有SQL语句前加上前缀标识:EXEC SQL;(2)允许嵌入的SQL语句引用宿主语言的程序变量;(3)SQL的集合处理方式与宿主语言单记录处理方式之间的协调,采用游标机制。

22.答:视图机制使系统具有三个优点:数据安全性、数据独立性和操作简便性。

23.答:使用游标机制,把集合操作转换成单记录处理方式。与游标有关的语句有:游标定义语句DECLARE;游标打开语句 OPEN ;游标推进语句 FETCH;游标关闭语句 CLOSE。

24.答:如果是INSERT、DELETE、UPDATE语句,那么不必涉及游标,加上前缀EXEC SQL就能嵌入在宿主语言程序中使用,对于SELECT语句,如果已知查询结果肯定是单元组时,也可直接嵌入在主程序中使用,但应在SELECT语句中增加一个INTO子句;当SELECT语句查询结果是多个元组时,一定要用游标机制把多个元组一次一次地传送给宿主语言程序处理。

25.答:(1)DDL、DML、DCL一体化;(2)两种使用方式,一种语法规则;
(3)高度非过程化;(4)简单易学,只有九个基本语句。支持三级模式结构。

26.答:由于数据之间存在着联系和约束,在关系模式的关系中可能会存在数据冗余和操作异常现象,因此需把关系模式进行分解,以消除冗余和异常现象。
分解的依据是数据依赖和模式的标准(范式)。

27.答:分解有两个优点:(1)消除冗余和异常;(2)在分解了的关系中可存储悬挂元组。
但分解有两个缺点:(1)可能分解了的关系不存在泛关系;
(2)做查询操作,需做连接操作,增加了查询时间。

28.答:(1)F中每一个函数依赖的右部都是单属性;
(2)F中的任一函数依赖都不是可从F中其它函数依赖导出的;
(3)Z为X的子集,(F-|X→A|)∪|Z→A|与F不等价。

29.答:在关系数据库设计中,要考虑怎样合理地设计关系模式,如设计多少关系模式、每个关系模式要由哪些属性组成等,这些问题需要利用关系规范化理论来解决。通常,关系模式必须满足第一范式,但有些关系模式还存在数据冗余、插入异常、删除异常以及修改异常等各种异常现象。为了解决这些问题,就必须使关系模式满足更强的约束条件,即规范化为更高范式,以改善数据的完整性、一致性和存储效率。

30.关系规范化的实质是对关系模式不断分解的过程,直到关系模式达到某一范式。

31.答:实现阶段的主要工作有:
(1)建立实际数据库结构;
(2)试运行,装入试验数据,实际运行应用程序,进入数据库的试运行阶段;
(3)装入数据(数据库加载)。

32.答:(1)维护数据库的安全性与完整性控制及系统的转储和恢复;(2)性能的监督、分析与改进;
(3)增加新功能;(4)发现错误,修改错误;(5)数据库的重组重构。

33.答:由于各类应用不同,不同的应用通常又由不同的设计人员设计,因此局部E-R模型之间不可避免地会有不一致的地方,称之为冲突;通常,把冲突分为属性冲突、结构冲突、命名冲突。

34.答:(1)需求分析;(2)概念结构设计;(3)逻辑结构设计;(4)数据库物理设计;
(5)数据库的实现;(6)数据库运行与维护。

35.答:重要性:数据库概念设计是整个数据库设计的关键,将在需求分析阶段所得到的应用需求先抽象到概念结构,以此作为各种数据模型的基础,从而能更好地、更准确地用DBMS实现这些需求。
设计步骤主要分三步:进行数据抽象,设计局部概念模式;将局部概念模式综合成全局概念模式;评审。

36.答:X锁与S锁的区别如下表所示。
X锁        S锁
只允许一个事务独锁数据        允许多个事务并发S锁某一数据
获准X锁的事务可以修改数据        获准S锁的事务只能读数据,但不能修改数据
事务的并发度低        事务的并发度高,但增加了死锁的可能性
X锁必须保留到事务终点        根据需要,可随时解除S锁
解决“丢失更新”问题        解决“读不一致性”问题

37.答:(1)事务的原子性,是指一个事务对DB的所有操作,是一个不可分割的工作单元。原子性是由DBMS的事务管理子系统实现的。事务的原子性保证了DBS的完整性。
(2)事务的一致性,是指数据不会因事务的执行而遭受破坏。事务的一致性是由DBMS的完整性子系统实现的。事务的一致性保证数据库的完整性。
(3)事务的隔离性,是指事务的并发执行与这些事务单独执行时结果一样。事务的隔离性是由DBMS的并发控制子系统实现的。隔离性使并发执行的事务不必关心其他事务,如同在单用户环境下执行一样。
(4)事务的持久性,是指事务对DB的更新应永久地反映在DB中。持久性是由DBMS的恢复管理子系统实现的。持久性能保证DB具有可恢复性。

38.答:恢复的基本原则是“冗余”,即数据重复存储。
为了做好恢复工作,在平时应做好两件事:定时对DB进行备份;建立日志文件,记录事务对DB的更新操作。

39.答:在数据库运行时,把未提交随后又被撤消的数据称为“脏数据”。
为了避免读取“脏数据”,事务可以对数据实行加S锁的方法,以防止其他事务对该数据进行修改。

40.答:(1)触发条件:什么时候使用规则进行检查;(2)约束条件:要检查什么样的错误;
(3)若检查出错误,该怎样处理。

41.答:事务是用户定义的一个操作序列,这些操作要么全做要么全不做,事务是一个不可分割的工作单位。事务具有四个特性:原子性、一致性、隔离性和持续性。
这个四个特性也简称为ACID特性。

42.答:主要包括了以下工作:
(1)确定数据的存储结构,决定是否采用聚簇功能。
(2)设计数据的存取路径,决定是否建立索引,建多少索引,在哪些列或多列上建索引等。
(3)确定数据的存放的物理位置,决定是否将经常存取部分和存取频率较低部分分开存放等。
(4)确定系统配置参数,根据DBMS产品提供了一些存储分配参数,数据库进行物理优化。
(5)评价物理结构, 估算各种方案的存储空间、存取时间和维护代价,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。

43.答:(1)外码能否接受空值
(2)删除被参照关系中的元组。这时可有三种不同的策略:
级联删除:同时删除参照关系中相关元组;
受限删除:仅当参照关系中没有任何元组的外码值与被参照关系中要删除元组的主码值相同时,系统才执行删除操作,否则拒绝此删除操作。
置空值删除:删除被参照关系的元组,并将参照关系中相应元组的外码值置空值。
(3)在参照关系中插入元组
当参照关系插入某个元组,而被参照关系不存在相应的元组,其主码值与参照关系插入元组的外码值相同,这时可有以下策略:
受限插入:不允许在参照关系中插入;
递归插入:同时在被参照关系中插入一个元组,其主码值为插入元组的外码值。

四、综合题:
1.答:本题各小题的结果如图所示。
(1)R1=R-S
A        B        C
1        2        3
3        2        4

(2)R2=R∪S
A        B        C
1        2        3
2        1        5
3        2        4
3        1        4

(3)R3=R∩S
A        B        C
2        1        5

(4)R4=R×S
R.A        R.B        R.C        S.A        S.B        S.C
1        2        3        2        1        5
1        2        3        3        1        4
2        1        5        2        1        5
2        1        5        3        1        4
3        2        4        2        1        5
3        2        4        3        1        4


2.答:本题各小题的结果如图所示。
(1)R1=R-S
A        B        C
A1        B1        C1

(2)R2=R∪S
A        B        C
A1        B1        C1
A2        B2        C1
A2        B2        C2
A3        B3        C3

(3)R3=R∩S
A        B        C
A2        B2        C1
A2        B2        C2

(4)R4=∏A,B(σB='B1' (R))
A        B
A1        B1



3.答:本题各小题的结果如图所示。
(1)R1=R-S
A        B
2        5
3        3

(2)R2
A        B        C
1        2        2
1        2        4
3        3        3

(3)R3
A
1
2
3

(4)R4
A        R.B        T.B        C
2        5        2        2
3        3        3        3



4.答:本题各小题的结果如图所示。
(1)R1=R∪S
A        B        C
c        f        g
b        e        g
g        b        c
d        d        c
c        d        e

(2)R2=R∩S
A        B        C
g        b        c

(3)R3=R×S
R.A        R.B        R.C        S.A        S.B        S.C
c        f        g        c        d        e
c        f        g        g        b        c
b        e        g        c        d        e
b        e        g        g        b        c
g        b        c        c        d        e
g        b        c        g        b        c
d        d        c        c        d        e
d        d        c        g        b        c

(4)R4=∏3,2(S)
C        B
e        d
c        b


5.本题各个查询操作对应的关系代数表达式表示如下:
(1)∏C#,CNAME(σTEACHER=’陈军’(C))                     (2)∏S#,SNAME(σAGE<20∧SEX=’男’(S))
(3)∏SNAME(S⋈(∏S#,C#(SC) ÷∏C#(σTEACHER=’陈军’(C)))   (4)∏C#(C)-∏C#(σSNAME=’李强’(S) ⋈SC)
(5)∏S# (σ1=4∧2≠5(SC×SC))                     (6)∏C#,CNAME(C⋈(∏S#,C#(SC)÷ ∏S#(S)))
(7)∏S#(SC⋈∏C#(σTEACHER=’陈军’(C)))
(8)∏S#, C# (SC) ÷∏C#(σC#=’C1’∨ C#=’C5’(C))      (9)∏SNAME(S⋈(∏S#,C#(SC) ÷∏C#(C)))
(10)∏S#,C# (SC)÷ ∏C#(σS#=’S2’(SC))
(11)∏S#,SNAME (S⋈ (∏S#(SC⋈ (σCNAME=’C语言’(C)))))

6.本题各个查询操作对应的关系代数表达式表示如下:
(1)∏SNO(σJNO=’J10’(SPJ))                           (2)∏SNO(σJNO=’J9’∧SNO=’P9’(SPJ))
(3)∏SNO(σJNO=’J8’∧ COLOR=’黄’(SPJ⋈P))
(4)∏JNO(J)-∏JNO(σSCITY=’南京’∧ COLOR=’黄’(S⋈SPJ⋈P))

7.答:对应的SQL命令如下:
(1)SELECT *
FROM SC
WHERE CNO='C1';
(2)SELECT CNO, CNAME
FROM C;
(3)SELECT C.CNO, C.CNAME, C.PCNO, SC.SNO, SC.SCORE
FROM C, SC
WHERE C.CNO=SC.CNO;
(4)SELECT first.CNO, second.PCNO
FROM C first, C second
WHERE first.PCNO=second.CNO;
(5)UPDATE S SET AGE=20 WHERE SNO=‘S1’;
(6)CREATE VIEW S_ZCJ(学号,姓名,总成绩)
AS SELECT S.SNO,SNAME,SUM(SCORE)
FROM S,SC WHERE S.SNO=SC.SNO GROUP BY SNO;

8.答:(1)CREATETABLE图书(书号CHAR(5)PRIMARY KEY,
书名CHAR(10),
定价DECIMAL(8,2));
(2)SELECT 图书.书名, 图书.定价
FROM 图书
WHERE定价=(SELECT MAX(定价)
FROM 图书, 图书发行
WHERE 图书.书号=图书发行.书号)
UNION
SELECT 图书.书名, 图书.定价
FROM 图书
WHERE定价=(SELECT MIN(定价)
FROM 图书, 图书发行
WHERE图书.书号=图书发行.书号);
(3)INSERT INTO 图书 VALUES("B1001","数据库原理及应用", 32);
(4)查询拥有已发行的"数据库原理及应用"一书的图书馆馆名。

9.答:对应的SQL命令如下:
(1)SELECT CNO, CN
      FROM C
      WHERE TEACHER='胡恒'’;     
(2)SELECT CN
      FROM C
      WHERE NOT EXISTS
         (SELECT *
             FROM S, SC
             WHERE S.SNO=SC.SNO AND SC.CNO=C.CNO AND SN='李立');
(3)SELECT C.CNO, AVG(G)
      FROMSC, C             
      WHERE SC.CNO=C.CNO AND TEACHER=‘胡恒’
      GROUP BY C.CNO;   
(4) SELECT COUNT(DISTINCT TEACHER)
      FROM C;              
(5) CREATE VIEW V_SSC(SNO,SN, CNO,CN,G)
      AS SELECT S.SNO, S.SN, SC.CNO, C.CN, SC.G
         FROM S, SC, C
         WHERE S.SNO=SC.SNO AND C.CNO=SC.SNO
         ORDER BY CNO;
(6) SELECT SN, CN, G
      FROM V_SSC
      GROUP BY SNO
      HAVING AVG(G)>90;
10. 答:对应的SQL语句如下:
(1)SELECT *
      FROM J;
(2)SELECT *
      FROM J
      WHERE CITY='上海';
(3)SELECT PN
      FROM P
       WHERE WEIGHT=
               (SELECT MIN(WEIGHT)
                   FROM P);
(4)SELECT SN
      FROM SPJ
      WHERE JN='J1' AND PN='P1';
(5)SELECT JNAME
      FROM J
      WHERE JN IN
            (SELECT DISTINCT JN
            FROM SPJ
            WHERE SN='S1');
(6)SELECT COLOR
      FROM P
      WHERE PN IN
            (SELECT DISTINCT PN
            FROM SPJ
            WHERE SN='S1');
(7)SELECT SN
      FROM SPJ
      WHERE JN='J1' AND SN IN
                     (SELECT SN
                     FROM SPJ
                     WHERE JN='J2');
(8)SELECT SN
      FROM SPJ
      WHERE JN='J1' AND PN IN
                     (SELECT PN
                        FROM P
                        WHERE COLOR='红');
(9)SELECT DISTINCT SN
       FROM SPJ
       WHERE JN IN
                (SELECT JN
                  FROM J
                  WHERE CITY='南京');
(10)SELECT SN
       FROM SPJ
       WHERE JN IN
                (SELECT JN
                  FROM J
                  WHERE CITY='上海' OR CITY='北京')
            AND PN IN
                (SELECT PN
                  FROM P
                  WHERE COLOR='红');
(11)SELECT SPJ.PN
       FROM S, J, SPJ
       WHERE S.SN=SPJ.SN AND J.JN=SPJ.JN AND S.CITY=J.CITY;
(12)SELECT PN
       FROM SPJ
       WHERE JN IN
                (SELECT JN
                  FROM J
                  WHERE CITY='上海')
            AND SN IN
                  (SELECT SN
                      FROM S
                      WHERE CITY='上海');
(13)SELECT JN
       FROM J
       WHERE JN NOT IN
               (SELECT DISTINCT JN
                   FROM SPJ
                   WHERE SN IN
                        (SELECT SN
                            FROM S
                            WHERE CITY='南京'));
(14)SELECT DISTINCT SPJ.SN
       FROM P, SPJ
       WHERE SPJ.PN IN
                (SELECT SPJ.PN
                  FROM SPJ, S, P
                  WHERE S.SN=SPJ.SN AND P.PN=SPJ.PN AND P.COLOR='红');
(15)SELECT S.CITY, J.CITY
       FROM S, J, SPJ
       WHERE S.SN=SPJ.SN AND J.JN=SPJ.JN;
(16)SELECT PN
       FROM P
       WHERE NOT EXISTS
            (SELECT *
                FROM SPJ, J
                WHERE SPJ.SN=J.SN AND SPJ.PN=P.PN AND J.CITY='北京');
(17)SELECT JN, SUM(QTY)
       FROM SPJ
       GROUP BY JNO
       ORDER BY JNO ASC;
(18)SELECT DISTINCT SPJ.JN
       FROM S, J, SPJ
       WHERE S.SN=SPJ.SN AND J.JN=SPJ.JN AND S.CITY<>J.CITY;

11.答:对应的SQL语句如下:
(1)SELECT C#, CNAME
      FROM C
      WHERE TEACHER='王立';
(2)SELECT CNAME, TEACHER
      FROM SC, C
      WHERE SC.C#=C.C# AND S#='10001';
(3)采用连接查询方式:
   SELECT SNAME
   FROM S, SC, C
   WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX='女' AND TEACHER='王立';
   采用嵌套查询方式:
   SELECT SNAME
   FROM S
   WHERE SEX='女' AND S# IN
                  (SELECT S#
                  FROM SC
                  WHERE C# IN
                        (SELECT C#
                        FROM C
                        WHERE TEACHER='王立'));
   采用存在量词查询方式:
      SELECT SNAME
      FROM S
      WHERE SEX='女' AND EXISTS
                  (SELECT *
                  FROM SC
                  WHERE SC.S#=S.S# AND EXISTS
                        (SELECT *
                            FROM C
                            WHERE C.C#=SC.C# AND TEACHER='王立'));
(4)SELECT C#
      FROM C
      WHERE NOT EXISTS
               (SELECT *
               FROM S, SC
               WHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME='张伟');
(5)SELECT C#, CNAME
      FROM C
      WHERE NOT EXISTS
                (SELECT *
                  FROM S
                  WHERE NOT EXISTS
                        (SELECT *
                            FROM SC
                            WHERE S#=S.S# AND C#=C.C#));
(6)SELECT DISTINCT S#
      FROM SC X
      WHERE NOT EXISTS
               (SELECT *
               FROM C
               WHERE TEACHER='王立' AND NOT EXISTS
                              (SELECT *
                                  FROM SC Y
                            WHERE Y.S#=X.S# AND Y.C#=C.C#);
(7)SELECT COUNT(DISTINCT TEACHER)
      FROM C;              
(8)SELECT C.C#, AVG(GRADE)
      FROMSC, C             
      WHERE SC.C#=C.C# AND TEACHER=‘LIU’
      GROUP BY C.C#;
(9)SELECT AVG(AGE)
      FROM S, SC
      WHERE S.S#=SC.S# AND C#=’C4’ AND SEX=’F’;
(10)SELECT S#, COUNT(C#)
      FROM SC
      GROUP BY S#
         HAVING COUNT(*)>5
      ORDER BY 2 DESC, 1; 
(11)SELECT S#, C#
      FROM SC
      WHERE GRADE IS NULL; 
(12)SELECT SNAME, AGE
      FROM S
      WHERE SEX=’M’
         AND AGE> ( SELECT AVG(AGE)
                     FROM S
                     WHERE SEX=’F’);

12.证:X→Z⊨WX→WZ   (A2扩展律)            WX→Z    (A5分解规则)

13.证:X→Y⊨WX→WY   (A2扩展律)            WY→Z    (给定条件)
由上可得XW→Z(A3传递律)

14.解:因为R1∩R2=A,R1-R2=BC,A→BC属于F,故R1∩R2→R1-R2,所以该分解具有无损连接性。

15.解:初始化ρ={R}求得候选关键字为{SNO,CNO}。
首先从R中分解出关系(TNO,DNAME),得ρ={ R1(TNO,DNAME),R2(SNO,CNO,SCORE,TNO)}
其中R1为BCNF,R2不是BCNF
再求出R2的候选关键字为{SNO,CNO},从R2中分解出关系(CNO,TNO),则
ρ={ R1(TNO,DNAME),R3(CNO,TNO),R4(SCO,CNO,SCORE)}
R1、R3、R4都属于BCNF,分解完成。

16.答:(1)学生选课E-R图如图所示:

(2)该全局E-R图转换为等价的关系模式表示的数据库逻辑结构如下:
单位(单位名称,电话)
教师(教师号,姓名,性别,职称,单位名称)
课程(课程编号,课程名,单位名称)
学生(学号,姓名,性别,年龄,单位名称)
讲授(教师号,课程编号)
选修(学号,课程编号)

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

(2)转换为等价的关系模式结构如下:
借书人(借书证号,姓名,单位)
出版社(出版社名,电报编号,电话,邮编,地址)
图书(书号,书名,数量,位置,出版社名)
借阅(借书证号,书号,借书日期,还书日期)

18.答:(1)对应的E-R图如图所示:

(2)这个E-R图可转换为如下关系模式:
商店(商店编号,商店名,地址) 商店编号为主码
职工(职工编号,姓名,性别,业绩,商店编号,聘期,工资) 职工编号为主码,商店编号为外码
商品(商品号,商品名,规格,单价) 商品号为主码
销售(商店编号,商品号,月销售量) 商店编号+商品号为主码,商店编号、商品号均为外码
19.解:(1)对应的E-R图如图所示:

(2)这个E-R图可转换3个关系模式:
公司(公司编号,公司名,地址)
仓库(仓库编号,仓库名,地址,公司编号)
职工(职工编号,姓名,性别,仓库编号,聘期,工资)

















20-21题答案

(2)这个E-R图可转换成6个关系模式:
仓库(仓库号,仓库名,地址)             商品(商品号,商品名,单价)
商店(商店号,商店名,地址)             库存(仓库号,商品号,日期,库存量)
销售(商店号,商品号,月份,月销售量)   供应(仓库号,商店号,商品号,月份,月供应量)
22-23题答案
(2)转换为等价的关系模式结构如下:
教师(工号,姓名,职称)               学生(学号,姓名,性别,年龄,教师工号)
课程(课程号,课程名称,教师工号)   选课(学号,课程号,成绩)

24.根据各小题要求,写出对应的 SQL语句
(1)SELECT Sno, SnAme
FROM StuDent
WHERE SDept IN
SELECT SDept
FROM StuDent
WHERE SnAme='刘晨';
(2) INSERT
INTO StuDent
VALUES ('95020', '陈冬', '男', 18,'IS');
(3) UPDATE SC
SET GrADe=0
WHERE 'CS'=
(SELETE SDept
FROM StuDent
WHERE StuDent.Sno=SC.Sno);
(4)CREATE VIEW IS_S1(Sno, SnAme, GrADe)
AS
SELECT StuDent.Sno, SnAme, GrADe
FROM StuDent, SC
WHERE SDept='IS' AND
StuDent.Sno=SC.Sno AND
SC.Cno='1';

25.答:(1)向产品表P中插入一条记录(“012”,“鼠标”,100,28)。
insert into P values('012','鼠标',100,28)
(2)在WP表中修改工人号为“208”的工人在“2010-10-09”这天的生产数量为20。
update WP set number=20 where Wid=’208’and Pdate=’2010-10-09’
(3)删除WP表中工人号为“100”的工人的记录。)
delete from WP whereWid=’100’
(4)查询年龄大于30且为男性的工人信息。
select * from W where Wage>30 and Wsex=’男’

26.答:(1)关键字为:E(             (2)满足2NF,存在传递依赖
(3)R1满足BCNF,因为每个决定因素都是关键字
R2满足2NFE为关键字,不存在部分依赖,但有传递依赖E→C,C→D
分解满足无损联接性,因为:
R1∩R2=E,R1-R2=(A,B)由于E为关键字,故E→(A,B),即:
R1∩R2→(R1-R2),符合无损联接性判别定理。

27.答:(1)关系数据库模式:
仓库W(仓库号W#,仓库名WN,地址WA)             关键字:W#
产品P(产品号P#,产品名称PN,规格PS,型号PM)关键字:P#
存放L(仓库号W#,产品号P#,数量QTY)            关键字:(W#,P#)
(2)CREATE TABLE W(W# CHAR(10) PRIMARY KEY,
WN CHAR(10),
WA CHAR(10))
(3)GRANT SELECT ON W TO PUBLIC
REVOKE SELECT ON W FROM User3

28.答:(1)∏SN(S⋈ ∏S#(σC#=”C1”∧G=”A”(SC)))
SELECT S.SN
FROM S,SC
WHERE SC.C#=’C1’ AND SC.G=’A’ AND SC.S#=S.S#
(2)∏CN(C⋈ ∏C#(SC⋈ ∏S#(σSA=23(S)))
SELECT C.CN
FROM S,SC,C
WHERE S.SA=23 AND S.S#=SC.S# AND SC.C#=C.C#
(3)∏SN(S⋈ ∏S#(SC⋈ ∏C#(σS#=‘S5’(SC)))
SELECT S.SN
FROM S,SC SCX,SC SCY
WHERE SCX.S#=’S5’AND SCX.C#=SCY.C# AND SCY.S#=S.S#

(4)∏SN(S⋈ (∏S#,C# (SC)÷(∏C# (C)))
SELECT S.SN
FROM S
WHERE NOT EXISTS
(SELECT *
FROM C
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE S.S#=SC.S# AND C.C#=SC.C#)))

29.答:(1)设R1=AB,R2=AC
∵R1∩R2=A,R1-R2=B,而A→B(已知),故R1∩R2→R1-R2成立
根据定理,分解ρ为无损联接分解
(2)设某关系模式R(ABC),函数依赖{A→B,B→A,A→C},A为关键字,不存在非主属性对关键字的部分依赖和传递现象,R(U)属于3NF。但有B→A,而B为决定因素但不是关键字,故该关系模式不满足BCNF要求。

30.答:(1)E-R图:

(2)关系数据库模式:
学生S(学号,姓名,性别,年龄,所在系)
课程C(课程号,课程名,学分,预选课程)
选修SC(学号,课程编号,成绩)
(3)CREATE TABLE S
                   ( SNO CHAR(6) PRIMARY KEY,
                     SNAME CHAR(8) NOT NULL,
                     AGE SMALLINT,
                     SEX CHAR(1),
                     DNAME VARCHAR(12));
         CREATE TABLE C
                  ( CNO CHAR(2) NOT NULL,
                     CNAME VARCHAR(24) NOT NULL,
                     CREDIT SMALLINT,
                     PRE_CNO CHAR(2),
                     PRIMARY KEY(CNO));
         CREATE TABLE SC
                   ( SNO CHAR(6) NOT NULL,
                  CNO CHAR(2) NOT NULL,
                  SCORE SMALLINT,
                  PRIMARY KEY(SNO,CNO),
                  FOREIGN KEY(SNO)
                        REFERENCES S(SNO) ON DELETE CASCADE,
                  FOREIGN KEY(CNO)
                        REFERENCES C(CNO) ON DELETE NO ACTION);

(4)GRANT SELECT,UPDATE ON S TO User1
       GRANT SELECT,UPDATE ON C TO User1
       GRANT SELECT,UPDATE ON SC TO User1
       GRANT SELECT (SCORE) ON SC TO PUBLIC




页: [1]
查看完整版本: 《数据库基础与应用》课程复习资料