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

发布于:2024-05-07 ⋅ 阅读:(26) ⋅ 点赞:(0)

试卷

一、选择题

1. 在数据库系统中,存放三级结构定义的DB称为______。

A. DBS B. DD C. DDL D. DBMS

image-20240404201705885

1. 设有关系模式R(A, B, C, D),F是R上成立的函数依赖集,F={A→B, C→D},则F+中左部为(BC)的函数依赖有______。

A. 2个 B. 4个 C. 8个 D. 16个

2. 设有关系模式R(A, B, C, D),F是R上成立的函数依赖集,F={B→D, AD→C},那么,ρ={ABC, BCD}相对于F______。

A. 是无损连接分解,也是保持函数依赖的分解

B. 是无损连接分解,但不保持函数依赖的分解

C. 不是无损连接分解,也是保持函数依赖的分解

D. 既不是无损连接分解,也不保持函数依赖的分解

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

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

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

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

5. 在SQL中,集合函数COUNT(列名)用于______。

A. 计算元组个数 B. 计算属性个数

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

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

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

image-20240404201741887

二、填空题

1. DBS具有较高的数据独立性,其原因是_____ 。

2. 设有关系模式R(A, B, C),F是R上成立的函数依赖集,F={AB→C, C→A},则R的候选码有_____ 个,为 _____ 。

3. 在SQL中,只有_____ 视图才可以执行更新操作。

4. 如果在事务的状态图中_____ ,则系统会出现死锁现象。

5. 两个函数依赖集F和G等价的充分必要条件是_____ 。

6. 判断一个并发调度是否正确,可用_____ 概念来衡量。

7. 在SQL中,与操作符“NOT IN”等价的操作符是_____ 。

8. 事务的持久性是由DBMS的_____ 实现的。

9. 封锁能避免异常等错误的发生,但会引起_____ 问题。

10. 在关系代数中,交操作可由_____ 操作组合而成。

三、简答、计算、说明题

1.在层次、网状、关系等数据模型中,数据之间的联系是如何实现的?

2.在SELECT语句中,何时使用GROUP子句,何时不必使用?

image-20240404202111402

4. 设数据库中有3个关系:
职工表(职工工号,姓名,年龄,性别,籍贯)
工作表(职工工号,公司编号,工资)
公司表(公司编号,公司名称,公司所在城市)
分别表示为:
EMP(E#, ENAME, AGE, SEX, ECITY)
WORKS(E#, C#, SALARY)
COMP(C#, CNAME, CITY)
请用SQL语句写出下列操作:

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

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

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

(4) 查询联华公司中低于本公司平均工资的职工工号和姓名。

5.已知关系模式R<U, F>,其中:U={A, B, C, D, E, G},F={AB→C, C→A, BC→D, ACD→B, D→EG, BE→C, CG→BD, CE→AG}。计算(CD) F + F^+ F+

6.考虑以下两个事务,并回答问题。

image-20240404202343603

(1) 给事务T1和T2增加加锁、解锁指令,使它们遵从两段锁协议。
(2) 举例说明这两个事务的执行会引起死锁吗?

四、综合题

1. 一个图书借阅管理数据库要求提供下述服务:

· 可随时查询书库中现有书籍的品种、数量及存放位置。所有各类书籍均可由书号唯一标识。

· 可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。

· 当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。约定:一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。

根据以上情况和假设,试作如下设计:

(1) 画出满足需求的E-R图。

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

2. 说明以下等式成立,并说明如何利用它提高某些查询的效率。

image-20240404202440140

答案

一、选择题

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

二、填空题

  1. 三级结构之间存在着两级映象
  2. 2 AB和BC
  3. 行列子集
  4. 沿箭头方向存在一个循环
  5. F + = G + F^+=G^+ F+=G+
  6. 可串行性(化)
  7. <>ALL
  8. 恢复管理子系统
  9. 死锁

三、简答、计算、说明题

  1. 答:在层次、网状模型中,数据联系通过直指针实现。在关系模型中,数据联系通过外键和主键相联系实现。(4分)

  2. 答:SELECT语句中使用GROUP子句的先决条件是要有聚合操作。当聚合操作值与其它属性的值无关时,不必使用GROUP子句。例如求男同学的人数。此时聚合值只有一个,因此不必分组。
    当聚合操作值与其它属性的值有关时,必须使用GROUP子句。例如求每一性别的人数。此时聚合值有两个,与性别有关,因此必须分组。

  3. 设有关系R和S如下所示,计算R ⋈ S和R ⋈ S。
    image-20240404202645422

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

    (1) 假设每个职工可以在多个公司工作,查询在编号为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’;
    

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

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

    (3) 设职工工号为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#));
    

    (4) 查询联华公司中低于本公司平均工资的职工工号和姓名。

    SELECT A.E#, A.ENAME
    FROM EMP A, WORKS B, COMP C
    WHERE A.E# = B.E# AND B.C# = C.C# AND CNAME = ‘联华公司’
    AND SALARY < (SELECT AVG(SALARY)
    FROM WORKS, COMP
    WHERE WORKS.C# = CMOMP.C#AND CNAME = ‘联华公司’);
    
    1. 已知关系模式R<U, F>,其中:U={A, B, C, D, E, G},F={AB→C, C→A, BC→D, ACD→B, D→EG, BE→C, CG→BD, CE→AG}。计算(CD)F+。(6分)

      解:令X(0)=CD

      逐一扫描F集合中的各个函数依赖,找左部为C, D或CD的函数依赖,得:

      C→A, D→EG

      ∴ X(1)=CD∪AEG=ACDEG

      ∵ X(0)≠X(1)

      ∴ 再找出左部为ACDEG子集的那些函数依赖,又得:

      ​ ACD→B, CG→BD, CE→AG

      ∴ X(2)= X(1)∪ADG=ABCDEG

      ∵ X(2)已等于全部的属性集合

      ∴ (CD)F+ = ABCDEG

    2. image-20240404203008628

四、综合题

1. 一个图书借阅管理数据库要求提供下述服务:

· 可随时查询书库中现有书籍的品种、数量及存放位置。所有各类书籍均可由书号唯一标识。

· 可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。

· 当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。约定:一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。

根据以上情况和假设,试作如下设计:

(1) 画出满足需求的E-R图。

image-20240404203038824

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

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

image-20240404203141145