mysql三级模式和二级映射_数据库的三级模式与二级映像

在数据库中,模型是数据库中全体数据的逻辑结构和特点的描述,这种描述仅涉及“型”,而不涉及“值”,因此模式是相对稳定的。

而现实世界中的数据库,尽管使用的语言、存储的策略、支持的数学模型等等方面都有不同,但是他们的体系结构大都是一样的,即所谓的三级模式结构。

三级模式结构分别是:外模式、模式、内模式

二级映像功能分别是:外模式/模式映像、模式/内模式映像

从下图我们就可以分别看到这三级模式和两级映像所在的位置了

ed12aba6e58af0b8486a493a3e31734c.png

(图片来自百度百科)

下面我们来对其进行详细讲述:

外模式(external schema)

外模式又称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)所能看见和使用的局部数据的逻辑结构和特征的描述。是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。(抄书…)

通俗点说:外模式就是数据表的一个视图,这个视图里包含了当前用户(或者程序)所能有权限访问到的数据,是整个数据表的一个子集。

由此我们可以看出,外模式并不唯一,一个数据库对于不同的应用程序可以有多个外模式,当然不同的应用程序也可以共用一个外模式。

外模式的主要特色就是有效地保证了数据库的安全,用户只能看见或访问其所对应的外模式的数据,而看不到其他的数据。

模式(schema)

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

再次强调,这三个模式描述的都是“型”,而非“值”。

简单说呢,这个模式就是数据库的完整的表的结构,和外模式相比较而言的话,外模式的视图只能看到一部分有权限看到的数据,而模式则是全部的数据。因此也很容易知道,一个数据库只有一个模式。

感觉模式和外模式是不是有一丝丝的相似,这是当然,因为外模式就是模式经过外模式/模式映射得到的。

内模式(internal schema)

内模式相较前两个模式就不太类似了,它描述的是数据的物理结构和存储方式,即数据在数据库内部的组织方式。比如数据是不是要压缩存储,索引是采用B+树索引还是Hash索引等等。

当然咯。一个数据库也只有一个内模式。

稍微整理一下就是:

外模式是用户有权看到的数据表的视图,是不完整的数据表,它能够在一定程度上保证数据库的安全。一个数据库可以有多个外模式。

模式是完整的数据表视图,一个数据库只能由一个模式。

内模式是数据库内部数据的组织方式,一个数据库也只有一个内模式。

外模式/模式映像

该映像定义了外模式与模式之间的对应关系,这些映像定义通常都包含在各自外模式的描述中。因为是由每一个外模式来定义,因此该映像不唯一

当模式改变时(增加新的关系、新的属性、改变属性的数据类型等),只要数据库管理员修改外模式/模式映像,则可以使外模式不发生变化,即可以让应用程序不用进行修改,保证了数据的逻辑独立性。

模式/内模式映像

因为模式和内模式在数据库中都是唯一的,因此该映像也是唯一的。

与上面类似,本映像保证了在数据库存储结构发生改变时,模式不会发生变化,只需修改该映像即可。因此它保证了数据的物理独立性。

最后一个小小的总结(不严谨):

外模式对应视图

模式对应基本表

内模式对应存储文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值