【数据库技术】数据库三级模式结构(外模式/模式/内模式)

考点频率 :★★★★★(数据库基础必考,选择题每年至少1题,两级映像是核心考点)

难度 :⭐⭐

建议:重点掌握三种模式的定义、两级映像的作用,以及它们分别保证了哪种数据独立性

1️⃣ 为什么需要三级模式?

想象一下:你是一个大型图书馆的馆长。面对几十万册藏书,你需要三个层次的规划:

  • 最底层:书怎么摆放在书架上(按编号?按大小?)------这是存储细节
  • 中间层:图书的分类体系(文学、历史、科技......)------这是整体结构
  • 最上层:不同读者看到的视图------学生看到的是"借阅区",研究员看到的是"古籍区"

数据库也是同样的道理。如果让每个用户都直接面对数据的物理存储细节,那程序员得累死------换个硬盘、改个存储结构,所有程序都得重写。数据库三级模式结构就是为了解决这个问题而设计的。

它的核心目标只有一句话:让应用程序与数据的物理存储细节隔离开,让数据的存储方式改变时,应用程序不需要跟着改。

2️⃣ 三级模式结构

数据库系统采用三级模式结构外模式、模式、内模式。这三级结构从不同角度描述数据,形成对数据的三个抽象级别。

2.1 模式(Schema)/ 概念模式

模式 又称概念模式 ,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

关键特征

  • 是数据库的逻辑结构描述,不涉及物理存储细节
  • 反映的是数据在现实世界中的逻辑关系(如表、列、约束)
  • 只有一个,是数据库的核心和中枢
  • 与具体的应用程序和开发语言无关

打个比方 :模式就是图书馆的总分类目录------所有书分几大类、每类下面有哪些子类、书与书之间有什么关联(比如同一作者的作品)------这是整个图书馆的"逻辑骨架"。

2.2 外模式(External Schema)/ 子模式 / 用户模式

