复习重点; 1. 关系模型、ER模型 2. SQL 3. 事务管理 4. 函数依赖与规范化 5. 数据库设计 复习题 一、单项选择题 1. 单个用户使用的数据视图的描述称为 【 】 A. 外模式 B. 概念模式 C. 内模式 D. 存储模式 A
2. 在DBS中,DBMS和OS之间的关系是 【 】 A. 相互调用 B. DBMS调用OS C. OS调用DBMS D. 并发运行 B 3. 五种基本关系代数运算是 【 】 A. ∪,-,×,π和σ B. ∪,-,∞,π和σ C. ∪,∩,×,π和σ D. ∪,∩,∞,π和σ A
4.当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是 【 】 A.左外联接 B.右外联接 C.外部并 D.外联接 D 5.下列聚合函数中不忽略空值 (null) 的是 【 】 A. SUM (列名) B. MAX (列名) C. COUNT ( * ) D. AVG (列名) C
6. 设关系模式R (A,B,C),F是R上成立的FD集,F = {B→C},则分解ρ = {AB,BC}相对于F 【 】 A. 是无损联接,也是保持FD的分解 B. 是无损联接,但不保持FD的分解 C. 不是无损联接,但保持FD的分解 D. 既不是无损联接,也不保持FD 的分解 A 7. 关系模式R分解成ρ = {R1,…,Rk},F是R上的一个FD集,那么R中满足F的每一个关系r,与其投影联接表达式mρ(r) 间的关系满足 【 】 A. r mρ(r) B. mρ(r) r C. r = mρ(r) D. r≠mρ(r) A
8. 在数据库设计中,将ER图转换成关系数据模型的过程属于 【 】 A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D. 物理设计阶段 B 9. SQL中,下列涉及空值的操作,不正确的是 【 】 A. AGE IS NULL B. AGE IS NOT NULL C. AGE = NULL D. NOT (AGE IS NULL) C
10. 如果事务T获得了数据项Q上的排它锁,则T对Q 【 】 A. 只能读不能写 B. 只能写不能读 C. 既可读又可写 D. 不能读不能写 C 11. DBMS中实现事务持久性的子系统是 【 】 A. 安全性管理子系统 B. 完整性管理子系统 C. 并发控制子系统 D. 恢复管理子系统 D
12、三级模式间存在两种映射,它们是( ) A、模式与子模式间,模式与内模式间 B、子模式与内模式间,外模式与内模式间 C、子模式与外模式间,模式与内模式间 D、模式与内模式间,模式与模式间 A 13、从关系中挑选出指定的属性组成新关系的运算称为( ) A、“选取”运算 B、"投影"运算 C、“联接”运算 D、"交"运算 B
14、关系模型中,表示实体间n:m联系是通过增加一个( ) A、关系实现 B、属性实现 C、关系或一个属性实现 D、关系和一个属性实现 A 15、3NF同时又是( ) A、2NF B、1NF C、BCNF D、1NF,2NF D
16.要保证数据库逻辑数据独立性,需要修改的是( ) A.模式 B.模式与内模式的映射 C.模式与外模式的映射 D.内模式 C 17.下列四项中,不属于数据库特点的是( ) A.数据共享 B.数据完整性 C.数据冗余很高 D.数据独立性高
18.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( ) A.多对多 B.一对一 C.多对一 D.一对多 D 19.反映现实世界中实体及实体间联系的信息模型是( ) A.关系模型 B.层次模型 C.网状模型 D.E-R模型
20.对数据库并发操作有可能带来的问题包括( ) A.读出“脏数据” B.带来数据的冗余 C.未被授权的用户非法存取数据 D.破坏数据独立性 A 21.关系数据模型的三个组成部分中,不包括( ) A.完整性规则 B.数据结构 C.数据操作 D.并发控制 D
22.关系代数表达式的优化策略中,首先要做的是( ) A.对文件进行预处理 B.尽早执行选择运算 C.执行笛卡儿积运算 D.投影运算 B 23.事务有多个性质,其中不包括( ) A.一致性 B.唯一性 C.原子性 D.隔离性
24.SQL语言通常称为( ) A.结构化查询语言 B.结构化控制语言 C.结构化定义语言 D.结构化操纵语言 A 25.如何构造出一个合适的数据逻辑结构是( )主要解决的问题。 A.关系数据库优化 B.数据字典 C.关系数据库规范化理论 D.关系数据库查询 C
二、填空题 1. 用树型结构表示实体类型及实体间联系的数据模型称为_______________。 层次模型 2.关系数据库的关系演算语言是以__________为基础的DML语言。 谓词演算 3.在函数信赖中,平凡的函数信赖根据Armstrong推理规则中的_______________律就可推出。 自反
4.设关系模式R (A,B,C),F是R上成立的FD集,F = {B→A,B→C},则分解ρ = {AB,AC}丢失的FD是_______________。 5.分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、重构条件和______________。 不相交条件 6.DB并发操作通常会带来三类问题,它们是丢失更新、_______________和读脏数据。 读值不可复现
7.事务必须具有的四个性质是:原子性、一致性、_______________和持久性。 隔离性 8、数据独立性分为_____________和_________。 逻辑数据独立性、物理数据独立性 9、分解关系的两条基本原则是:______________,____________________________。 无损分解 无损分解&保持依赖
三、简答题 1. 请阐述在网状模型和关系模型中,实体之间联系的实现方法。 在网状模型中,联系用指针实现。 在关系模型中,联系用关键主键 (或外键,或关系运算) 来实现。 2.设有两个关系R (A,B,C) 和S (C,D,E),试用SQL查询语句表达下列关系代数表达式 πA,E (σB = D (R∞S))。 SELECT A,E FROM R,S WHERE B = D AND R.C = S.C
3.设有关系模式R (A,B,C,D),F是R上成立的FD集,F = {D→A,D→B},试写出关系模式R的候选键,并说明理由。 ①R的候选键是CD ②理由:从已知的F,可导出D→ABD, 再根据扩展律,可得出CD→ABCD, 即CD值可决定全部属性值。 4.设关系模式R(A,B) 和S(C,D),有关系代数表达式E = πA,C(σB = ‘d’(R×S)),请画出表达式E的语法树。
四、设计题 1. 图书出版管理数据库中有两个基本表: 图书 (书号,书名,作者编号,出版社,出版日期) 作者 (作者编号,作者名,年龄,地址) 试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。 SELECT 作者名,书名,出版社 FROM 图书,作者 WHERE 图书.作者编号 = 作者.作者编号 AND 年龄 < = (SELECT AVG (年龄) FROM 作者);
2.学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系: 学生 (学号,姓名,专业,入学日期) 收费 (学年,学号,学费,书费,总金额) 假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。 试用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 学生 (学号));
3. 现有关系数据库如下: 学生(学号,姓名,性别,专业,奖学金) 课程(课程号,名称,学分) 学习(学号,课程号,分数) 用关系代数表达式实现下列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(学生∞学习)) (5). SELECT 学号,姓名,专业 FROM 学生 WHERE 学号 NOT IN (SELECT 学号 FROM 学习 WHERE 课程号='C135'); (6).SELECT 学号,姓名,专业 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 专业=’英语’;
五、综合题 1.假设某商业集团数据库中有一关系模式R如下: R (商店编号,商品编号,数量,部门编号,负责人) 如果规定:(1) 每个商店的每种商品只在一个部门销售; (2) 每个商店的每个部门只有一个负责人; (3) 每个商店的每种商品只有一个库存数量。 试回答下列问题: (1) 根据上述规定,写出关系模式R的基本函数依赖; (2) 找出关系模式R的候选键; (3) 试问关系模式R最高已经达到第几范式?为什么?
(4) 如果R不属于3NF,请将R分解成3NF模式集。 (1) 有三个函数依赖:(商店编号,商品编号) →部门编号 (商店编号,部门编号) →负责人 (商店编号,商品编号) →数量 (2) R的候选键是 (商店编号,商品编号) (3) 因为R中存在着非主属性“负责人”对候选键 (商店编号、商品编号)的传递函数依赖,所以R属于2NF,R不属于3NF。 (4) 将R分解成:R1 (商店编号,商品编号,数量,部门编号) R2 (商店编号,部门编号,负责人)
2.现有某个应用,涉及到两个实体集,相关的属性为: 实体集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).不一定。
因为R3中有两个非主属性B1和B2,有可能存在函数依赖B1→B2,则出现传递依赖B#→B1、B1→B2。