文档内容
数据库试题
一、 填空题
1. 事务的特性包括:(原子性)、一致性、(隔离性)、和持久性。
2. SQL数据库中的表,可以是基本表,也可以是(视图)。
3. 视图是定义在(基本表或视图)之上的,对视图的一切操作最终要转
换为对(基本表)的操作。
4. 视图是从(基本表)中导出的(虚)表,数据库中实际存放的是视图
的(定义 )。
5. 关系模式的三类完整性约束条件分别是(实体完整性)、参照完整性
约束和(用户定义完整性)
6. 关系数据模型的数据完整性规则包括(实体)完整性、(参照)完整性和
用户定义的完整性。
7. E-R方法的三要素是:实体、(属性)和联系。
8. 标准的数据库三级模式是概念模式、(内)模式和(外)模式。
9. 在SQL中,用(MODIFY)命令可以修改表中的数据,用(ALTER)命
令可以修改表的结构。
10. 在ER图中,菱形框表示(联系),矩形框表示(实体)。
11. 并发控制的主要方法是采用(封锁机制)。
12. 在并行处理中,若干事物相互等待对方释放封锁,称为系统进入(死
锁)状态。
13. 一级封锁协议可解决(丢失修改)的问题。
14. 预防死锁的方法有(一次封锁法)和顺序封锁法。
15. SQL语言提供数据库定义、(数据操纵)、数据控制等功能。
16. .三级封锁协议可解决:丢失修改、不可重复读,和(读脏数据)_的问
题。
17. 关系代数中专门的关系运算包括:选择、投影、连接和(除法)。
18. 数据库中三种数据模型为:层次模型、网状模型、和(关系模型)。
19. 关系数据库数据操作的处理单位是关系,层次和网状数据库数据操
作的处理单位是(记录)。
20. 在关系数据模型中,两个关系之间的联系有1:1,1:M和(M:N_)
21. 数据库的逻辑模型设计阶段,任务是将(总体E-R模型)转换成关系
模型。
22. 关系规范化理论是设计(关系数据库)的指南和工具。
23. 当数据库被破坏后,如果事先保存了(日志文件)和数据库的副本,
1就有可能恢复数据库。
24. 关系中主码的取值必须唯一且非空,这条规则是(实体)完整性规则。
25. 将数据转换成信息的过程称为(数据处理)。
26. 在E-R模型中,用菱形框表示(实体之间的联系),用椭圆形框表示
(属性),用矩形框表示(实体)。
27. 数据库管理系统所支持的数据模型被分为(层次)、(网状)、(关
系)和面向对象四种类型。
28. 一个工人可以加工多种零件,每一种零件可以由不同的工人来加工,
工人和零件之间为 ( 多对多(m:n))的联系。
29. 二维表中的列和行在关系中分别称为(属性)和(元组)。
30. 在 SQL 查询时,如果需要去掉查询结果中的重复组,应使用
(DISTINCT)。
31. 封锁一般分为两种排他型封锁,X封锁和(共享型封锁,S封锁)
32. 假设一个学生只属于一个班级,则班级和学生之间是(一对多,1:N)
联系; 学生可以同时修多门课程,学生和课程之间是(多对多,
M:N)联系。
33. 数据完整性约束分为静态约束和(动态)约束。
34. 在数据库系统中,所有应用程序都通过(DBMS)访问数据库。
35. 一级封锁协议可解决(丢失修改)的问题。
36.DB并发操作通常会带来三类问题,它们是丢失更新、(不一致分
析)和读脏数据
37. 分布式数据库系统中透明性层次越高,应用程序的编写越(简单 (或
容易))。
38. 数据库系统中保证安全性的存取权限是由(数据对象)和(操作类
型)两个要素组成。
39. 封锁的粒度越大,系统中能够被封锁的对象就越(少 )并发度也就
越(小 )。
40. 数据库运行过程中可能发生的故障有三类即事务故障、(系统故
障)和(介质故障 )。
41. 数据库设计分为以下六个设计阶段:需求分析阶段、(概念结构
设计)、(逻辑结构设计 )数据库物理设计阶段、数据库实施阶
段、数据库运行和维护阶段。
42. 关系数据库的完整性包括(实体 )完整性和(参照 )完整性。
43. 数据库系统中最重要的软件是(数据库管理系统),最重要的用户
2是(数据库管理员 )。
44. 视图是从(基本表 )中导出的表,数据库中实际存放的是视图的
(定义 )。
45. 分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、
(重构条件和不相交条件)。
46. 数据库设计分为以下六个设计阶段:需求分析阶段、(概念结构设
计)、(逻辑结构设计)
(数据库物理设计阶段)、数据库实施阶段、数据库运行和维护阶段。
47. 实体之间的联系按照联系方式的不同可分为(一对一或1∶1)、(一对
多或1∶n )、(多对多或m∶n )。
48. 数据库系统的核心是(数据库管理系统或DBMS)。
49. 在关系模型中,实体以及实体间的联系都是用(关系)来表示的。
50. 在关系代数中专门的关系运算包括(选择 )、(投影)、)连接)、除等
运算。
51. SQL语言集数据查询、(数据操纵)、(数据定义)和(数据控制)
功能于一体,充分体现了关系数据语言的特点和优点。
52. 数据库管理系统保证数据安全的主要措施是进行(存取控制)。
53. 人们已经提出了许多种类型的数据依赖,其中最重要的是(函数依
赖)和(多值依赖)。
54. 关系模式由3NF转化为BCNF是消除了主属性对码的(部分函数依
赖)和(传递函数依赖)。
55. 与文件管理系统相比较,数据库系统的数据冗余度(低)、数据共
享性(低)。
56. 数据模型通常是由数据结构、(数据操作)和(数据的约束条件)
三个要素组成。
57. SQL语言除了具有数据查询和数据操作功能之外,还具有(数据定
义)和(数据控制)功能。它是一个功能强大的语言。
58. 数据库系统中保证安全性的存取权限是由(数据对象)和(操作类
型)两个要素组成。
59. 封锁的粒度越大,系统中能够被封锁的对象就越(少)并发度也就越
(小)。
60. 数据库运行过程中可能发生的故障有三类即事务故障、(系统故
障)和(介质故障)。
61. 数据库系统中最重要的软件是(数据库管理系统),最重要的用户
3是(数据库管理员)。
62. 分布式数据库系统中透明性层次越高,应用程序的编写越(简单 (或
容易))。
63. 用树型结构表示实体类型及实体间联系的数据模型称为(层次模型)。
64. DB并发操作通常会带来三类问题,它们是丢失更新、(不可重复读)
和读脏数据。
65. 数据库系统中常用的三种数据模型有层次模型、(网状模型)和(关系
模型)
66. 聚合函数“count(列名)”的语义是(统计记录个数).
67. revoke 命令意味着是从用户权限中(收回)某种,或全部权限
68. 将数据转换成信息的过程称为(数据处理)。
69. 二维表中的列和行在关系中分别称为(属性)和(元组)。
70. 分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、
重构条件和(不相交条件)。
二、名词解释
1. 实体完整性规则
这条规则要求关系中元组在组成主键的属性上不能有空值。 如果出现空
值,那么主键值就起不了唯一标识元组的作用。
2. 一级封锁协议
事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。。
3. 属性
关系表中的一列即为一个属性 / 属性为实体的某一方面特征的抽象表
示。如学生,可以通过学生的“姓名”、“学号”、“性别”、“年龄”
及“政治面貌”等特征来描述,此时,“姓名”、“学号”、“性别”、
“年龄”及“政治面貌”等就是学生的属性。
4. 全码
在关系中所有属性都为码即为全码。
5. 丢失更新
当两个或以上的事务同时修改同一数据集合时,由于并发处理,使得某些事务
对此数据集合的修改被忽视了.
6. 关系
一个关系即一张二维表,如student(sno,sname,sex ,age)1. 概念模式
7. X封锁
如果事务T对数据R实现X封锁,那么其他的事务要等T解除X封锁以后,
4才能对这个数据进行封锁。 只有获准X封锁的事务,才能对被封锁的数据
进行修改。
8. 元组
表中的一行即为一个元组 / 笛卡儿积集合中的每一个元素(d1,d2, …,
dn)称为一个元组。
9. 主属性
包含在任何一个候选码中的属性。
10. 事务的原子性
一个事务对数据库的操作是一个不可分割的操作系列,事务要么完整地被
全部执行,要么全部不执行。
11. S封锁
共享型封锁。如果事务 T对某数据R加上S封锁,那么其它事务对数据 R
的X封锁便不能成功, 而对数据R的S封锁请求可以成功。这就保证了其
他事务可以读取R但不能修改R,直到事务T释放S封锁。
12. 非码属性
包含在任何一个非候选码中的属性。
13. 事务
事务是一个不可分割的操作序列,是数据库环境中的逻辑工作单位
14. DBA
控制数据整体结构、负责DBS正常运行的人或机构
15. SQL语言中的视图
.在SQL中,外模式一级数据结构的基本单位是视图,它是从若干基本表和
(或)其它视图中构造出来的,视图并不存储对应的数据,只是将视图的定义
存于数据字典中。
16. 数据字典
是对系统中数据的详细描述,它提供对数据库数据描述的集中管理
17. 主码、
若关系中的某一属性组(或单个属性)的值能惟一标识一个元组,则称该
属性组(或属性)为候选码。当一个关系有多个候选码时,应选定其中的
一个候选码为主码;而如果关系中只有一个候选码,这个惟一的候选码就
是主码。
18. 候选码、
设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)
19. 外码、
5如果F与基本关系S的主码K 相对应,则称F是基本关系R的外码。
S
20. 实体
现实世界中存在的可以相互区分的事物或概念称为实体。例如,一个学生、
一个工人、一台机器、一部汽车等是具体的事物实体,一门课、一个班级
等称为概念实体。
21. 实体型
现实世界中,对具有相同性质、服从相同规则的一类事物(或概念,即实
体)的抽象称为实体型。实体型是实体集数据化的结果,实体型中的每一
个具体的事物(实体)为它的实例。
22. 实体集
具有相同特征或能用同样特征描述的实体的集合称为实体集。例如,学生、
工人、汽车等都是实体集。
23. 码
码也称关键字,它能够惟一标识一个实体。例如,在学生的属性集中,学
号确定后,学生的其他属性值也都确定了,学生记录也就确定了,由于学
号可以惟一地标识一个学生,所以学号为码。
24. 授权
将对数据库中的某些表、某些字段的操作权限授予指定的用户,这种操作
称为"授权"。
25. 部分函数依赖
关系模式中,如果 X→Y, 且 X 存在真子集 X',使 X'→Y 也成立, 这时称
X→Y为部分函数依赖。
26. DBMS
即数据库管理系统(Database Management System),是位于用户与操作系
统之间的一层数据管理软件, 为用户或应用程序提供访问 DB的方法,包
括DB的建立、查询、更新及各种数据控制。 DBMS总是基于某种数据模
型,可以分为层次型、网状型、关系型、面向对象型DBMS。
27. 传递依赖
在关系模式中,如果Y→X,X→A,且X Y(X不决定Y), A Y(A不
属于X),那么称Y→A是传递依赖。
28. 两段封锁协议
a) 在对任何数据进行读写操作之前,事务首先要获得对该数据的封锁;
b) 在释放一个封锁之后,事务不再获得任何其他封锁。
29. 主码(举例)
6表中的某个属性组,它可以唯一确定一个元组,如SNO
30. 参照完整性
若属性F是基本关系R的外码,它与另一个基本关系S的主码Ks相对应,
则对于R中每个元组在F 上的值或取空值,或者等于S中某个元组的主码
值。
31. 自然连接
去掉重复的属性列的等值连接。
三、判断题
1.任何一个二目关系是属于2NF的. ( √ )
2.任何一个二目关系是属于3NF的. ( √ )
3.任何一个三目关系是属于2NF的 ( × )
4.若R.A→R.B R.B→R.C 则 R.A→R.C ( √ )
5.若R.B→R.A R.C→R.A 则 R.(B,C)→R.A ( √ )
因为第1小题是错误的,故第2、3小题也是错误的。只需对第1小题举出反
例。
设三目关系模式为R(S#,SD,C#),其中S#是学生号,SD是所在系,C#
是课程号。模式R的语义:一个学生只属于一个系,可选多门课;一个系有
若干学生,开若干门课;一门课程若干学生选修。因此,R 有唯一的码
(S#, C#),唯一的非主属性SD。因S#→SD,非主属性SD部分依赖于码
(S#, C#),所以R不是2NF的,也不是3NF的。又虽有S#→SD,(SD
S#),但S#不含码,故R不是BCNF的。
三、单项选择题
1. 在SQL的算术表达式中,如果其中有空值,则表达式 ( C )
A)空值按0计算 B)由用户确定空值内容再计算结果
C)结果为空值 D)指出运算错误,终止执行
2. 当两个关系没有公共属性时,其自然连接操作表现为 ( A )
A)笛卡儿积操作 B)等值连接操作 C)结果为空
集 D)错误操作
3. 基本ER图就是数据库的 ( D )
A) 外 模 式 B) 逻 辑 模 式 C) 内 模
式 D) 概念模式
4. 对基本表S,执行操作DROP TABLE S RESTRICT 的作用是 ( C )
A) 删除基本表S中的所有元组
B) 把基本表S及其生成的一切视图全部删除
7C) 当没有由S中的列产生的视图或约束时将表S删除
D) 删除表S,将引用表S的视图中一切S的属性置为空值
5. 关系R 与关系S只有1个公共属性,T1是R与S等值连接的结果,T2是R
与S自然连接的结果,则 ( C )
A) T1的属性个数等于T2的属性个数
B) T1的属性个数小于T2的属性个数
C) T1的属性个数大于或等于T2的属性个数
D) T1的属性个数大于T2的属性个数
6. 如果事务T获得了数据项Q上的排它锁,则T对Q ( C )
A) 只能读不能写
B) 只能写不能读
C) 既可读又可写
D) 不能读不能写
7. 在数据库技术中,未提交的随后又被撤消的数据称为 ( D )
A)错误数据 B)冗余数据 C)过期数据 D)脏数据
8. 选择分布式数据库各片段数据存放场地的模式是 ( D )
A)外模式 B)概念模式 C)分片模式 D)分配模式
9. 现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单
位)
医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结
果)其中,医疗关系中的外码是( A )
A) 患者编号 B) 患者姓名 C) 患者编号和患者姓名 D)医生编
号和患者编号
11. 班长和学生是什么关系( B )
A)1:1 B)1:M C)M:N D)都不是
12. 单个用户使用的数据视图的描述称为 ( A )
A. 外模式
B. 概念模式
C. 内模式
D. 存储模式
13. 实体集书店与图书之间具有( B )联系。
A) 一对一 B) 一对多 C) 多对多 D )多对一
14. 现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结
果,恢复情况)的主码是( A )
8A) 患者编号,医生编号,诊断日期 B)医生编号 C)诊断日期
D)患者编号
15.任何一个三目关系都属于( A )
A )1NF B) 3NF C) BCNF D) 4NF
16.哪种模式不是数据库的模式( C )
A) 模式 B)外模式 C)映像模式 D)内模式
17.下面哪种数据模型只有一个根结点( B )
A) 概念 B)层次 C)关系 D)网状
18.视图定义是( D )
A. 一个基表中导出的基表
B. 一个基表中导出的虚表
C. 一个或几个基表或视较中导出的基表
D. 一个或几个基表或视较中导出的虚表
19. 四种传统的集合运算算是 ( C )
A. ∪,-,×,和σ
B. ∪,-,∞,和σ
C. ∪,∩,×,和-
D. ∪,∞,π和σ
20. SQL中,下列涉及空值的操作,不正确的是 ( C )
A. AGE IS NULL
B. AGE IS NOT NULL
C. AGE = NULL
D. NOT (AGE IS NULL)
21.使用CREATE TABLE SCHEMA 语句建立的是 ( B )
A)数据库模式 B)表 C)视图 D)索引
22.设关系R和S的结构相同,并且各有80个元组,假如这两个关系作交运算,
其运算结果的元组个数为 ( B )
A)80 B)小于等于80 C)大于等于160 D)大于等
于80,小于等于160
23.在SQL的授权语句中使用“ALL PRIVILEGES”,表示 ( B )
A)授权所有用户 B)所有的操作权限 C)对所有的数据集
合 D)允许再授权
24.对数据库模式进行规范化处理,是在数据库设计的 ( C )
A)需求分析阶段 B)概念设计阶段 C)逻辑设计阶
9段 D)物理设计阶段
25. 不存在传递函数依赖的范式至少要求是 ( C )
A)2NF B)3NF C)4NF D) BCNF
26. 在下列几种故障中,不破坏数据库内容的是 ( B )
A)计算机病毒发作 B)供电系统故障 C)瞬时的强磁
场干扰 D)磁盘介质损坏
27.在数据库技术中,独立于计算机系统的模型是 ( A )
A)E-R模型 B)层次模型 C)关系模
型 D)面向对象的模型
28.相对于关系模型,层次数据模型的缺点之一是( A )
A) 数据维护困难 B) 数据结构复杂 C )数据独立性高 D )有严格的
数学基础
29.下述各项中,属于数据库系统的特点的是 ( C )
A) 存 储 量 大 B) 存 取 速 度 快 C) 数 据 独 立
性 D)操作方便
30.在SQL语言的基本功能中,不包括的是 ( B )
A)插入新数据 B)描述数据库结构 C)对数据
库中数据排序 D) 删除数据库中数据
31.数据库中全体数据的整体逻辑结构描述称为 ( B )
A)存储模式 B)内模式 C)外模式 D)右
外模式
32.在SQL中使用FOREIGN KEY 时,与之配合的语句是 ( D )
A)EXISTS B)EXCEPT
C)TABLE D)REFERENCES
33.能够消除多值依赖引起的冗余的范式是 ( C )
A)2NF B)3NF C)4NF D)BCNF
34.DBS的含义是 ( B )
A)数据库管理系统 B)数据库系统 C)对象关系数据库系
统 D)对象关系数据库
35.在SQL中,建立视图用 ( C )
A)CREATE SCHEMA 命令 B)CREATE TABLE 命令
C)CREATE VIEW 命令 D)CREATE INDEX 命令
36. 选择和笛卡尔积的关系运算是 ( A )
A. ×和σ B. ∞和σ C.×,和- D.π和∞
1037.用二维表结构表示实体以及实体间联系的数据模型称为—C—。
A. A.网状模型 B.层次模型
B. C.关系模型 D.面向对象模型
38.在数据库的三级模式结构中,内模式有—A———。
A.1个 B.2个 C.三个 D.任意多个
39.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到
学生之间的联系类型是( D )
A. 多 对 多 B. 一 对 一 C. 多 对
一 D.一对多
40.反映现实世界中实体及实体间联系的信息模型是( D )
A.关系模型 B.层次模型 C.网状模
型 D. E-R模型
41..对数据库并发操作有可能带来的问题包括( A )
A. 读 出 “ 脏 数 据 ” B. 带 来 数 据 的 冗
余
C.未被授权的用户非法存取数据 D.破坏数据独立性
42.关系数据模型的三个组成部分中,不包括( D )
A.完整性规则 B.数据结构
C.数据操作 D.并发控制
43.关系代数表达式的优化策略中,首先要做的是( B )
A. 对 文 件 进 行 预 处 理 B. 尽 早 执 行 选 择 运
算
C.执行笛卡儿积运算 D.投影运算
44.事务有多个性质,其中不包括( B )
A.一致性 B.唯一性 C.原子
性 D.隔离性
45.SQL语言通常称为( A )
A.结构化查询语言 B.结构化控制语言 C.结构化
定义语言 D.结构化操纵语言
46.SQL语言集数据查询、数据操作、数据定义、和数据控制功能于一体,语句
INSERT、DELETE、UPDATE实现下列哪类功能—B———。
A. 数据查询 B。数据操纵 C.数据定义 D。数据控制
47.下面的关系模式是属于( A )S-D-L(sno学号,dept系,loc住所)
11A)2NF B) 3NF C) 4NF D)BCNF
48.对数据库存储结构和存取方法的分析在( D )阶段
A) 需求分析 B)概念结构 C)逻辑结构 D)物理设计
49.为了描述现实世界中的事物,在信息世界中所建立的模型称为( D )
A)关系模型 B) 网状模型 C) 层次模型 D) 概念模型
50. 在关系数据库中,只消除非主属性对码的部分依赖的范式是 ( C )
A) BCNF B) 1NF C) 2NF D) 3NF
51. 在数据库系统中,同一个外模式 ( C )
A. 只能被一个用户的一个应用程序使用
B. 不能被一个用户的多个应用程序使用
C. 可以被同一个用户的多个应用程序使用
D. 可以被所有用户的应用程序使用
52.在数据库系统中,对全体数据的逻辑结构和特征的描述称为( B )
A) 子模式 B) 模式 C) 存储模式 D) 内模
式
53.实体所具有的某一特性称为实体的 ( C )
A) 特征 B) 性质 C) 属性 D) 特点
54.下面列出的关于视图的条目中,不正确的是___C______。
A.视图是外模式 B。视图是虚表
C.使用视图可以加快查询语句的执行速度
D.使用视图可以简化查询语句的编写
55.在SQL语言的SELECT语句中,能实现投影操作的是_____A_____。
A.SELECT B.FROM C.WHERE D.GROUP BY
56.SQL语言集数据查询、数据操作、数据定义、和数据控制功能于一体,语句
ALTER TABLE 实现哪类功能___C_。
A.数据查询 B.数据操纵 C.数据定义 D.数据控制
57.有关系模式A(C,T,H,R,S),其中各属性的含义是:C,课程:T,
教员:H,上课时间:R,教室:S,学生。根据语义有如下函数依赖集
F={C→T,(H,R)→C,(H,T)→R,(H,S)→R}。关系模式A的
规范化程度最高达到____B___ 。
A.1NF B.2NF C.3NF D.BCNF
58.有关系模式A(C,T,H,R,S),其中各属性的含义是:C,课程:T,
教员:H,上课时间:R,教室:S,学生。根据语义有如下函数依赖集
F={C→T,(H,R)→C,(H,T)→R,(H,S)→R}。关系模式A的
12码是____D___ 。
A.C B.(H,R) C.(H,T) D.
(H,S)
59.在客户机/服务器体系结构的DBS中,数据库功能分为前端和后端两部分,
下列功能属于后端的是 ( B )
A).用户界面 B). 存取结构 C).数据
输入 D). 报表输出
60.在采用客户机/服务器体系结构的数据库应用系统中,应该将用户应用程序
安装在 ( A )
A.客户机端 B.服务器端 C.终端 D.系统端
61.在第一个事务以S锁方式读数据A时,第二个事务可以进行的操作是 ( D )
A.对数据实行X锁并读数据 B.对数据实行S锁并写数据
C.对数据实行X锁并写数据 D.不加封锁的读数据
62. 四种专门的关系运算是 ( A )
A. ÷,∞,π和σ
B. ∪,∞,π和σ
C. ∪,∩,×,和σ
D. ∩,∞,π和σ
63.位于用户和数据库之间的一层数据管理软件是 ( C )
A.DBS B.DB C.DBMS D.MIS
64.一个事务中所有对数据库操作是一个不可分割的操作序列,这称为事务的 (
A )
A.原子性 B.一致性 C.隔离性 D.持久性
65.关系代数的五个基本操作是:并、差、选择、投影和 ( D )
A.等值连接 B.F连接 C.自然连接 D.笛卡儿积
66.在关系数据库中,表与表之间的联系是通过( B )实现的。
A.实体完整性规则 B.参照完整性规则
C.用户自定义的完整性规则 D.主键
67.在数据库的E-R图中,菱形框表达的是 ( C )
A. 属性 B.实体
C.实体之间的联系 D.实体与属性之间的联系
68.把E-R图转换成关系模型的过程,属于数据库设计的 ( C )
A.总体结构设计 B.概念结构设计 C.物理结构设计 D.逻
辑结构设计
1369.在SQL中,SELECT语句的"SELECT DISTINCT"表示查询结果中 ( C )
A.属性名都不相同 B.去掉了重复的列
C.行都不相同 D.属性值都不相同
70.现实世界中事物在某一方面的特性在信息世界中称为 ( C )
A. 实 体 B. 实 体 值 C. 属
性 D.信息
71.数据的存储结构与数据逻辑结构之间的独立性称为数据的 ( B )
A.结构独立性 B.物理独立性 C.逻辑独立性
D.分布独立性
72.应用程序设计的工作开始于数据库设计步骤的 ( D )
A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段
73.在关系R中,代数表达式 σ (R) 表示 ( B )
3<4
A. 从R中选择值为3的分量小于第4个分量的元组组成的关系
B. 从R中选择第3个分量值小于第4个分量的元组组成的关系
C. 从R中选择第3个分量的值小于4的元组组成的关系
D. 从R中选择所有元组组成的关系
74.为解决“丢失更新”问题,事务在更新一个数据集合前,必须获得对它的 (
B )
A.S锁 B.X锁 C.S锁和X锁 D.S锁或X锁
75.在SQL的查询语句中,对应关系代数中“投影”运算的语句是 ( A )
A.SELECT B.FROM
C.WHERE D.SET
76.在数据库设计中,将E-R图转换成关系数据模型的过程属于 ( B )
A. 需求分析阶段
B. 逻辑设计阶段
C. 概念设计阶段
D. 物理设计阶段
77.关系代数的五个基本操作可直接转换成元组关系演算表达式,它们是:并、
差、投影、选择和( B )
A.交 B.笛卡尔积 C.自然连接 D.除法
78.SQL语言具有的功能是 ( B )
A. 关系规范化,数据操纵,数据控制
B. 数据定义,数据操纵,数据控制
14C. 数据定义,关系规范化,数据控制
D. 数据定义,关系规范化,数据操纵
79.选择和笛卡尔积的关系运算是 ( A )
A. A. ×和σ B. ∞和σ C.×,和- D.π和∞
80.在DBS中,DBMS和OS之间的关系是 ( B )
A. 相互调用 B. DBMS调用OS C. OS调用DBMS D. 并发运行
81.当关系R和S自然联接时,相当于下面操作是 (B )
A. 笛卡尔积
B. 去掉重列的等值连接
C. 等值连接
D. 非等值连接
82.下列聚合函数中不忽略空值 (null) 的是 ( C )
A. SUM (列名)
B. MAX (列名)
C. COUNT ( * )
D. AVG (列名)
83.假如采用关系数据库系统来实现应用,在数据库的逻辑设计阶段,需将(
A )转换为关系数据模型
A E-R模型 B 层次模型 C 关系模型 D 网状模型
84.下而哪一级封锁协议既可以解决读脏数据又可以解决重复读问题( C )
A 一级封锁协议 B 二级封锁协议 C 三级封锁协议 D 两段锁协议
85.下列哪种方法可以解决活锁问题( C )。
A 一次封锁法 B顺序封锁法 C 排队等待法 D以上答案都不对
86.在数据库系统中,数据独立性是指( C )
A.用户与计算机系统的独立性 B.数据库与计算机的独立性
C.数据与应用程序的独立性 D.用户与数据库的独立性
87.设计数据库概念结构时,常用的数据抽象方法是聚集和 ( D )
A. 分 类 B. 继 承 C. 分
析 D.概括
88.在下列的数据库模式中,独立于计算机系统的模式是 ( A )
A. 概 念 模 式 B. 逻 辑 模 式 C. 内 模
式 D.外模式
89.在关系模式 R(U,F)中,如果 X→Y,如果不存在 X 的真子集 X1,使
X1→Y, 称函数依赖X→Y为 ( C )
15A.平凡函数依赖 B. 部分函数依赖 C.完全函数依
赖 D.传递函数依赖
90.要使数据库具有可恢复性,最基本的原则是 ( D )
A.加强机房安全管理 B.安装防病毒设施
C.经常检修计算机系统 D.数据重复存储
91.对关系R进行投影运算后,得到关系S,则 ( C )
A. 关系R的元组数等于关系S的元组数
B. 关系R的元组数小于关系S的元组数
C. 关系R的元组数大于或等于关系S的元组数
D. 关系R的元组数大于关系S的元组 数
92.记载数据库系统运行过程中所有更新操作的文件称为 ( C )
A. 更 新 文 件 B. 后 备 文 件 C. 日 志 文
件 D.数据文件
93.选择和连接的关系运算是 ( B )
A. A. ×和σ B. ∞和σ C.×,和- D.π和∞
94.数据库镜象可以用于( C )
A 保证数据库的完整性 B 实现数据库安全性 C 进行数据库恢复或并发操
作 D 实现数据共享
95.位于用户和数据库之间的一层数据管理软件是 ( C )
A)DBS B)DB C)DBMS D)MIS
96.关系代数的五个基本操作是:并、差、选择、投影和 ( D )
A)等值连接 B)F连接
C)自然连接 D)笛卡儿积
97.在数据库的E-R图中,菱形框表达的是 ( C )
A) 属性 B)实体
C)实体之间的联系 D)实体与属性之间的联系
98. 把E-R图转换成关系模型的过程,属于数据库设计的 ( C )
A)总体结构设计 B)概念结构设计
C)物理结构设计 D)逻辑结构设计
99.在SQL中,SELECT语句的"SELECT DISTINCT"表示查询结果中 ( C )
A)属性名都不相同 B)去掉了重复的列
C)行都不相同 D)属性值都不相同
100. 在第一个事务以S锁方式读数据A时,第二个事务可以进行的操作是 (
D )
16A)对数据实行X锁并读数据 B)对数据实行S锁并写数据
C)对数据实行X锁并写数据 D)不加封锁的读数据
101. 选择和投影代数运算是 ( B )
A)∪和- B)π和σ C)∪和σ D)∞和σ
102. 请选出不是数据的答案( D )
A. 文字 B)图形 C)声音 D)字段
103. 选出下面哪个是在计算机系统中的最外层( A )
A)应用系统 B)应用开发工具 C)DBMS D)操作系统
104. 数据库管理技术的发展主要经历三个阶段即( A )
A. 人工管理阶段、文件管理阶段、数据库管理阶段
B. 人工管理阶段、磁盘管理阶段、数据库管理阶段
C. 原始管理阶段、磁盘管理阶段、数据库管理阶段
D. 手工阶段、计算机管理阶段、数据库管理阶段
105. 描述数据库中全体数据的逻辑结构和特征是( B )
A 内模式 B 模式 C 外模式 D 存储模式
106. 不是最常用的数据模型是:( A )
A. 概念 B)层次 C)网状 D)关系
107. 下面有一关系模型,其候选码是:( A )
student(学号,姓名,性别,年龄,出生日期)
A. 学号 B)姓名 C)性别 D)出生日期
108. 关系S-D-L(sno学号,dept系,loc住所)存在( B )
A.部分函数依赖 B)传递函数依赖 C)多值依赖 D)都不对
109. 对数据库存储结构和存取方法的分析在( D )阶段
A. 需求分析 B)概念结构 C)逻辑结构 D)物理设计
110.静态级约束包括:( B )
A. 列级约束,实体完整性约束,参照完整性约束
B. 列级约束,元组约束,关系约束
C. 函数依赖约束,统计约束,参照完整性约束
D. 以上都不对
111. 如果事务T获得了数据项Q上的排它锁,则T对Q (A )
A. 只能读不能写
B. 只能写不能读
C. 既可读又可写
D. 不能读不能写
17112.当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的
操作是 ( D )
A. 左外联接
B. 右外联接
C. 外部并
D. 外联接
113.在数据库设计中,将ER图转换成关系数据模型的过程属于( B )
A. 需求分析阶段
B. 逻辑设计阶段
C. 概念设计阶段
D. 物理设计阶段
114.实体完整性规则是指关系中( B )
A. A.不允许有空行 B.主键不允许有空值
B. C.不允许有空列 D.外键不允许有空值
115.实现关系代数投影运算的SQL子句是( A )
A.SELECT B.ORDER BY
C.FROM D.WHERE
116.设有关系模式R(A,B,C),F={A→B,C→B}。相对于F,R的候选键为
( A )
A.AC B.ABC C.AB D.BC
117.SQL语言中,用GRANT/REVOKE语句实现数据库的( D )
A.并发控制 B.完整性控制
C.一致性控制 D.安全性控制
118.以下关于事务调度和封锁的描述中,正确的是( A )
A. 遵守两段封锁协议的并发事务一定是可串行化的
B. 可串行化的并发事务一定遵守两段封锁协议
C. 遵守两段封锁协议的并发事务不一定是可串行化的
D. 遵守两段封锁协议的并发事务一定不会产生死锁
119. 取出关系中的某些列,并消去重复的元组的关系运算称为( B)。
A. 取列运算 B.投影运算 C.联结运算 D.选择运算
120. ER图中实体用( A )表示
A. 矩形 B)椭圆 C)菱形 D)三角形
121. 系统死锁属于(A )。
A. 事务内部故障 B. 病毒引起 C.系统故障 D.介质故障
18122. SQL语言集数据查询、数据操作、数据定义、和数据控制功能于一体,
语句INSERT、DELETE、UPDATE 实现下列哪类功能___B_____。
A.数据查询 B.数据操纵 C.数据定义 D。数据控制
123. 为了描述现实世界中的事物,在信息世界中所建立的模型称为( D
)
A)关系模型 B) 网状模型 C) 层次模型 D) 概念模型
124. 在关系数据库中,只消除非主属性对码的部分依赖的范式是 (
C )
A) BCNF B) 1NF C) 2NF D) 3NF
125. 在数据库系统中,同一个外模式 (
C )
A. 只能被一个用户的一个应用程序使用
B. 不能被一个用户的多个应用程序使用
C. 可以被同一个用户的多个应用程序使用
D. 可以被所有用户的应用程序使用
126. 在数据库系统中,对全体数据的逻辑结构和特征的描述称为( B
)
A) 子模式 B) 模式 C) 存储模式 D)
内模式
127. 实体所具有的某一特性称为实体的 ( C )
128. A) 特征 B) 性质 C) 属性 D)
特点
129. 3. 四种专门的关系运算是 ( A )
A. ÷,∞,π和σ
B. ∪,∞,π和σ
C. ∪,∩,×,和σ
D. ∩,∞,π和σ
130. 在关系数据库中,表与表之间的联系是通过( B )实现的。
A.实体完整性规则 B.参照完整性规则
C.用户自定义的完整性规则 D.主键
131. 把E-R图转换成关系模型的过程,属于数据库设计的 ( C )
A.总体结构设计 B.概念结构设计
C.物理结构设计 D.逻辑结构设计
132. 在SQL中,SELECT语句的"SELECT DISTINCT"表示查询结果中 (
19C )
A.属性名都不相同 B.去掉了重复的列 C.行都不相同 D.属性值
都不相同
133. 在关系R中,代数表达式 σ (R) 表示 ( B )
3<4
A. 从R中选择值为3的分量小于第4个分量的元组组成的关系
B. 从R中选择第3个分量值小于第4个分量的元组组成的关系
C. 从R中选择第3个分量的值小于4的元组组成的关系
D. 从R中选择所有元组组成的关系
134. 为解决“丢失更新”问题,事务在更新一个数据集合前,必须获得对它
的 ( B )
A.S 锁 B.X 锁 C.S 锁和 X 锁 D.S 锁或 X
锁
135. 在SQL的查询语句中,对应关系代数中“投影”运算的语句是 ( A )
A.SELECT B.FROM
C.WHERE D.SET
136. 数据库镜象可以用于( C )
A 保证数据库的完整性 B 实现数据库安全性 C 进行数据库恢复或并发
操作 D 实现数据共享
137. 在数据库系统中,数据独立性是指( C )
A.用户与计算机系统的独立性 B.数据库与计算机的独立性
C.数据与应用程序的独立性 D.用户与数据库的独立性
138. 设计数据库概念结构时,常用的数据抽象方法是聚集和 ( D )
A. 分 类 B. 继 承 C. 分
析 D.概括
139. 在 的数据库模式中,独立于计算机系统的模式是 ( A )
A. 概 念 模 式 B. 逻 辑 模 式 C. 内 模
式 D.外模式
140. 在关系模式R(U,F)中,如果X→Y,如果不存在X的真子集X1,
使X1→Y, 称函数依赖X→Y为 ( C )
A.平凡函数依赖 B. 部分函数依赖 C.完全函数依
赖 D.传递函数依赖
141. 要使数据库具有可恢复性,最基本的原则是 ( D )
A.加强机房安全管理 B.安装防病毒设施 C.经常检修计算机系统
20D.数据重复存储
142. 对关系R进行投影运算后,得到关系S,则 ( C )
A. 关系R的元组数等于关系S的元组数
B. 关系R的元组数小于关系S的元组数
C. 关系R的元组数大于或等于关系S的元组数
D. 关系R的元组数大于关系S的元组 数
143. 描述数据库中全体数据的逻辑结构和特征是( B )
A 内模式 B 模式 C 外模式 D 存储模式
144. 对于学生这一实体,张英是学生,他属于抽象中的( A )
A. 分类 B)聚集 C)概括 D)都不对
145. 静态级约束包括:( B )
A. 列级约束,实体完整性约束,参照完整性约束
B. 列级约束,元组约束,关系约束
C. 函数依赖约束,统计约束,参照完整性约束
D. 以上都不对
146. 如果事务T获得了数据项Q上的排它锁,则T对Q ( D )
A. 只能读不能写
B. 只能写不能读
C. 既可读又可写
D. 不能读不能写
147. 以下关于事务调度和封锁的描述中,正确的是( A )
A. 遵守两段封锁协议的并发事务一定是可串行化的
B. 可串行化的并发事务一定遵守两段封锁协议
C. 遵守两段封锁协议的并发事务不一定是可串行化的
D. 遵守两段封锁协议的并发事务一定不会产生死锁
148. .取出关系中的某些列,并消去重复的元组的关系运算称为( B)。
A. 取列运算 B.投影运算 C.联结运算 D.选择运算
149. 假如采用关系数据库系统来实现应用,在数据库设计的(C)阶段,需
要将E-R模型转换为关系数据模型。
A. 概念设计B.物理设计C.逻辑设计D.运行阶段
四、简答题
1. 数据库管理系统的主要功能有哪些?
.数据库定义、操纵、保护、存储、维护和数据字典。
2. 数据库系统中的常见故障有哪些?
21事务故障,系统故障、介质故障
3. 简述SQL语言的组成。
分为四个部分:
数据定义、数据操纵、数据控制、嵌入式SQL语言的使用规定
4. 说明关系模型有哪三类完整性规则?
. 实体完整性、参照完整性、用户自定义完整性。
5. 试述数据设计过程
答:数据库设计分为 6个阶段:需求分析、概念结构设计、逻辑结构设计、
物理结构设计、数据库实施、数据库运行和维护。
6. 为什么视图被称为虚表?基本表与视图的区别是什么?
因为数据库中只存储有关视图的定义而不存储视图所对应的数据,这些数据
仍存放在导出视图的基本表中,所以视图被称为虚表。基本表是实际独立存
放在数据库中的表,是实表。
7. 简述在SQL中,DELETE语句与DROP TABLE的区别。
DELETE的作用是删除表中的元组,表的模式依然存在,而 DROP TABLE
是将表的结构和元组全部删除,表被删除(DROP)后就不再存在了。
8. 数据库并发操作主要解决哪三个问题?如何保证并行操作的可串行性。
数据库并发操作主要解决以下三个问题。
1)丢失更新问题
2)数据不一致分析问题
3)读“脏”数据问题
对任何数据集合进行读写操作之前,事务首先应获得对此数据集合的封锁,
在释放一个封锁之后,事务不再获得任何其他封锁。
9.在关系数据库中能完全消除数据冗余吗?
不能。要实现关系数据库中表与表之间的联系,必须通过公共属性来完成,
这些公共属性可能是一个表的主键,也可能是另一个表的外键,有相应的参
照完整性规则来保证表之间的联系。所以关系数据库中存在数据冗余,但能
控制数据的冗余度。
10.设有关系模型 R(A,B,C,D,E),F 是 R 上成立的函数依赖集,
F={ABC→DE,BC→D,D→E}, 试问R达到第几范式,并说明理由。
R属于1NF。 由于候选键是ABC。而非主属性D和E部分函数依赖于候选
键ABC,因此R不是2NF,只能是1NF。
11 .什么是数据库的恢复?数据库恢复的基本原则是什么?
当数据库系统受到破坏时,通过恢复技术,使数据库恢复到遭到破坏之前的
22正确状态。数据库恢复的基本原则是重复存储,即“冗余”。
12.设教学数据库有三个关系:
学生 S(S#,SNAME,AGE,SEX)
学习 SC(S#,C#,GRADE)
课程 C(C#,CNAME,TEACHER)
写出下列代数表达式汉语含义。
π (σ (SC C))
S# TEACHER='LIU'
答:检索选修课程包含LIU老师所授课程的学生学号。
13.设有职工关系Employee(职工号,姓名,性别,技能),有关系代数运算表
达式:
π (Employee)÷π (σ (Employee))
1,2,4 4 2='Li'
请用汉语句子写出该表达式所表示的查询。
答:检索具备了职工“Li”的所有技能的职工的职工号、姓名和技能。
五、问答题
(1)、现有如下关系模式:教师(教师编号,姓名,电话,所在部门,借阅图
书编号,图书名称,借期,还期,备注)
1. 教师编号是侯选码吗?
2. 说明对上小题判断的理由是什么?
3. 教师编号是侯选码吗?为什么?
4. 写出该关系模式的主码;
5. 该关系模式中是否存在部分函数依赖?如果存在,请写出两个。
6. 说明要将一个1NF的关系模式转化为若干个3NF关系,需要如何做?
7. 说明要将一个1NF的关系模式转化为若干个2NF关系,需要如何做?
8. 该关系模式最高满足第几范式?并说明理由。
1、答:候选码是教师编号、借阅图书编号、借期。所以教师编号不是候选码、
2、答:判断的理由是教师编号不能唯一决定元组。
3、答:教师编号不是候选码,理由是教师编号不能唯一决定元组。
4、答:该关系模式的主码是(教师编号、借阅图书编号、借期)。
5、答:存在着部分部分函数依赖。主码与教师姓名是部分函数依赖。
6、答:对1NF关系进行投影,消除原关系中非主属性对码的部分依赖,及传
递函数依赖将1NF变为3NF
7、答:对 1NF 关系进行投影,消除原关系中非主属性对码的部分依赖,将
1NF变为2NF
238、答:该关系模式最高满足1NF。因为非主属性与码间存在部分函数依赖。
(2).现有如下关系模式.(每问3分,共21分)
借阅(图书编号 书名.作者名 出版社.读者编号.读者姓名.借阅日期.
归还日期)
1.读者编号是候选码吗?
Z.说明对上小题判断的理由是什么?
3.写出该关系模式的主码.
4.该关系模式中是否存在部分函数依赖?如果存在.请写出两个.
5.该关系模式中是否存在传递函数依赖?如果存在.请写出一个
6.该关系模式最高满足第几范式?并说明理由。
7.如何分解该关系模式,使得分解后的关系模式均满足第二范式(ZNF)?
(3)下面的结论哪些是正确的?哪些是错误的?对于错误的请给出一个反例说
明。
1)任何一个二目关系是属于3NF的。
2)任何一个二目关系是属于BCNF的。
3)任何一个二目关系是属于4NF的。
4)当且仅当函数依赖A→B在R上成立,关系R(A,B,C)等于投影R1
(A,B)和R2(A,C)的连接。
5)若R.A→R.B,R.B→R.C,则R.A→R.C。
6)若R.A→R.B,R.A→R.C,则R.A→R.(B,C)。
7)若R.B→R.A,R.C→R.A,则R.(B,C) →R.A。
8)若R.(B,C) →R.A,则R.B→R.A,R.C→R.A。
答:
1) 正确。
2) 正确。
3) 正确。
4) 不正确。
5) 正确。
6) 正确。
7) 正确。
8) 不正确。
(4) 设T ,T ,T 是如下三个事务,其中R为数据库中某个数据项,设R的
1 2 3
初值为0。
T : R:=R+5
1
24T : R:=R*3
2
T : R:=2
3
若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以
解决并行调度的不一致问题?
答:有6种可能的情况
(1)T -T -T : R=2
1 2 3
(2)T -T -T : R=6
1 3 2
(3)T -T -T : R=2
2 1 3
(4)T -T -T : R=7
2 3 1
(5)T -T -T : R=21
3 1 2
(6)T -T -T : R=11
3 2 1
采用封锁,可以解决并行调度的不一致问题。
(5)现有某个应用,涉及到两个实体集,相关的属性为:
实体集R(A#,A1,A2,A3),其中A#为码
实体集S(B#,B1,B2),其中B#为码
从实体集R到S存在多对一的联系,联系属性是D1。
1.设计相应的关系数据模型;
2.如果将上述应用的数据库设计为一个关系模式,如下:
RS(A#,A1,A2,A3,B#,B1,B2,D1)
指出该关系模式的码。
3.假设上述关系模式RS上的全部函数依赖为:A1→A3
指出上述模式RS最高满足第几范式?(在1NF~BCNF之内)为什么?
4.如果将上述应用的数据库设计为三个关系模式,如下:
R1 (A#,A1,A2,A3)
R2 (B#,B1,B2)
R3 (A#,B#,D1)
关系模式R2是否一定满足第3范式?为什么?
答: 1.R1 (A#, A1,A2,A3,B#,D1)
R2 (B#, B1, B2)
2.码是A#B#
3.RS满足2NF,不满足3NF
因为存在非主属性A3对码A#B#的传递依赖,没有部分函数依赖。
4.不一定。
25因为R3中有两个非主属性B1和B2,有可能存在函数依赖B1→B2,
则出现传递依赖B#→B1、B1→B2。
六、写出下列命令或命令组的功能
(1)假定使用的“图书”、“读者”、“借阅”和ZGJK库文件结构如下:
图书(总编号 C(6),分类号 C(8),书名 C(16),作者 C(6),出版单位
C(16),单价 N(7,2))
读者(借书证号 C(4),单位 C(10),姓名 C(6),性别 C(2),职称 C(6),
地址 C(16))
借阅(借书证号 C(4),总编号 C(6),借书日期 D())
ZGJK(职工号 C(6),姓名 C(6), 性别 C(2),出生日期 D(),职称 C(6),
基本工资 N(7,2))
1.select *;
from 图书;
where 作者="李"
查询出“图书”数据库中作者姓“李”的所有图书。
2.select count(*) ;
from 图书;
where书名 like "%数据库%" AND 单价<=20.00
求出“图书”数据库中书名包含“数据库”、单价不高于 20 元的图
书册数。
3.select MAX(单价) AS 最高价,MIN(单价) AS 最低价,AVG(单价) AS 平均价;
from 图书;
where出版单位="高等教育出版社"
求出“图书”数据库中 " 高等教育出版社 " 出版的图书的最高价、最低价和
平均价。
4.select distinct 分类号,书名,作者;
from 图书;
order by分类号 desc
按分类号降序显示“图书”数据库中各种图书的分类号、书名和作者。
5.select *;
from 图书;
where 出版单位 in("清华大学","北京大学")
order by分类号
26按分类号升序显示“图书”数据库中由清华大学出版社和北京大学出版社
出版的所有图书。
6.select count(*);
from 图书;
where 单价 between 50 and 100
统计出“图书”数据库中单价在 5 0 至 10 0 之间的图书数量。
7.select 借书证号,count(*);
from 借阅;
where 借书日期<{2001/01/01};
group by借书证号;
having count(*)>=3
分组统计出 2000 年底以前借阅的、借阅数不低于 3 本的借书证号和借阅
数量。
8.select 单位,count(*);
from 读者,借阅;
where 读者.借书证号 = 借阅.借书证号;
group by 单位
按单位分组统计出各单位借阅图书的数量。
(2)对于学生选课关系,其关系模式为:
学生(学号,姓名,年龄,所在系);
课程(课程名,课程号,先行课);
选课(学号,课程号,成绩)。
用关系代数完成以下查询:
1) 求学过的数据库课程的学生的姓名和学号。
2) 求学过的数据库和数据结构的学生的姓名和学号。
3) 求没有学过数据库课程的学生学号。
4) 求学过的数据库的先行课的学生学号。
答:1)∏ ( 课程名=‘数据库’(学生∞选课∞课程))
姓名,学号
2)∏ ( ’(学生∞选课∞ 课程))∩ ∏
姓名,学号 课程名=‘数据库 姓名,学号
( (学生∞选课∞课程))
课程名=‘数据结构’
3)∏ (学生)- ∏ (学生∞选课∞课
姓名,学号 姓名,学号( 课程名=‘数据库’
程))
4) 法一;设课程的两个副本为课程A和课程B,
27∏ 课程A.学号 (( 课程A.课程名=‘数据 课程A.先行课=课程B课程号 库 ’(课程 A
∞ 课程B )) ∞ 选课)
法二: ∏ (∏ (选课)∞ ∏ (σ (选课))
学号 课程号,学号 先行课号 课程名=‘数据库’
六、 用关系代我装达式写出如下查询(每小题4分,共12分)
现有如下关系.
职工(职工号.姓名.性别.职务 .家庭地址.所在部门编号)
部门(部门编号.部门名称 地址 电话)
保健(保健卡编号.职上号. 检查身体日期.健康状况)
查找所有女科长的姓名和家庭地址.
查找“ 办公室”的科长姓名和家庭地址.
查找“财务科” 中健康状况为“良的”的职工姓名和家庭地址
七、用SQL语言完成下列功能
(1)、现有如下关系:学生(学号,姓名,性别,专业,出生年月)
教师(教师编号,姓名,所在部门,职称)(18)
授课(教师编号,学号,课程编号,课程名称,教材,学分,成绩)
1. 查找学习“数据库原理”课程且成绩不及格的学生学号和任课教师编号;
2. 查找学习“英语”课程的“计算机应用”专业学生的学号,姓名和成绩;
3. 查找教师“李洪”所教过的学生成绩为90分以上(包括90)的学生学号,
姓名和专业;
4. 删除学生表中学号为“9903016”的记录;
5. 将编号为“60016”的教师所在的部门该为“计算机”;
286. 建立“计算机应用”专业成绩有过不及格的学生的视图;
答:1、 SELECT 学号,教师编号 FROM 授课 WHERE 课程
名称='数据库原理' AND 成绩<60;
2、 SELECT 学号,姓名,成绩 FROM 授课,学生
WHERE 学生.学号=授课.学号 AND 专业='计算机应用' AND 课程名称='英
语';
3、 SELECT 授课.学号,学生.姓名,专业 FROM 学生,教师,授课
WHERE 学生.学号=授课.学号 AND 教师.教师编号=授课.教师编号 AND
教师.
姓名='李洪' AND 成绩>=90;
4、 DELETE FROM 学生 WHERE 学号='9903016';
5、 UPDATE 教师
SET 所在部门='计算机系'
WHERE 教师编号='60016';
6、 CREATE VIEW 成绩
AS SELECT 学生.学号,姓名,成绩
FROM 学生,授课
WHERE 学生.学号=授课.学号 AND 专业='计算机应用' AND 成绩<60;
(2). 设有关系数据库:职工关系EMPLOYEE (职工号,职工名,街道,城市)
工作关系WORKS (职工号,公司号,工资)
公司关系COMPANY (公司号,公司名,城市)
假 设 职 工 可 在 多 个 公 司 兼 职 , 请 用 SQL 语 句 查 询 至 少 在 公 司 号
为‘C2’和‘C5’公司兼职的职工的职工号。
答: SELECT 职工号
FROM WORKS
WHERE WORKS (职工号=“C2” AND职工号=“C5”;
(3). 依据上题的关系数据库,试用SQL语句写出下列操作:
将所有在“联华公司”工作的职工加薪5﹪。
UPDATE WORKS
SET工资 = 工资 * 1.05
WHERE公司号IN
(SELECT公司号
FROM COMPANY
WHERE公司名 =‘联华公司’);
29(4). 图书出版管理数据库中有两个基本表:
图书 (书号,书名,作者编号,出版社,出版日期)
作者 (作者编号,作者名,年龄,地址)
试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、
书名和出版社。
SELECT 作者名,书名,出版社
FROM 图书,作者
WHERE 图书 . 作者编号 = 作者 . 作者编号
AND 年龄 < = (SELECT AVG (年龄)
FROM 作者);
(5). 学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计
一个数据库,包括两个关系:
学生 (学号,姓名,专业,入学日期)
收费 (学年,学号,学费,书费,总金额)
假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年
专业为字符型数据;入学日期为日期型数据。列的宽度自定义。
试用SQL语句定义上述表的结构。(定义中应包括主键子句和外键子句)
CREATE TABLE 学生
(学号 CHAR (8),
姓名 CHAR (8),
专业 CHAR (13),
入学日期 DATE,
PRIMARY KEY (学号));
CREATE TABLE 收费
(学年 CHAR (10),
学号 CHAR (8),
学费 NUMERIC (4),
书费 NUMERIC (5,2),
总金额 NUMERIC (7,2),
PRIMARY KEY (学年,学号),
FOREIGN KEY (学号) REFERENCES 学生 (学号));
(6)设销售数据模型如下:
厂家 S (SNO,SNAME,CITY )
产品 P (PNO,PNAME,COLOR,WEIGHT)
30工程 J (JNO,JNAME,CITY)
销售 SPJ (SNO,PNO,JNO,QTY)
用SQL完成查询:与“长风”在同一城市的厂家名。
SELECT S.SNAME
FROM S,S AS X
WHERE X.SNAME=“长风”
AND S.CITY=X.CITY
(7).在上题的数据模型的基础上,用SQL完成查询:至少使用P1,P2两
种产品的工程名:
SELECT JNAME
FROM J
WHERE JNO IN
(SELECT JNO
FROM SPJ
WHERE PNO="p1")
AND JNO IN
(SELECT JNO
FROM SPJ
WHERE PNO="P2")
(8)设有职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY),其属性分别
表示职工号、姓名、年龄、性别、工资。为每个工资低于 1000元的女职工加薪
200元,试写出这个操作的SQL语句。
UPDATE EMP
SET SALARY=SALARY+200
WHERE SALAEY<1000
AND SEX='女'
(9)以下各小题题基于教学数据库的三个基本表
学生 S(S#,SNAME,AGE,SEX)
学习 SC(S#,C#,GRADE)
课程 C(C#,CNAME,TEACHER)
1. 试用关系代数表达式表示下列查询语句:检索年龄小于 23岁的男学生的学
号和姓名。
关系代数表达式:π (σ (S))
S#,SNAME AGE>'23'∧SEX='男'
2. 试用SQL的查询语句表达下列查询: 检索"王兰"同学不学的课程的课程号。
31SELECT C#
FROM C
WHERE C# NOT IN
(SELECT C#
FROM SC
WHERE S# IN
(SELECT S#
FROM S
WHERE SNAME='王兰'))
3. 试用SQL的查询语句表达下列查询: 检索全部学生都选修的课程的课程号与
课程名。
SELECT C#,CNAME
FROM C
WHERE NOT EXISTS
(SELECT *
FROM S
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE SC.S#=S.S# AND SC.C#=C.C#))
4. 试用SQL更新语句表达以下更新操作: 把低于总平均成绩的女同学成绩提
高5%。
UPDATE SC
SET GRADE=GRADE*1.05
WHERE GRADE<(SELECT AVG(GRADE) FROM SC) AND S# IN
(SELECT S# FROM S WHERE SEX='F')
(10)现有如下关系.
职工(职工号,姓名,性别,职务,家庭地址,部门编号)
部门(部门编号.部门名称.地址.电话)
保健(保健方编号.职工号 检查身体日期 健康状况)
1.找所有女科长的元组.
Z.查找“办公室”的科长姓名利家庭地址:
3.查找“ 财务科”中健康状况为“良好”的职工姓名和家庭地址
4.删除职工关系表中职工号为“3016”的记录.
325.将职工号为 "3016 的职工的健康状况改为“一般.
6.建立健康状况为“差”的职工的视图
7.向保健表中增加一个“备注“ 列.其数据类型为字符型.长度为20
八、程序设计题
(1)对于教学数据库的三个基本表
学生 student (sno,sname,sex,sage,sdept)
学习 sc(sno,cno,grade)
课程 course(cno,cname,cpno,ccredit)
试用SQL语句表示:下列语句。
331)查询所有年龄在20岁以下的学生姓名与年龄。
select Sname,Sage
from Student
where Sage<20;
或
select Sname,Sage
from Student
where not Sage>=20;
2)查询年龄不在20~23(包括20岁和23岁)之间的学生的姓名、系别和年龄。
select Sname,Sdept,Sage
from Student
where Sage not between 20 and 23;
3)查询每个学生及其选修课程的情况。
select Student.*,SC.*
from Student,SC
where Student.Sno=SC.Sno;
(4)"查询选修了数据库原理课的平均成绩"
"select avg(grade) as ' 最 高 成 绩 ' from student,sc,course where
student.sno=sc.sno and sc.cno=course.cno and cname='数据库原理'"
(5)查询所有选修了2号课程的同学的姓名" " select sname from student
where student.sno in (select sc.sno from sc where cno='2')"
(2)对于教学数据库的三个基本表
学生 student (sno,sname,sex,sage,sdept)
学习 sc(sno,cno,grade)
课程 course(cno,cname,cpno,ccredit)
试用SQL语句表示:下列语句。
(1)有不姓刘的同学的学号和姓名"
"select sno,sname from student where sname not like '刘%'"
(2)"查询课程名是数据库原理的课程号和学分"
"select cno,ccredit from course where cname='数据库原理'"
(3)查询所有选修了1号课程的同学的姓名"
" select sname from student where student.sno in (select sc.sno from sc
where cno='1')"
34(4)查询比计算机系(CS)所有年龄都小的其它系学生"
" select * from student where sageany (select sage from student where
sdept='CS') and sdept not like'CS'"
(3).对于教学数据库的三个基本表
学生 student (sno,sname,sex,sage,sdept)
学习 sc(sno,cno,grade)
课程 course(cno,cname,cpno,ccredit)
试用SQL语句表示:下列语句。
(1)"查询全男同学信息情况"
"select * from student where sex='男'"
(2)"查询选修了1号课的学生的学号和成绩"
"select sno,grade from sc where cno='1'"
(3)"查询所有选修过课的学生的姓名,课程名及成绩"
"select sname,cname,grade from student,sc,course where student.sno=sc.sno and
sc.cno=course.cno"
(4)"查询选修了数据库原理课的最高成绩"
"select max(grade) as ' 最 高 成 绩 ' from student,sc,course where
student.sno=sc.sno and sc.cno=course.cno and cname='数据库原理'"
(5)查询所有选修了1号课程的同学的姓名" " select sname from student
where student.sno in (select sc.sno from sc where cno=1)
4.对于教学数据库的三个基本表
学生 student (sno,sname,sex,sage,sdept)
学习 sc(sno,cno,grade)
课程 course(cno,cname,cpno,ccredit)
试用SQL语句表示:下列语句。
(1)"查询所有选修过课的学生的姓名,课程名及成绩"
"select sname,cname,grade from student,sc,course where student.sno=sc.sno and
sc.cno=course.cno"
(2)"查询选修了1号课的同学的姓名,课程号及成绩"
"select sname,cno,grade from student,sc where student.sno=sc.sno and
35cno='1'"
(3)"查询计算机系(CS)所有选了数据库原理的同学的姓名及学号"
"select sname,sno from student,sc,course where student.sno=sc.sno and
sc.cno=course.cno and cname='数据库原理' and sdept='CS'"
(4)"查询选修了数据库原理课的平均成绩"
"select avg(grade) as ' 最 高 成 绩 ' from student,sc,course where
student.sno=sc.sno and sc.cno=course.cno and cname='数据库原理'"
(5)查询所有选修了2号课程的同学的姓名" " select sname from student
where student.sno in (select sc.sno from sc where cno='2')"
5.现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)
课程(课程号,名称,学分)
学习(学号,课程号,分数)
用关系代数表达式实现下列1—4小题:
1.检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数。
2.检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分
数;
3.检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业;
4.检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专
业;
用SQL语言实现下列5—8小题:
5.检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业;
6.检索至少学过课程号为“C135”和“C219”的学生信息,包括学号、姓名和专
业;
7.从学生表中删除成绩出现过0分的所有学生信息;
8.定义“英语”专业学生所学课程的信息视图 AAA,包括学号、姓名、课程号
和分数。
1.П学号,姓名,课程名,分数(σ专业='英语'(学生∞学习∞课程))
2.П学号,姓名,专业,分数(σ分数>90∧名称='数据库原理'(学生∞学习∞课
程))
3.П学号,姓名,专业(学生)-П学号,姓名,专业(σ课程号='C135'(学生∞学
习))
4.П学号,姓名,专业(学生)-П学号,姓名,专业(σ分数<60(学生∞学习))
用SQL语言实现下列5—8小题:
365.SELECT 学号,姓名,专业
FROM 学生
WHERE 学号 NOT IN
(SELECT 学号
FROM 学习
WHERE 课程号='C135')
6.SELECT 学号,姓名,专业
FROM 学生
WHERE 学号 IN
(SELECT X. 学号
FROM 学习 AS X, 学习AS Y
WHERE X.学号=Y.学号 AND X.课程号='C135' AND X 课程号=’C219’)
7.DELETE FROM 学生
WHERE 学号 IN
(SELECT 学号
FROM 学习
WHERE 分数=0)
8.CREATE VIEW AAA(学号,姓名,课程号,分数)
AS SELECT 学号,姓名,课程号,分数
FROM 学生,学习
WHERE 学生.学号 =学习.学号 AND 专业=’英语’
6、今有两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号);
部门(部门号,名称,经理名,地址,电话)。
请用SQL的GRANT和REVOKE语句(加上视图机制),完成以下授权定
义或存取控制功能。
1)用户王明对两个表有SELECT权力。
2)用户李勇对两个表有INSERT和DELETE 权力。
3)用户刘星对职工表有SELECT权力,对工资字段具有更新权力。
4)用户张新具有修改两个表的结构的权力。
5)用户王明对两个表有的所有权力(读、写插、改、删除数据),并具有
给其他用户授权的权力。
.答:
1)GRANT SELECT ON 职工,部门
37TO 王明
WITH GRANT OPTION;
2) GRANT INSERT,DELETE ON 职工,部门
TO 张勇
WITH GRANT OPTION;
3)GRANT SELECT,UPDATE(工资)ON 职工
TO 刘星
WITH GRANT OPTION;
4) GRANT ALTER TABLE
TO 张新
WITH GRANT OPTION;
5)GRANT ALL PRIVILIGES ON 职工,部门
TO 周平
WITH GRANT OPTION;
7、设工程—零件数据库中有四个基本表:
供应商(供应商代码,姓名,所在城市,联系电话);
工程(工程代码,工程名,负责人,预算);
零件(零件代码,零件名,规格,产地,颜色);
供应零件(供应商代码,工程代码,零件代码,数量)
试用SQL语句完成下列操作:(每问4分,共40分)
1)找出天津市供应商的姓名和电话。
2)查找预算在50000~100000元之间的工程的信息,并将结果按预算降序排列。
3)找出使用供应商S1所供零件的工程号码。
4)找出工程项目J2使用的各种零件名称及其数量。
5)找出上海厂商供应的所有零件号码。
6)找出使用上海产的零件的工程名称。
7)出没有使用天津产的零件的工程号码。
8) 把全部红色零件的颜色改成蓝色。
9) 将由供应商S5供给工程代码为J4的零件P6改为由S3供应,并作其他必
要的修改。
10)从供应商关系中删除S2的记录,并从供应零件关系中删除相应的记录。
答:
1) SELECT 姓名,联系电话
FROM 供应商
382) SELECT*
FROM 工程
WHERE 预算 BETWEEN 50000 AND 100000
ORDER BY 预算 DESC;
3) SELECT 工程代号
FROM 供应零件
WHERE 供应商代码=‘SI’;
4) SELECT 零件.零件名,供应零件.数量
FROM 零件 供应零件
WHERE 零件.零件代码=供应零件.零件代码 AND 供应零件.工程代码
=‘J2’;
5)SELECT 零件代号
FROM 供应商,供应零件
WHERE 供应商.供应商代码=供应零件.供应商代码 AND
供应商.所在城市=‘上海’;
6) SELECT 工程名
FROM 供应商,供应零件,工程
WHERE 供应商.供应商代码=供应零件.供应商代码AND
供应零件.工程代码=工程.工程代码 AND
供应商.所在城市=‘上海’;
7) SELECT 工程号码
FROM 工程
WHERE NOT EXISTS(SELECT*
FROM 供应零件
WHERE工程.工程代码=供应零件.工程代码 AND
供应商代码 IN (SELECT 供应商代码
FROM 供应商
8) UPDATE 零件
SET 颜色=‘蓝色’;
WHERE 颜色=‘红色’;
9) UPDATE 供应零件
SET 供应商代码=‘S3’
WHERE 供应商代码=‘S5’ AND 工程代码=’J4’ AND 零件代码=‘P6’;
10) DELETE
39FROM 供应零件
WHERE 供应商代码=’S2’;
DELETE
FROM 供应商
WHERE 供应商代码=’S2’;
8、设职工---社团数据库有三个基本表:
职工(职工号,姓名,年龄,性别);
社会团体(编号,名称,负责人,活动地点);
参加(职工号,编号,参加日期);
其中:
1)职工表的主码为职工号。
2)社会团体表的主码为编号;外码为负责人,被参照表为职工表,对应属性为
职工号。
3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应
属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。试
用SQL语句表达下列操作:
(每小题4分共40分)
1)定义职工表、社会团体表和参加表,并说明其主码和参照关系。
2)建立下列两个视图。
社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);
参加人情况(职工号,姓名,社团编号,社团名称,参加日期)
3)查找参加唱歌队或篮球队的职工号和姓名。
4)查找没有参加任何团体的职工情况。
5)查找参加了全部社会团体的职工情况。
6) 查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。
7) 求每个社会团体的参加人数。
8) 求参加人数最多的社会团体的名称和参加人数。
9) 求参加人数超过100人的社会团体的名称和负责人。
10)把对社会团体和参加两个表的数据查看、插入和删除数据的权力赋给用户
李平,并允许他将此权力授予其他用户。
答:
1) CREAT TABLE 职工(职工号 CHAR(10)NOT NULL
UNIQUE,
姓名 CHAR(8)NOT NULL,
40年龄 SMALLINT,
性别 CHAR(2),
CONSTRAINT C1 CHECK(性别IN(‘男’,‘女’)));
CREAT TABLE 社会团体(编号 CHAR(8)NOT NULL UNIQUE,
名称 CHAR(12)NOT NULL,
负责人 CHAR(8),
活动地点 VARCHAR(50),
CONSTRAINT C2 FOREIGN KEY(负责人)REFERENCES职工 (职工
号));
CREAT TABLE 参加(职工号 CHAR(8),
编号 CHAR(8),
参加日期 DATA,
CONSTRAINT C3 PRIMARY KEY(职工号,编号),
CONSTRAIN C3 FOREIGN KEY(职工号)REFERENCES职工(职工号));
2)CREAT VIEW 社团负责人(编号,名称,负责人职工号,负责人姓名,负
责人性别)
AS SELECT 编号,名称,负责人,姓名,性别
FROM 社会团体,职工
WHERE 社会团体.负责人=职工.职工号;
CREAT VIEW参加人情况(职工号,姓名,社团编号,参加日期)
AS SELECT 参加.职员号,姓名,社会团体.编号,名称,参加日期
FROM 职工,社会团体,参加
WHERE 职工.职工号=参加.职工号AND 参加.编号=社会团体.编号;
3) SELECT 职工号,姓名
FROM 职工,社会团体,参加
WHERE 职工.职工号=参加.职工号 AND 参加.编号=社会团体.编
号
AND 社会团体.名称 IN(‘唱歌队’,‘篮球队’);
4)SELECT*
FROM 职工
WHERE NOT EXISTS(SELECT*
FORM 参加
WHERE 参加.职工号=职工.职工号);
5) SELECT*
41FROM 职工
WHERE NOT EXISTS(SELECT*
FROM 参加
WHERE NOT EXISTS
(SELECT*
FROM 社会团体
WHERE参加.职工号=职工.职工号
AND 参加.编号=社会团体.编));
6) SELECT 职工号
FROM 职工
WHERE NOT EXISTS(SELECT*
FROM 参加 参加1
WHERE 参加 1.职工号=‘1001’AND NOT
EXISTS
(SELECT*
FROM 参加 参加2
WHERE 参加2.编号=参加1.编号 AND 参加2.职工号=职工.
职工号));
7) SELECT COUNT(职员号)
FROM 参加
GROUP BY 编号;
8) SELECT 社会团体.名称,COUNT(参加.职工号)
FROM 社会团体 参加
WHERE 社会团体.编号=参加.编号
GROUP BY 参加编号
HAVING MAX (COUNT(参加.职工号))=COUNT(参加.职工
号));
9) SELECT 社会团体.名称,职工.姓名
FROM 职工,社会团体,参加
WHERE 社会团体.编号=参加.编号 AND 社会团体.负责人=职工.职
工号
GROUP BY 参加.编号 HAVING COUNT(参加.编号)>100;
10) GRANT SELECT,INSERT,DELECT ON 社会团体,参加 TO
李平
42WHERE GRANT OPTION;
九、使用关系代数
1、用关系代我装达式写出如下查询(每小题4分,共12分)
现有如下关系.
职工(职工号.姓名.性别.职务 .家庭地址.所在部门编号)
部门(部门编号.部门名称 地址 电话)
保健(保健卡编号.职上号. 检查身体日期.健康状况)
查找所有女科长的姓名和家庭地址.
查找“ 办公室”的科长姓名和家庭地址.
查找“财务科” 中健康状况为“良的”的职工姓名和家庭地址
2、设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读
者号,姓名
,地址,性别,年龄,单位。对每本书有:书号,书名,作者,出版社。对每
本被借出的书存有读者号、借出日期和应还日期。要求:给出 E-R图,再将其
转换为关系模型。(13)分
关系模型
读者(读者号,姓名,地址,性别,年龄,单位)
书(书号,书名,作者,出版社)
借出(书号,读者号,借出日期,应还日期)
3、设有一家百货商店,已知信息有:(共11分)
1) 每个职工的数据是职工号、姓名、地址和他所在的商品部。
2) 每一商品部的数据有:它的职工,经理和它经销的商品。
3) 每种经销的商品数有:商品名、生产厂家、价格、型号(厂家定的)和
内部商品代号(商店规定的)。
4) 关于每个生产厂家的数据有:厂名、地址、向商店提供的商品价格。
请设计该百货商店的概念模型,再将概念模型转换为关系模型。注意某些信息
可用属性表示,其他信息可用联系表示
职工表(职工号、姓名、地址、商品部名)
商品部(商品部名、经理、商品代号)
商品(商品代号、商品名、厂家名称、价格、型号)
生产厂家(厂家名称、地址、商品价格)
(图略)
4.有一个SPJ数据库,包括S,P,J,SPJ四个关系模式(20分)
43供应商表S(SNO,SNAME,STATUS,CITY); SPJ表
零件表P(PNO,PNAME,COLOR,WEIGHT);
工程项目表J(JNO,JNAME,CITY);
供应情况表SPJ(SNO,PNO,JNO,QTY);
J表
S表
P表
请用关系代数
完成如下查询:
1.求供应工程J3零件的供应商号 SNO
2.求供应工程J3件P3的供应商号吗SNO
3.求供应工程J3零件为红色的供应商号码SNO
4.求没有使用南京供应商生产的红色零件的工程号JNO
5.求至少用了供应商S3所供应的全部零件的工程号JNO
答:1、∏sno(σJNO=‘J3’(SPJ))
2、∏sno(σJNO=‘J3’ ΛPNO=’P2’(SPJ))
3、∏sno(σJNO=‘J3’(SPJ)∞σcolor=‘红’(P))
4、∏jno(SPJ)-∏jno(∏sno(σcity=‘南京’(S))∞∏sno,jno (SPJ)
∞∏jno σcolor=‘红’(P))
5、∏jno, pno(SPJ)÷∏pno(σsno=‘s3’(SPJ))
5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式(20分)
供应商表S(SNO,SNAME,STATUS,CITY);
零件表P(PNO,PNAME,COLOR,WEIGHT);
工程项目表J(JNO,JNAME,CITY);
供应情况表SPJ(SNO,PNO,JNO,QTY); SPJ表
44J表
S表
P表
请用关系代数完成如下查询:
1.求供应工程J1零件的供应商号 SNO
2.求供应工程J1零件P1的供应商号吗SNO
3.求供应工程J1零件为红色的供应商号码SNO
4.求没有使用天津供应商生产的红色零件的工程号JNO
5.求至少用了供应商S1所供应的全部零件的工程号JNO
答:1、∏ (σ (SPJ))
sno JNO=‘J1’
2、∏ (σ (SPJ))
sno JNO=‘J1’ ΛPNO=’P1’
3、∏ (σ (SPJ)∞σ (P))
sno JNO=‘J1’ color=‘红’
4、∏ (SPJ)-∏ (∏ (σ (S))∞∏ (SPJ)∞∏ σ
jno jno sno city=‘天津’ sno,jno jno color
(P))
=‘红’
5、∏ (SPJ)÷∏ (σ (SPJ))
jno, pno pno sno=‘s1’
针对上题的四张关系表试用SQL语言完成下列各项操作(每问5分共20分)
找出所有供应商的姓名和所在城市;
找出所有零件的名称、颜色、重量;
找出使用供应商S1所供应零件的工程号码
找出上海厂商供应的所有零件号码;
select sname,city from s;
select pname, color,weight from p;
select jno from spj where sno=’S1’;
select pno from spj,s where s.sno=spj.sno and city=’上海’;
6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式(20分)
供应商表S(SNO,SNAME,STATUS,CITY);
45零件表P(PNO,PNAME,COLOR,WEIGHT);
工程项目表J(JNO,JNAME,CITY);
供应情况表SPJ(SNO,PNO,JNO,QTY); SPJ表
J 表
S表
P表
请用关系代数完成如下查询:
1.求供应工程J2零件的供应商号 SNO
2.求供应工程J2零件P2的供应商号吗SNO
3.求供应工程J2零件为红色的供应商号码SNO
4.求没有使用上海供应商生产的红色零件的工程号JNO
5.求至少用了供应商S2所供应的全部零件的工程号JNO
答:1、∏ (σ (SPJ))
sno JNO=‘J2’
2、∏ (σ (SPJ))
sno JNO=‘J2’ ΛPNO=’P2’
3、∏ (σ (SPJ)∞σ (P))
sno JNO=‘J2’ color=‘红’
4、∏ (SPJ)-∏ (∏ (σ (S))∞∏ (SPJ)∞∏ σ
jno jno sno city=‘上海’ sno,jno jno color
(P))
=‘红’
5、∏ (SPJ)÷∏ (σ (SPJ))
jno, pno pno sno=‘s2’
遵守两段锁协议死锁情况
十、E—R图
1、学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教师,其
中一些教授和副教授每人各带若干研究生。每个班有若干学生,每个学生选
修若干课程,每门课可由若干学生选修。用E-R图画出此学校的概念模型。
46教学系
1 1
下属 包含
n n
班级 教研室
1 1
学习 工作
n n
学生 教师
n n
选课 教学
m m
课程 普通生 研究生
2、试给出三个实际部门的E-R图,要求实体型之间具有一对一,一对多,多对
多各种不同的联系。
图5-2中:一个部门有一个负责人,一个负责人负责一个部门的工作,部门
和负责人间的联系是一对一的联系:一个学生可以借阅多本书,一本书只能
一个人借,学生和借阅间的联系为一对多的联系;一个学生可以参加多个社
会团体,一个社会团体有多个学生参加,学生和社会团体间的联系为多对多
的联系。
部门 学生 学生
1 1
参加
47n
负责 借阅
1 n m
0 社团
负责人 图书
图5-2 三个部门的E-R图
3、现有如下E-R图:(每问7分,共14分)
姓名
技术级别
工 号
维修人员
职称
M
检修原因
维 检修时间
护
N
投入使用日期
设备号 设备
设备名称 制造厂商
1. 对上述E-R模型,设计相应的关系数据模型;
2. 指出各关系模型的主码及相互间的关联条件
答:1、维修(工号,设备号,检修原因,检修时间)
维修人员(工号,姓名,技术级别,职称)
设备(设备号,设备名称,制造厂商,投入使用日期)
2、维修(工号)
维修人员(工号)
设备(设备号)
下维修-》》 维修人员,工号
维修人员-》》设备,设备号
484、请设计一个学生成绩管理系统,要求有学生表,选课成绩表,课程表,密码
表。并提出主要的功能模块图,以及学生选课的E-R图(14分)答案(略)
十一、分析题
1. 学生运动会模型:
(1)有若干班级,每个班级包括: 班级号,班级名,专业,人数
(2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,
年龄
(3)有若干比赛项目,包括:项目号,名称,比赛地点
(4)每名运动员可参加多项比赛,每个项目可有多人参加
(5)要求能够公布每个比赛项目的运动员名次与成绩
(6)要求能够公布各个班级团体总分的名次和成绩
解题要求:
(1)画出每个实体及其属性关系、实体间实体联系的E-R图.
(2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性.并
指出每个表的主键和外键。
(1)
(2)
班级(班级号,班级名,专业,人数) 主键:班级号
运动员(运动员号,姓名,性别,年龄,班级号)
主键:运动员号 外
键: 班级号
项目(项目号,项目名,比赛地点)
主键:项目号
比赛(运动员号,项目号,成绩,名次,得分)
主键: 运动员号 , 项目号 外键: 运动员号;项目号
492.学生与教师教学模型
(1)有若干班级,每个班级包括:班级号、班级名、专业、人数、教室
(2)每个班级有若干学生,学生只能属于一个班,学生包括:学号、姓名、性
别、年龄
(3)有若干教师,教师包括:编号、姓名、性别、年龄、职称
(4)开设若干课程,课程包括:课程号、课程名、课时、学分
(5)一门课程可由多名教师任教,一名教师可任多门课程。
(6)一门课程有多名学生选修,每名学生可选多门课,但选同一门课时,只能
选其中一名教师。
解题要求:
(1)画出每个实体及其属性关系、实体间实体联系的(E-R)图。
(2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性。
班级(班级号,班级名,专业,人数,教室),主键:班级号
学生(学号,姓名,性别,年龄,班级号),主键:学号 外键:
班级号
教师(编号,姓名,性别,年龄,职称),主键:编号
课程(课程号,课程名,课时,学分),主键:课程号
选课(课程号,学号,成绩),主键: 课程号,学号 外键:课程
50号;学号
任课(课程号,编号,时间),主键:课程号,编号 外键:课程
号;编号
3.有一个应用,包括三个实体集。 实体类型“商店”的属性有:商店编号,
店名,店址,店经理。 实体类型“会员”的属性有:会员编号,会员名,地址。
实体类型“职工”的属性有:职工编号,职工名,性别,工资 。 每家商店有
若干职工,但每个职工只能服务于一家商店。 每家商店有若干会员,每个会员
可以属于多家商店。在联系中应反映出职工参加某商店工作的开始时间,会员
的加入时间。
(1)试画出反映商店、职工、会员实体类型及联系类型的ER图;
(2)将ER图转换成关系模式,并指出每个表的主键和外键;
(3)指出以上关系模式所达到的范式。
(1)
(2)
商店模式(商店编号,店名,店址,店经理)
主键:商店编号
职工模式(职工编号,职工名,性别,工资,商店编号,开始时间)
主键:职工编号 外
键:商店编号
会员模式(会员编号,会员名,地址)
主键:会员编号
SM模式(会员编号,商店编号,会员加入时间)
主键:会员编号,商店编号
外键:会员编号;商店编号
51(3)以上关系模式中,所有属性对侯选键都不存在传递依赖,因此都是BCNF。
4、设T1,T2是如下二个事务(每问6分共12分)
T1:A:= A+2;B=B+1;
T2:A:=A*2;B=B*2;
A的初始值为1,B的初始值为0
1. 若这两个事务允许并行执行,请给出一个串行化的调度,并给出执行结
果。;
2. 若这两个事务都遵守两段锁协议,请给出一个不产生死锁的调度
装 结 果
A=3 ,
b=3
5.设 T1,T2,T3 是如下三个事
务:
订T1:A:=A+2 ;B:=B+2
T2:A:=A*2; B:=B*2
T3:A:=A**2; B:=B**2
设A初值为1 B初值为1
解答:试问(1)请给出一个可串行化的调度
(2)请给出一个非串行化的调度
(3)若这三个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度
(4)若这三个事务都遵守两段锁协议,请给出一个产生死锁的调度(3)
(1)T1
线
T2
T3
(2) T1 T2 T3
XLOCK A XLOCK B WAIT
52读A=0 读B=0 WAIT
A=A+2 B=B*2
WRITE A=2 WRITE B=0
UNLOCK A UNLOCK B WAIT
XLOCL B XLOCKA
读B=0 读A=2
B=B+2 A=A*2 wait
WRITE B=2 WRITE A=4
UNLOCK B UNLOCL A XLOCK A
读A=4
A=A**
WRITE A=16
UNLOCK A
XLOCL B
读B=2
B=B**2
WRITE B=4
UNLOCK B
(3)
T1 T2 T3
XLOCK A WAIT WAIT
读A=0 WAIT WAIT
。。。。 WAIT WAIT
UNLOCK A WAIT WAIT
UNLOCK B XLOCK A WAIT
读A=0 WAIT
。。。。。。 WAIT
UNLOCK A XLOCK A
UNLOCK B WAIT
读A=0
。。。。
UNLOCK A
UNLOCK B
53(4) T1 T2 T3
XLOCK A XLOCK B WAIT
读A=0 读B=0 WAIT
A=A+2 B=B*2 WAIT
WRITE A=2 WRITE B=0 WAIT
XLOCL B XLOCKA WAIT
遵守两段锁协议死锁情况
6.设T1,T2,T3是如下三个事务:
T1:A:=A+2 ;B:=B+2
T2:A:=A*2; B:=B*2
T3:A:=A**2; B:=B**2
设A初值为0 B初值为0
解答:试问(1)若这三个事物允许并发执行,则有多少种可能的的正确结果,
请一一列举出来
(2)请给出一个可串行化的调度,并给出执行结果
(3)请给出一个非串行化的调度,并给出执行结果
(4)若这三个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度
(5)若这三个事务都遵守两段锁协议,请给出一个产生死锁的调度
三个事务允许并发执行,有6种结果:
T1 T1 T2 T2 T3 T3
T2 T3 T1 T3 T1 T2
T3 T2 T3 T1 T2 T1
A=16 A=8 A=4 A=2 A=4 A=2
B=16 B=8 B=4 B=2 B=4 B=2 (有些题目没
有的)
(2)T1
T2
T3
A=16
B=16 (有些题目没有的)
54(3) T1 T2 T3
XLOCK A XLOCK B WAIT
读A=0 读B=0 WAIT
A=A+2 B=B*2
WRITE A=2 WRITE B=0
UNLOCK A UNLOCK B WAIT
XLOCL B XLOCKA
读B=0 读A=2
B=B+2 A=A*2 wait
WRITE B=2 WRITE A=4
UNLOCK B UNLOCL A XLOCK A
读A=4
A=A**
WRITE A=16
UNLOCK A
XLOCL B
读B=2
B=B**2
WRITE B=4
UNLOCK B
非串行化调度A=16 B=4 (有些题目没有的)
(4)
T1 T2 T3
XLOCK A WAIT WAIT
读A=0 WAIT WAIT
。。。。 WAIT WAIT
UNLOCK A WAIT WAIT
UNLOCK B XLOCK A WAIT
读A=0 WAIT
。。。。。。 WAIT
UNLOCK A XLOCK A
UNLOCK B WAIT
读A=0
55。。。。
UNLOCK A
UNLOCK B
(5) T1 T2 T3
XLOCK A XLOCK B WAIT
读A=0 读B=0 WAIT
A=A+2 B=B*2 WAIT
WRITE A=2 WRITE B=0 WAIT
XLOCL B XLOCKA WAIT
遵守两段锁协议死锁情况
十二、应用题
1. 东方货运公司数据库的样本数据如下。
表名称:卡车
车号 货运站编 类型 总行程 购入日期
号
1001 501 1 59002.7 11/06/90
1002 502 2 54523.8 11/08/90
1003 503 2 32116.6 09/29/91
1004 504 2 3256.9 01/14/92
表名称:货运站
货运编号 地址 电话 经理
501 北京市东城区花市 010—67301234 何东海
大街111号
502 北京市海淀花园路 010—64248892 吴明君
101号
表名称:型号
类型 汽车型号
1 DJS130
2 DLS121
根据数据库的表结构和内容:
a. 指出每个表的主码和外码。如果没有外码,则写“无”。
b. 卡车表存在实体完整性和参照完整性吗?请详细说明。
c. 具体说明卡车表与运货站表之间存在着什么关系?
d. 卡车表中包含多少个实体?
56答:a.
表名称 主码 外码
卡车 车号 货运站编号,类型
货运站 货运站编号 无
型号 类型 无
b. 卡车表中存在实体完整性和参照完整性。
实体完整性:在主码车号的这列中不存在空值;
参照完整性:外码“货运站编号”这列中的值都是货运站表中“货运站编
号”这列中的值,外码“类型”这列中的 值都是型号表中“型号”这列中的值。
c. 货运站表和卡车表之间存在着一对多的关系,即每一个货运站可以有多辆车。
如,样本数据中货运站501有两辆车:车号为1001和1003;货运站502有两辆
车:车号为1002和1004。
d. 卡车表中包括4个实体,即表中每个元组(行)对应一个实体,每个实体就是
一辆车。
2、设有学生—课程关系数据库,其中有学生关系S,课程关系C和学生选课关系
SC,如下图所示:
关系S
学 号 姓 名 年龄
关系C
性别
课程号称 学时 教师 教师办 S# SN SA SS
关系SC
公室 S1 WANG 20
C# FO TE OF F
C1 200 ZHOU
S2 LI 23
M
OF2
C2 120 LIU OF2
S3 CHEN 21
C3 80 LIU OF2
M
C4 80 WANG
S4 ZHANG 20
M
OF3
学号 课程号 成 S5 ZHANG 22
绩
F
S# C# G
S1 C1
90
S1 C2
90
57S1 C3
85
S1 C4
87
S2 C1
90
S3 C1
75
S3 C2
70
S3 C4
56
S4 C1
90
S4 C2
85
S5 C1
95
S5 C4
80
要求使用SQL语言写出下列操作:
1.找出全部开课的老师.
2.找出学习C1且成绩为90分以上(包括90分)的学生号.
3.把WANG老师的办公室改为OF1.
4.把全体男学生的成绩置零.
5.在表S中增加‘学生所在系’的列,其数据类型为变长字符串,最大长度为
15.
6.找出没有选修课程C3的学生名.
7.求出男同学集合与年龄不大于20的学生集合.
8.求年龄在20岁与23岁之间(包括20岁和23岁)的学生号和年龄.
9.查询选修了C1课程的学生的学号及成绩,查询结果按分数的降序排列.
10.查询所有有成绩的学生号和课程号.
1.SELECT DISTINCT TE
FROM C
2.SELECT S#
FROM SC
WHERE C#=’C1’AND G>89
3. UPDATE C
SET OF=’OF1’
58WHERE TE=’WANG’
4. UPDATE SC
SET G=0
WHERE ‘M’=
(SELECT SS
FROM S
WHERE S.S#=SC.S#)
5. ALTER TABLE S
ADD SD VARCHAR(15)
6. SELECT SN
FROM S
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE S#=S.S# AND C#=’C3’)
7. SELECT *
FROM S
WHERE SS=’M’AND SA>20
8. SELECT S#,SA
FROM S
WHERE SA BETWEEN 20 AND 22
9. SELECT S#,G
FROM SC
WHERE C#=’C1’
ORDER BY G DESC
10.SELECT S#,C#
FROM SC
WHERE G IS NOT NULL
59