外模式 是数据库用户(包括应用程序和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是模式的子集。

关键特征

  • 用户与数据库的接口,每个用户只能看到自己需要的那部分数据
  • 一个数据库可以有多个外模式(不同用户看到不同的视图)
  • 外模式是保证数据库安全性的重要手段(隐藏用户不需要或无权访问的数据)

打个比方 :外模式就像不同读者眼中的图书馆。学生能看到"借阅区"的图书,研究员能看到"古籍特藏区",财务能看到"采购预算"------同一座图书馆,不同人看到的"视图"不同。

2.3 内模式(Internal Schema)/ 存储模式

内模式 是数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

关键特征

  • 描述数据在存储介质上的物理组织方式(如索引结构、数据压缩、存储路径等)
  • 只有一个
  • 与具体的存储硬件和DBMS实现相关

打个比方 :内模式就是图书馆的书架摆放方案------书是按索书号排还是按大小排?哪些书放在密集书库?哪些书放在开架阅览区?索引卡片放在哪里?------这是最底层的物理存储细节。

3️⃣ 三级模式对比表(重点)

对比项 外模式(用户模式) 模式(概念模式) 内模式(存储模式)
描述对象 局部数据的逻辑结构 全局数据的逻辑结构 数据的物理存储结构
使用者 应用程序、最终用户 数据库管理员、设计人员 系统程序员、DBA
数量 多个 1个 1个
与用户的关系 用户可见,直接交互 用户不可见 用户不可见
作用 定制用户视图,保证安全 定义数据库的整体逻辑结构 优化存储,提高存取效率

三级模式中,只有外模式是用户直接接触的,模式和内模式对用户都是透明的。

4️⃣ 两级映像(核心考点)

映像(Mapping) 是一种对应关系,用于在三级模式之间建立联系,从而保证数据独立性

4.1 外模式/模式映像

作用:定义外模式与模式之间的对应关系。

当模式改变(如增加表、修改字段类型)时,只要外模式/模式映像保持不变,外模式就不需要改变 ,用户程序也不需要修改。这保证了数据的逻辑独立性

逻辑独立性:当数据库的逻辑结构(模式)发生变化时,应用程序可以不受影响,不需要修改程序。

哪种变化属于逻辑变化:增加新表、修改字段名或类型、调整表之间的关系。

4.2 模式/内模式映像

作用:定义模式与内模式之间的对应关系。

当内模式改变(如更换存储设备、修改索引结构、调整数据存储位置)时,只要模式/内模式映像保持不变,模式就不需要改变 ,应用程序更不受影响。这保证了数据的物理独立性

物理独立性:当数据库的物理存储结构(内模式)发生变化时,应用程序可以不受影响,不需要修改程序。

哪种变化属于物理变化:更换硬盘、建立新的索引、调整数据块大小、改变数据压缩方式。

5️⃣ 两级映像与数据独立性(必考题)

映像类型 连接的两端 保证的独立性 变化的是哪一端 不变的是哪一端
外模式/模式映像 外模式 ↔ 模式 逻辑独立性 模式改变(逻辑结构变了) 外模式不变(用户程序不改)
模式/内模式映像 模式 ↔ 内模式 物理独立性 内模式改变(存储结构变了) 模式不变(逻辑结构不改)

软考记忆点"模式变,外模式不变"=逻辑独立性"内模式变,模式不变"=物理独立性

6️⃣ 经典例题

例题1:在数据库三级模式结构中,描述数据库中全体数据逻辑结构和特征的是( )。

A. 外模式

B. 模式

C. 内模式

D. 存储模式

解析 :模式(概念模式)描述的是数据库中全体数据 的逻辑结构和特征。外模式是局部数据,内模式是物理存储。选 B


例题2:当数据库的物理存储结构发生变化时,应用程序不需要修改,这体现了数据库的( )。

A. 物理独立性

B. 逻辑独立性

C. 数据共享性

D. 数据完整性

解析 :物理独立性是指当内模式 (物理存储结构)改变时,模式 和应用程序不需要改变。选 A


例题3(判断):一个数据库可以有多个外模式,但只能有一个模式和内模式。( )

解析:正确。模式(全局逻辑结构)和内模式(物理存储结构)都是唯一的,但外模式可以有多个(每个用户一个视图)。

7️⃣ 记忆口诀

三级模式外内中,外多内中一模样。

外模映像保逻辑(模式变,外不改),模内映像保物理(内变,模不改)。

逻辑独立加字段,物理独立换硬盘。

8️⃣ 小测验(评论区对答案)

某数据库系统更换了底层的存储设备,从机械硬盘升级为SSD,但上层应用程序没有任何改动。这体现了数据库的( )。

A. 物理独立性

B. 逻辑独立性

C. 数据安全性

D. 数据完整性

🔔 本专栏日更,点击头像 → 专栏《软考中级高频考点》订阅,第一时间接收新内容

#软考中级 #软件设计师 #三级模式 #外模式 #模式 #内模式 #数据独立性 #软考备考

相关推荐
叫我:松哥1 小时前
基于 Flask 框架的学校信息管理系统,技术栈flask+MySQL+boostrap
数据库·flask
冰暮流星1 小时前
MySQL 流程函数详解
数据库·sql·mysql
Darling噜啦啦1 小时前
从零搭建单词管理系统:Next.js + Supabase + Drizzle ORM 全栈实战
数据库·orm·next.js
数据狐(Datafox)1 小时前
1688商品详情API技术解析与落地应用(含标准 JSON 示例)
java·数据库·json
M78佐菲1 小时前
Linux学习笔记:进程回收、exec函数簇与线程
linux·笔记·学习·算法
阿黎梨梨1 小时前
搭建一个单词管理后台:Next.js + Supabase + Drizzle
数据库·next.js
增量星球2 小时前
embedding专题之向量化革命:从关键词到语义检索
数据库·embedding
夕除2 小时前
redis--008
java·jvm·数据库
烬羽2 小时前
一个博客系统,为什么要拆成 6 张表?
数据库·mysql