【数据库原理及应用】期末复习汇总&高校期末真题试卷06

发布于:2024-05-08 ⋅ 阅读:(28) ⋅ 点赞:(0)

试卷

一、选择题

1. ________是长期存储在计算机内的有组织,可共享的数据集合.
A.数据库管理系统 B.数据库系统
C.数据库 D.文件组织

image-20240404205747524

1. 有12个实体类型,并且它们之间存在15个不同的二元联系,其中4个是1:1联系类型,5个是1:n联系类型,6个m:n联系类型,那么根据转换规则,这个E-R结构转换成的关系模式至少有______。

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

2. DBMS的并发控制子系统保证了事务______的实现。

A.原子 B.一致性和隔离性 C.原子性和一致性 D.持久性

3. 数据库管理系统能实现对数据库数据的查询、插入修改和删除等操作,这种功能称为 。

A.数据定义功能 B.数据管理功能

C.数据操纵功能 D.数据控制功能

4. 如果有n个事务串行调度,那么不同的有效调度有______。

A. 4n B. n! C. n2 D. 2n

5. 在SQL语言中授权的操作是通过_____ _____语句实现的。

A.CREATE B.REVOKE

C.GRANT D.INSERT

6. 概念结构设计阶段得到的结果是__ __。

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

C.某个DBMS所支持的数据模型 D.包括存储结构和存取方法的物理结构

image-20240404205825189

二、填空题

  1. 提供数据库定义,数据库装入,数据操纵,数据控制和DB维护功能的软件称为 (1)
  2. 数据管理经过了手工文档、文件系统和__(2)______三个发展阶段。
  3. 关系模型的三个基本要素:数据结构 , 数据操作 和 (3) 。
  4. 数据独立性分为逻辑独立性和______(4)____________。
  5. 如果在事务的状态图中 (5) ,则系统会出现死锁现象。
  6. 数据库系统中可能发生的故障种类有:事务内部故障,_ (6)__,介质故障,计算机病毒。
  7. 判断一个并发调度是否正确,可用 (7) 概念来衡量。
  8. 数据库恢复操作的基本原理是 (8) 。
  9. 封锁对象的大小称为: (9) 。
  10. 建立冗余数据最长用的技术是 (10) 和登录日志文件。

三、应用题

image-20240404205928055

2、设数据库中有3个关系:

职工表(职工工号,姓名,年龄,性别,籍贯)

工作表(职工工号,公司编号,工资)

公司表(公司编号,公司名称,公司所在城市)

分别表示为:

