数据库原理与应用 第 1 章 · 第八节
课程第 1 章第八节 第7题第7题解析第9题第9题解析第10题第10题解析第11题第11题解析
第 1 章 数据库系统概述 · 第八节

课后练习(二)

第 7、9、10、11 题,DBA、抽象层次、独立性、联系类型
本 节 知 识 点
  1. 64第 7 题 DBA 的职责
  2. 65第 7 题 解析
  3. 66第 9 题 哪一项属于物理层
  4. 67第 9 题 解析
  5. 68第 10 题 拆表而视图不变
  6. 69第 10 题 解析
  7. 70第 11 题 宿舍房间与学生
  8. 71第 11 题 解析
64
第 1 章 · 第八节

第 7 题 DBA 的职责

凡是直接针对数据库本身的管理工作都归 DBA,编译器优化不是。

第 64 页课件

练一练第 7 题

下列哪项不属于数据库管理员(DBA)的典型职责( )。
  1. A定义与维护模式、存储结构与安全策略
  2. B制定备份恢复方案、监控与性能调优
  3. C并发控制策略配置与权限管理
  4. D编译器的词法/语法优化
答案 D

D 属于编译器和程序语言实现的范畴。A、B、C 都是 DBA 的核心工作:模式管理、安全与权限、备份恢复、性能和并发。

重 点

课件第 14 页给 DBA 的定义是“负责设计、建立、管理和维护数据库,以及协调用户对数据库的要求”。A、B、C 三项分别是设计建立、维护、协调用户,正好和定义一一对应。

想一想

学校信息中心里,谁最像这道题里说的 DBA?

65
第 1 章 · 第八节

第 7 题 解析

DBA 管的是数据库这一层,往上的应用程序和往下的编译器都不归他。

第 65 页课件

重 点DBA 的工作按时间分三段

建库之前:定义模式、存储结构、安全策略,也就是决定存什么、怎么存、谁能看。运行之中:配置并发控制、管理权限、监控性能、调优。出事之后:按备份恢复方案把数据库救回来。每一段都对应教材后面的章节,第 8 章安全、第 9 章并发、第 10 章备份恢复。

打个比方

DBA 像一栋楼的物业经理,管门禁、管水电、管消防演练,但不管住户自己家里怎么装修,也不管建筑公司怎么炼钢。

想一想

把服务器上的 MySQL 升级到新版本,这件事归 DBA 还是归应用程序员?

66
第 1 章 · 第八节

第 9 题 哪一项属于物理层

视图属于外部层,联系和主键外键属于概念层,索引的页大小和分裂策略属于物理层。

第 66 页课件

练一练第 9 题

关于数据抽象层次,属于物理层的是( )。
  1. A课程与学生的多对多联系
  2. B视图 V_PublicStudent 的可见列集合
  3. CB+ 树索引的页大小与节点分裂策略
  4. D概念模式中的主键与外键约束
答案 C

物理层关注存储实现细节,文件、页、块、索引怎么实现都属于它。A 和 D 属于概念层,也就是模式。B 属于外部层,视图就是一个外模式。

重 点

题里的“数据抽象层次”就是三级模式换了一个说法:外部层是外模式,概念层是模式,物理层是内模式。每个选项先问一句“这是用户看到的、全局定义的、还是存储实现的”,答案就出来了。

想一想

“学生表按学号升序存放在磁盘上”,属于哪一层?

67
第 1 章 · 第八节

第 9 题 解析

四个选项正好覆盖三层,是一道分层归类的好题。

第 67 页课件

重 点四个选项各归哪一层

课程与学生的多对多联系是全库逻辑结构的一部分,归模式。主键和外键约束是定义在模式上的规则,也归模式。视图 V_PublicStudent 只让某类用户看到学生表的部分列,是一个外模式。B+ 树是索引在磁盘上的实现方式,页大小和分裂策略是纯粹的存储细节,归内模式。

知道更多两个生词

视图是从一张或几张表派生出来的虚表,第 7 章会学,它是外模式最常见的实现手段。B+ 树是数据库索引最常用的数据结构,第 7 章也会提到,这里只需要知道它是存储层面的东西。

