数据库原理与应用 第 1 章 · 第三节
课程第 1 章第三节 过渡三级模式图三级模式二级映像奶茶店四个优点外部结构五种结构
第 1 章 数据库系统概述 · 第三节

数据库系统的体系结构

三级模式、两级映像,以及五种外部结构
本 节 知 识 点
  1. 221.3 数据库系统的体系结构
  2. 23三级模式结构和二级映像示意图
  3. 24三级模式结构
  4. 25二级映像
  5. 26用奶茶店讲三级模式
  6. 27三级模式与二级映像的优点
  7. 28数据库系统的外部体系结构
  8. 29五种外部体系结构
22
第 1 章 · 第三节

1.3 数据库系统的体系结构

体系结构分内外两面:内部看数据怎样分三层,外部看整个系统怎样部署在机器上。

第 22 页课件

重 点这一块看的时候抓两点

第一,三级模式各有几个:外模式可以有多个,模式和内模式各只有一个。第二,两级映像各保证哪一种独立性:外模式/模式映像保证逻辑独立性,模式/内模式映像保证物理独立性。课后练习九道题里有五道考这两点。

知道更多

“体系结构”这个词在这里有两个意思。内部体系结构说的是数据在逻辑上怎样分层,外部体系结构说的是数据库和程序放在哪几台机器上。两者互不影响,一个单机系统同样有三级模式。

想一想

你觉得“结构”这个词,是指软件怎么装,还是指数据怎么分层?

23
第 1 章 · 第三节

三级模式结构和二级映像示意图

从上往下:多个应用对应多个外模式,全库只有一个模式和一个内模式,两层之间各隔着一级映像。

第 23 页课件

关键术语

外模式External Schema
某一类用户看到并允许使用的那一部分数据的样子,也叫子模式或用户模式。
模式Schema
全体数据的逻辑结构和特征的描述,也叫概念模式或逻辑模式。
内模式Internal Schema
数据在存储介质上实际怎么放的描述,也叫存储模式。

重 点读图的三个要点

右边三个标签用户级、概念级、物理级,说明三层是三个高度。映像画在两层之间而不是某一层里,因为映像是翻译规则,不是数据。应用程序只接触外模式这一层,下面两层它既看不到也管不着。

打个比方

奶茶店的点单屏是外模式,总配方手册是模式,后厨仓库和机器是内模式,课件第 26 页把这个比方展开讲。

想一想

图上哪一层是应用程序直接打交道的?

24
第 1 章 · 第三节

三级模式结构

外模式可以有多个,模式和内模式各只有一个,三者是同一份数据在三个高度上的样子。

第 24 页课件

重 点数量和层次

数量记“多、一、一”。层次记课件底部的三句话:内模式是实际存储的表示,模式是实际存储的抽象表示,外模式是模式某一部分的抽象表示。每往上一层就抽象一次,也就离硬件更远一步。

打个比方

同一栋楼,住户看到的是自己那一户的户型图,物业手里是整栋楼的平面图,施工队看的是钢筋水泥怎么浇的结构图。户型图可以有很多张,平面图和结构图各只有一份。

练一练

一个数据库可以有几个模式?
  1. A只有一个
  2. B可以有多个
  3. C和外模式一样多
  4. D和用户一样多
答案 A

模式描述的是全体数据的整体逻辑结构,一个数据库只能有一个。可以有多个的是外模式,不同用户看到不同的局部。

想一想

教务员和学生查同一个成绩库,看到的会是同一个外模式吗?

25
第 1 章 · 第三节

二级映像

外模式/模式映像保证逻辑独立性,模式/内模式映像保证物理独立性,下层改了只需要改映像。

第 25 页课件

关键术语

逻辑独立性Logical Data Independence
模式改了,只改外模式/模式映像,应用程序不用动。
物理独立性Physical Data Independence
内模式改了,只改模式/内模式映像,模式和程序都不用动。

重 点判断哪一种独立性,只看改的是什么

改的是存储方式(换硬盘、建索引、换文件组织),就是物理独立性。改的是逻辑结构(加一列、拆一张表、改字段名),就是逻辑独立性。课后练习第 4、5、10 题考的全是这条判断。

打个比方

映像像一位翻译官。后厨把珍珠换了个货位,翻译官改一下自己的对照表,顾客的点单屏上什么都不用变。

想一想