EMP(E#, ENAME, AGE, SEX, ECITY)

WORKS(E#, C#, SALARY)

COMP(C#, CNAME, CITY)

请用SQL语句写出下列操作:

(1) 查询籍贯在江西南昌的职工信息。

(2) 查询在南昌工作的职工信息。

(3) 假设每个职工可以在多个公司工作,查询在编号为C4和C8公司兼职的职工工号和姓名。

(4) 假设每个职工可以在多个公司工作,查询每个职工的兼职公司数目和工资总数,按(E#, NUM, SUM_SALARY)显示,分别表示职工工号、公司数目和工资总数。

(5) 设职工工号为E6的职工在多个公司工作,查询至少在E6职工兼职的所有公司工作的职工工号。(6分)

3、根据给出的关系代数表达式的语法树,利用关系代数表达式的优化算法
对该语法树进行优化,画出优化后的标准语法树。
在供应关系数据库S_P_J中有供应商表S,零件表P,工程项目表J,及供应情况表SPJ四个表。以下是“没有使用天津供应商生产的红色零件的工程号JNO” 对应的关系代数表达式为:

image-20240404210052316

(1)用SQL语言表示上述关系代数。
(2)先将关系代数转化成语法树, 并对其进行优化处理,画出优化后的标准语法树。

4、设关系模式R(A,B,C,D)函数依赖集F={A→C, C→A, B→AC, D→AC, BD→A}。
(1)求(BD) F+,并说明BD是否为R 的候选码。
(2)求出R的最小函数依赖集。

5.考虑以下两个事务,举例说明这两个事务的执行会引起死锁吗?

image-20240404210151149

四、综合题

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

答案

一、选择题

1 2 3 4 5 6 7 8 9 10
C C B B C B C B B A

二、填空题

(1) 数据库管理系统(DBMS) (2) 数据库系统
(3) 完整性约束 (4) 物理独立性
(5) 沿箭头方向存在一个循环 (6) 系统故障
(7) 可串行化 (8) 冗余
(9) 封锁粒度 (10) 数据转储

三、应用题

image-20240404210426959

2、设数据库中有3个关系:

职工表(职工工号,姓名,年龄,性别,籍贯)

工作表(职工工号,公司编号,工资)

公司表(公司编号,公司名称,公司所在城市)

分别表示为:

EMP(E#, ENAME, AGE, SEX, ECITY)

WORKS(E#, C#, SALARY)

COMP(C#, CNAME, CITY)

请用SQL语句写出下列操作:

(1)查询籍贯在江西南昌的职工信息。

SELECT * FROM  EMP  WHERE  ECITY=’江西南昌’

(2)查询在南昌工作的职工信息。

SELECT E#,ENAME,AGE,SEX,ECITY  FROM EMP,WORKS,COMP 
Where EMP.E#=WORKS.E# AND WORKS.C#=COMP.C#   AND CITY=”南昌”

(3)假设每个职工可以在多个公司工作,查询在编号为C4和C8公司兼职的职工工号和姓名。

SELECT A.E#, A.ENAME     FROM EMP A, WORKS B, WORKS C
WHERE A.E# = B.E# AND B.E# = C.E# AND B.C# = ‘C4’ AND C.C# = ’C8’;

(4)假设每个职工可以在多个公司工作,查询每个职工的兼职公司数目和工资总数,按(E#, NUM, SUM_SALARY)显示,分别表示职工工号、公司数目和工资总数。

SELECT E#, COUNT(C#) AS NUM, SUM(SALARY) AS SUN_SALARY
FROM WORKS     GROUP BY E#;

(5)设职工工号为E6的职工在多个公司工作,查询至少在E6职工兼职的所有公司工作的职工工号。

SELECT X.E#   FROM WORKS X   
WHERE NOT EXISTS
(SELECT *      FORM WORKS Y
 WHERE E# = ‘E6’ AND NOT EXISTS
(SELECT *    FROM WORKS Z
 WHERE Z.E# = X. E# AND Z.C# = Y.C#));

3、根据给出的关系代数表达式的语法树,利用关系代数表达式的优化算法
对该语法树进行优化,画出优化后的标准语法树。
在供应关系数据库S_P_J中有供应商表S,零件表P,工程项目表J,及供应情况表SPJ四个表。以下是“没有使用天津供应商生产的红色零件的工程号JNO” 对应的关系代数表达式为:

image-20240404210052316

(1)用SQL语言表示上述关系代数。

SELECT JNO FROM J    WHERE JNO NOT IN(SELECT JNO 
FROM S,SPJ,P    WHERE S.SNO=SPJ.SNO AND 
SPJ.PNO=P.PNO AND  S.CITY=‘天津’ AND P.COLOR=‘红’)

(2)先将关系代数转化成语法树, 并对其进行优化处理,画出优化后的标准语法树。

image-20240404210720090

4、设关系模式R(A,B,C,D)函数依赖集F={A→C, C→A, B→AC, D→AC, BD→A}。
(1)求(BD) F+,并说明BD是否为R 的候选码。

image-20240404210747368(2)求出R的最小函数依赖集。

求最小函数依赖集。
(1)将F中函数依赖的右部分解为单属性:(2分)
F={A→C,C→A, B→A, B→C, D→A, D→C, BD→A}
(2)去掉F中冗余的函数依赖:(4分)
判断A→C是否冗余。
设:G1={C→A, B→A, B→C, D→A, D→C, BD→A}, 得:AG1+=A,
∵ CÏ AG1+ ∴A→C不冗余。
判断C→A是否冗余。
设:G2={A→C, B→A, B→C, D→A, D→C, BD→A}, 得:CG2+=C,
∵ AÏ CG2+ ∴C→A不冗余。
判断B→A是否冗余。
设:G3={A→C,C→A, B→C, D→A, D→C, BD→A}, 得:BG3+=ABC,
∵ A Î BG3+ ∴ B→A冗余。
判断B→C是否冗余。
设:G4={A→C,C→A, D→A, D→C, BD→A}, 得:BG4+=B,
∵ CÏ BG4+ ∴ B→C不冗余。
判断D→A是否冗余。
设:G5={A→C,C→A, B→C, D→C, BD→A}, 得:DG5+=ADC,
∵ A Î DG5+ ∴ D→A冗余。
判断D→C是否冗余。
设:G6={A→C,C→A, B→C, BD→A}, 得:DG6+=D,
∵ C Ï DG6+ ∴ D→C不冗余。
判断BD→A是否冗余。
设:G7={A→C,C→A, B→C, D→C}, 得:(BD)G7+ =BDCA,
∵ A Î (BD)G7+ ∴ BD→A冗余
所以:F={A→C,C→A, B→C, D→C}。
3)由于F的左部均为单属性,所以:
最小函数依赖集F={A→C,C→A, B→C, D→C}。

5.考虑以下两个事务,举例说明这两个事务的执行会引起死锁吗?

image-20240404210151149

image-20240404210831962

四、综合题

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

image-20240404210854025

(2) 将上述E-R图转换为等价的关系模式,并标出主码与外码。

借书人(_借书证号_,姓名,单位)
图书(_书号_,书名,数量,位置,出版社名)
出版社(_出版社名_,电报,电话,邮编,地址)
借阅(_借书证号_,_书号_,借书日期,还书日期)