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

考点频率 :★★★★★(数据库基础必考,选择题每年至少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. 数据完整性

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

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

相关推荐
白远山7 小时前
健身场馆无人自动化解决方案:从架构到落地实践
java·开发语言·数据库·数据挖掘·需求分析
虎虎(_ _)。゜zzZ7 小时前
SQLAlchemy入门教程
数据库·后端·python·sql·ai·sqlalchemy
Data_Journal8 小时前
如何将网页抓取用于机器学习
大数据·开发语言·数据库·python·scrapy
谢白羽9 小时前
MiniMax-H3 : 4卡 H20-3e一套权重部署实践/8卡H200部署优化实测
笔记·llm·论文·大模型部署·sglang
Lyra_Infra9 小时前
从 MySQL 到达梦:一次信创隔离环境里的数据库迁移踩坑实录
数据库·后端·mysql
数据工匠老o9 小时前
sysbench/TPC-C/自定义脚本:数据库压测工具对比与实战流程
数据库·测试
志尊宝9 小时前
Vue3 零基础每日笔记(024):组件的创建与使用——从 import 到自动导入
前端·vue.js·笔记·前端框架·html5
数安3000天9 小时前
数据分类分级产品有哪四类技术路线?
大数据·数据库
泡茶喝茶写代码9 小时前
量化数据开发实战系列(第 25 篇):基金基础接口实战:基金列表、ETF-LOF 分类、基金概况、净值数据
java·数据库·人工智能·python·mysql
张小姐的猫9 小时前
【AI大模型接入SDK】 —— 数据管理 & 与Session模块进行联动
数据结构·数据库·c++·人工智能·python·chatgpt