把学生表从机械硬盘搬到固态硬盘,需要改哪一级映像?

26
第 1 章 · 第三节

用奶茶店讲三级模式

点单屏是外模式,总配方手册是模式,后厨仓库与机器是内模式,两本对照表就是两级映像。

第 26 页课件

试一试改哪一层,谁要跟着动

外模式点单屏:少糖 · 去冰 · 中杯 · 芝士抹茶
外模式/模式映像:少糖 = sugar_level 25,中杯 = volume 450
模式总配方手册:饮品(名称, sugar_level, ice, volume),规则:最多两种加料
模式/内模式映像:珍珠取 B17 号桶,牛奶取冷柜第 3 层,摇匀用程序 03
内模式后厨仓库与机器:珍珠在 B17 号桶,硬盘 HDD,原料名建了索引
点一个改动,黄色是被改的那一层,橙色是要跟着调整的映像,绿色是完全不用动的。

重 点课件上红框圈出的三处

第一处:模式是全店唯一的逻辑结构与约束,也就是“实体、属性、关系、规则”,这四个词是第 1.4 节和数据库设计的主线。第二处:前台把“芝士绿茶,中杯,少糖,去冰”翻译成 drink、size、sugar、ice 四个值,这是外模式/模式映像在工作。第三处:后厨据此去 B21 和 B05 拿料、跑程序 03,这是模式/内模式映像在工作。

想一想

如果店里把“少糖”的标准从 25 改成 20,改的是哪一层?

27
第 1 章 · 第三节

三级模式与二级映像的优点

四个优点是同一个原因的四个结果:数据和程序被分开了。

第 27 页课件

重 点四条逐一对应

保证数据的独立性:改存储、改结构都不用动程序。简化用户接口:用户只面对自己的外模式,不必了解全库。有利于数据共享:一个模式可以派生出很多外模式,同一份数据服务很多人。有利于安全保密:每个用户只看得到自己外模式里的那部分,看不到的自然改不了。

打个比方

一栋写字楼的门禁:每个人的卡只开自己该进的门是安全保密,楼里改造管道住户不用搬家是独立性,一栋楼大家合用是共享,来访者只需要知道去几楼是简化接口。

想一想

四个优点里,哪一个直接跟“外模式可以有多个”有关?

28
第 1 章 · 第三节

数据库系统的外部体系结构

从最终用户的角度看,按数据和程序放在哪台机器上,数据库系统分成五种结构。

第 28 页课件

关键术语

客户/服务器结构Client/Server,C/S
客户端装应用程序,服务器端跑 DBMS 管数据,两边分工。
浏览器/服务器结构Browser/Server,B/S
客户端只要浏览器,应用程序搬到中间的应用服务器上。

重 点分类的标准是部署位置

一台机器自己用是单用户结构。一台大主机带一堆只负责显示的终端是主从式。多台机器各有数据库、逻辑上是一个系统是分布式。程序和 DBMS 分在两台机器上是客户/服务器。程序再往后搬到应用服务器、客户端只剩浏览器是浏览器/服务器。

想一想

五种结构里,你今天已经用过哪一种?

29
第 1 章 · 第三节

五种外部体系结构

五种结构是一条演化线:从一台机器独用,到多台机器分工,再到浏览器接管客户端。

第 29 页课件

重 点最常混的是 C/S 和 B/S

C/S 要在客户机上专门安装一个客户端软件,比如银行 App。B/S 只要一个浏览器,比如网页版网银,程序放在应用服务器上,它充当浏览器和数据库服务器之间的中介。分布式结构强调多个库在逻辑上是一个系统,1.5 节还会再讲它。

打个比方

C/S 像去食堂窗口打饭,你得自己走到窗口,相当于装客户端。B/S 像点外卖,手机浏览器下单,中间的骑手站就是应用服务器,你不用知道厨房在哪。

练一练

在机房的一台电脑上装好 MySQL,自己建库自己练习,这属于哪一种结构?
  1. A单用户结构
  2. B主从式结构
  3. C客户/服务器结构
  4. D浏览器/服务器结构
答案 A

程序、DBMS、数据都在同一台机器上,只有一个人用,不和别人共享,这是单用户结构。等到把 MySQL 装在服务器上、多台电脑连过去用,才变成客户/服务器结构。

想一想

你手机上的银行 App 和网页版网银,分别是哪种结构?

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