知识点篇|数据库系统的三级模式与两层映像

数据库系统的三级模式结构

模式(逻辑模式)

数据库全体数据的逻辑结构和特征的描述

所有用户的公共数据视图

中间层逻辑级

外模式(子模式/用户模式)

数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

数据库用户的数据视图

与某一应用有关的数据的逻辑表示

模式的子集

内模式(存储模式)

一个数据库只有一个内模式

数据物理结构和存储方式的描述

数据在数据库内部的组织方式

f79ef4b55b1142d2af37252c8029a1b9.webp

数据库的二级映像

外模式/模式映像

定义外模式与模式之间的对应关系

当模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。

应用程序仅依据外模式编写,保证数据的逻辑独立性

模式/内模式

定义数据全局逻辑结构与存储结构之间的对应关系

当存储结构改变时,由数据库管理员对各个模式/内模式的映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证物理独立性。


直接看这些晦涩难懂的概念可能无法完全准确理解其意义,那么让我们来举一个贴近生活的例子。

明天 疯狂星期四(V ME 50,继续看接下来的重磅知识点)

你想吃汉堡,要那种:两片烤的香喷喷的面包皮,中间夹着令人疯狂分泌唾液的肉和菜,简直就是人间仙品,但具体口味你还没想好。

于是你来到一家汉堡店,看着菜单栏上的香辣鸡腿堡,新奥尔良烤鸡腿堡,双层嫩牛堡,藤椒风味鸡排堡……

e2c18bab1c114faca0fe30b747d49fb9.png

 

画面感有了,肚子也饿了,那让我们回到三层结构这个知识(芝士)点上。

汉堡,所有人都知道它大致的样子,就像上面描述的一样(两块面包皮夹着肉和菜)。这就是汉堡的概念,我们可以把它看做数据库的逻辑模式即模式,也就是三层模式结构的中间层。

那么菜单上的各种口味的汉堡分身,就可以视为外模式(用户模式)。鸡肉,牛肉还是素食,全都由用户直接接触和选择。你可以看到,且只能看到你选择的这款汉堡,在两片面包皮里加了什么,以及它的价格等。但你不可能知道它的制作方法,面包皮里有多少面粉,调味酱里到底加了什么。

而内模式就可以是汉堡的制作和存储秘方,像美味蟹黄堡秘方一样,痞老板不知道,比奇堡居民不知道,同样你也不知道。但蟹黄堡秘方决定了蟹黄堡的制作流程,配料,比例等等,就像数据需要规定排序方式,存储记录结构等等。

9d3cdafa0ec74eb189133d20684158ea.png

 

那么外模式/模式映像就像是餐厅的菜单与顾客点的汉堡之间的关系。餐厅的菜单(模式)提供了所有可供选择的汉堡种类(外模式),顾客根据自己的喜好(用户视图)选择特定的汉堡。即使餐厅内部改变了某些汉堡的配方(模式的变更),只要这些变更不影响顾客点的汉堡(外模式),顾客就不需要知道这些变化(可能它为了提高盈利悄悄减少了配方的沙拉酱含量,从原来的两圈变成一圈,但店家才不会告诉你嘞)

 

那么,模式与内模式之间的映像就像是餐厅的后厨与菜单之间的关系。餐厅的菜单(模式)定义了汉堡的组成,而后厨(内模式)负责具体的制作和存储。如果后厨改变了烹饪方法(内模式的变更),比如今天的鸡排少炸了10秒,只要这些变更不影响菜单上汉堡的描述(概念模式),顾客也不需要知道这些变化,吃就完了!

 

个人理解,如有不合理的地方请指出

谢谢(^0^)/

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值