第 1 章 数据库系统概述 · 第七节
课后练习(一)
第 1 至 5 题,组成、三要素、三级模式与两级映像
54
第 1 章 · 第七节
第 1 题 数据库系统的组成
这道题考 DB、DBMS、DBS 三个缩写的范围,DBS 是最大的那个圈。
练一练第 1 题
数据库系统(DBS)的组成最准确的是( )。
- ADBMS = DBS
- BDBS = DB + DBMS
- CDBS = 数据库(DB)+ 数据库管理系统(DBMS)+ 硬件/操作系统 + 应用程序 + 数据库管理员与用户等人员 + 管理制度与方法
- DDB = 与数据库相关的所有软硬件
答案 CDBS 是人、机、数据的综合体,除了 DB 和 DBMS,还包括运行环境(硬件、操作系统、网络)、应用程序,以及 DBA、开发人员、用户这些人和相应的管理制度。A 和 B 把 DBS 简化成了两件软件,D 把 DB 扩大成了所有软硬件,都不对。
重 点
选项 C 比课件第 13 页的四部分多了“管理制度与方法”一项,两种说法不矛盾,教材按图分四部分,题目把人员和制度单独列出来强调“系统里有人”。
想一想
如果没有 DBA 这个角色,一个数据库系统还能长期正常运转吗?
三个缩写的关系是 DBS 包含 DBMS,DBMS 管理 DB,记住谁包含谁就不会选错。
重 点A、B、D 各错在哪
A 把管理软件等同于整个系统,相当于说厨房总管就是整家餐厅。B 只算了数据和软件,漏掉了机器和人,可没有 DBA 的数据库系统撑不了多久。D 把数据库这个词扩大到了所有软硬件,而 DB 只指数据本身。
知道更多一个记法
DB 两个字母只指数据。DBMS 多出的 MS 是 Management System,指管数据的软件。DBS 只比 DB 多一个 S,这个 S 是 System,指的却是最大的范围,整个系统。做题时先看题干问的是软件、数据还是系统,再对号入座。
想一想
DBMS 和 DBS 只差一个字母,怎么一眼分清?
56
第 1 章 · 第七节
第 2 题 数据模型的三要素
这道题考的是数据模型由哪三部分构成,课件在讲每一种模型时都按这三部分来说。
练一练第 2 题
一个数据模型通常由三部分构成,它们是( )。
- A数据结构、数据操作、完整性约束
- B实体、属性、联系
- C逻辑结构、物理结构、外部结构
- D安全策略、备份策略、恢复策略
答案 A数据结构说明“存什么、怎么关联”,数据操作规定“能做什么”,完整性约束保证“数据是对的”。B 是信息世界的概念模型要素,不是数据模型三要素。C 把三级模式误当成了模型的组成。D 属于数据库管理,不是数据模型。
重 点
回看课件第 42 至 47 页:层次模型讲了“数据结构”“数据操纵与完整性约束”,网状模型和关系模型也各讲了这三样。三要素就藏在这些小标题里,第 2 章讲关系模型时会正式按这三个要素展开。
想一想
层次模型的完整性约束里,“删除双亲子女一并删除”属于三要素中的哪一个?
三要素分别回答三个问题:数据长什么样,能对它做什么,什么样的数据才算对。
重 点三要素对应到关系模型
数据结构是二维表,数据操作是查询、插入、修改、删除这些集合操作,完整性约束是主键不能重复、外键必须有来源这一类规则。课件第 46、47 页讲关系模型时正好按这个顺序,只是没有把“三要素”这个名字点出来。
知道更多选项 B 为什么最容易选错
实体、属性、联系是信息世界里描述事物的三个词,它们属于概念模型,用来画 E-R 图。数据模型是计算机世界的东西,描述的是数据在机器里怎样组织。两组词一个在人脑这一边,一个在计算机这一边。
想一想
“学号不能重复”这条规则,属于三要素中的哪一个?
58
第 1 章 · 第七节
第 3 题 三级模式的顺序
从外到内是外模式、模式、内模式,离用户最近的在最外面。
练一练第 3 题
下列选项按从外到内正确列出数据库三级模式的是( )。
- A模式 → 外模式 → 内模式
- B外模式 → 模式 → 内模式
- C内模式 → 模式 → 外模式
- D外模式 → 内模式 → 模式
答案 B三级模式自外向内依次是外模式(用户视图)、模式(全局逻辑结构)、内模式(物理存储)。这样分层做到了对上抽象、对下屏蔽。C 的顺序反了,A 和 D 把模式放错了位置。
重 点
“外”和“内”是相对用户说的:用户在最外面,所以他直接看到的叫外模式,磁盘在最里面,所以描述存储的叫内模式,模式夹在中间。分不清时想课件第 23 页那张图,从上往下读就是从外到内。
想一想
“用户视图”这个词说的是三级模式里的哪一级?
解析里“对上抽象、对下屏蔽”八个字,是三级模式存在的全部理由。
重 点对上抽象,对下屏蔽
对上抽象是说每一层向上提供一个比自己简单的样子:内模式把磁盘细节抽象成表,模式把全库抽象成每个用户关心的一小块。对下屏蔽是说上层不需要也不能碰下层的细节:用户改不了存储方式,应用程序看不到别人的外模式。抽象和屏蔽合起来就是独立性和安全性的来源。
打个比方
点外卖的软件对上抽象成一份菜单,对下屏蔽了厨房的位置和做法。你看到的菜单是外模式,商家的全部菜品和规则是模式,厨房怎么摆锅灶是内模式。
想一想
如果只有模式和内模式两层,没有外模式,会失去哪一条好处?
60
第 1 章 · 第七节
第 4 题 逻辑独立性靠哪一级映像
逻辑独立性靠外模式/模式映像,物理独立性靠模式/内模式映像,两级映像各管一种。
练一练第 4 题
在二级映像与数据独立性关系中,逻辑独立性主要依赖于( )。
- A模式/内模式映像
- B外模式/模式映像
- C外模式/内模式映像
- D外模式/外模式映像
答案 B修改模式(比如增加属性、拆分关系)不应迫使应用程序改写,靠外模式/模式映像把变化映射回原有外模式,这就是逻辑独立性。A 保证的是物理独立性,用来屏蔽存储变化。C 和 D 这两种映像并不存在。
重 点
选项 C 和 D 是干扰项,二级映像只有两个,名字里两个词一定是相邻的两层。记住“映像在两层之间”,凡是跨层或同层的名字都可以直接排除。
想一想
给学生表新加一列“手机号”,原来的查询程序要不要改?
题目里“修改概念模式不应迫使应用程序改写”,就是逻辑独立性的定义换了一种说法。
重 点两种独立性各自的触发条件
模式变了才谈逻辑独立性,比如加一列、拆一张表、改字段名。内模式变了才谈物理独立性,比如换硬盘、建索引、改文件组织。做题时先判断题干改的是哪一层,再找管这一层的那级映像,两步就能选出答案。
知道更多
课件第 26 页奶茶店的例子里,“sugar_level 改名 sweetness_ratio,只要调整映像,顾客的点单屏不用改”说的正是这道题。回到第 26 页的演示里点一下那个按钮,看哪一级映像被标成了橙色。
想一想
把“学生”表拆成“学生基本信息”和“学生联系方式”两张表,这属于改哪一层?
62
第 1 章 · 第七节
第 5 题 堆表改聚簇索引
改的是数据在磁盘上怎么摆,表结构和视图都没动,这是物理独立性。
练一练第 5 题
某表由“堆表”改为“按时间戳聚簇索引”,不改变表结构与视图,体现的独立性是( )。
- A逻辑独立性
- B物理独立性
- C表示独立性
- D安全独立性
答案 B这个改动只发生在物理层(页组织、索引、文件布局),通过模式/内模式映像屏蔽了对上层的影响,属于物理独立性。A 涉及的是概念层结构的变化。C 和 D 不是数据库里的概念。
重 点题干里两个生词
堆表是数据按写入先后随便堆放、不排序的存法。聚簇索引是让数据按某一列(这里是时间戳)的顺序物理排好存放的存法。两个词都在说磁盘上的摆法,属于内模式,第 7 章讲索引时会正式学。
想一想
题干里“不改变表结构与视图”这句话,是在暗示哪两层没有变?
看到“页、索引、文件布局、硬盘”这类词,就往物理独立性想。
重 点两个判断信号
物理独立性的信号词:存储、索引、文件、页、块、磁盘、SSD、分区、压缩。逻辑独立性的信号词:表结构、字段、属性、拆表、合表、改名。题干里同时说了“不改变表结构与视图”,是在明确告诉你模式和外模式都没动。
知道更多
这道题和第 4 题、第 10 题是同一个考点的三种问法:第 4 题直接问映像,第 5 题给一个物理层的改动,第 10 题给一个逻辑层的改动。三道题连着做一遍,这个考点就稳了。
想一想
给一张表加一个索引让查询变快,程序需要改吗?