考点频率 :★★★★★(数据库基础必考,选择题每年至少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. 数据完整性
🔔 本专栏日更,点击头像 → 专栏《软考中级高频考点》订阅,第一时间接收新内容
#软考中级 #软件设计师 #三级模式 #外模式 #模式 #内模式 #数据独立性 #软考备考