想一想

“只允许辅导员看到本班学生的成绩”,这条要求落在哪一层?

68
第 1 章 · 第八节

第 10 题 拆表而视图不变

拆表改的是逻辑结构,应用的视图没变,靠的是外模式/模式映像,这是逻辑独立性。

第 68 页课件

练一练第 10 题

某数字媒体平台把“作品(Work)”表拆分为“作品元数据(WorkMeta)”与“发布信息(PublishInfo)”,应用的查询视图保持不变。该变更主要考查( )。
  1. A物理独立性
  2. B逻辑独立性
  3. C事务隔离性
  4. D可串行化
答案 B

拆分概念模式里的关系是逻辑层的变化,通过外模式/模式映像保持原有视图和程序不变,体现的是逻辑独立性。A 是存储层的变化,C 和 D 是第 9 章并发控制里的术语,和本题无关。

重 点

这道题和第 5 题是一对:第 5 题改的是存法,这道题改的是表结构。判断的办法一样,先看改了哪一层,一张表拆成两张,表的定义变了,那就是模式变了。

想一想

拆表之后,原来查“作品”视图的程序为什么可以一行不改?

69
第 1 章 · 第八节

第 10 题 解析

视图是应用看到的外模式,只要映像把新的两张表重新拼成原来的样子,应用就察觉不到。

第 69 页课件

重 点映像在这里具体做了什么

拆表之前,视图“作品”直接对应 Work 一张表。拆表之后,DBMS 把视图的定义改成 WorkMeta 和 PublishInfo 两张表拼起来的结果,这一步就是调整外模式/模式映像。应用照旧查“作品”视图,拿到的列和以前一样。

知道更多干扰项里的两个词

事务隔离性和可串行化都是第 9 章并发控制的概念,说的是多个用户同时操作时互不干扰,跟改表结构没有关系。选择题里出现明显不属于本章的词,通常就是用来排除的。

想一想

如果拆表之后没有更新映像,应用程序会发生什么?

70
第 1 章 · 第八节

第 11 题 宿舍房间与学生

一个房间住多名学生,同一时刻一名学生只住一个房间,房间对学生是一对多。

第 70 页课件

练一练第 11 题

在某校“6 人间”宿舍建模中,若假定同一时刻每位学生唯一入住一个宿舍房间,而每个房间可住多名学生,则“宿舍房间与学生”的联系类型是( )。
  1. A1:1
  2. B1:n(房间对学生)
  3. Cn:1(房间对学生)
  4. Dm:n
答案 B

一个房间对应多名学生,每个学生当前只对应一个房间,因此房间对学生是 1:n。只有允许一个学生同时住多个房间,或者规定一个房间只住一个人,才会变成 m:n 或 1:1。

重 点

判断方法回到课件第 37 页:从房间的一个实体出发,最多对应几名学生,是多个。从学生的一个实体出发,最多对应几个房间,题干说了唯一,是一个。一边多一边一,就是一对多,多的一头写 n。

想一想

题干里“6 人间”这个数字,对判断联系类型有没有影响?

71
第 1 章 · 第八节

第 11 题 解析

联系类型不是事物固有的,它取决于题目给的假定,假定一变,类型跟着变。

第 71 页课件

重 点假定怎样改变答案

题干的假定是“同一时刻每位学生唯一入住一个房间”,所以是 1:n。如果改成“记录学生四年里住过的所有房间”,一个学生对应多个房间,就变成 m:n。如果改成“单人间”,一个房间只住一人,就变成 1:1。做这类题先找题干里的限定词,再数两边最多各对应几个。

知道更多

课件第 37 页的演示里有“宿舍房间与学生”这个例子,点一下能看到连线。第 13 章设计数据库时,这个 1:n 会直接决定学生表里要不要加一列“房间号”,多对多则需要单独建一张表。

想一想

如果一名学生可以登记多个手机号,“学生与手机号”是哪种联系?

保山学院·人工智能教研室·曹鼎鼎