• 数据库的三级模式与二级映像


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

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

    三级模式结构分别是:外模式、模式、内模式
    二级映像功能分别是:外模式/模式映像、模式/内模式映像
    从下图我们就可以分别看到这三级模式和两级映像所在的位置了
    在这里插入图片描述
    (图片来自百度百科)

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

    外模式(external schema)

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

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

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

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

    模式(schema)

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

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

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

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

    内模式(internal schema)

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

    稍微整理一下就是:

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

    外模式/模式映像

    该映像定义了外模式与模式之间的对应关系,这些映像定义通常都包含在各自外模式的描述中。因为是由每一个外模式来定义,因此该映像不唯一
    当模式改变时(增加新的关系、新的属性、改变属性的数据类型等),只要数据库管理员修改外模式/模式映像,则可以使外模式不发生变化,即可以让应用程序不用进行修改,保证了数据的逻辑独立性。

    模式/内模式映像

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

    最后一个小小的总结(不严谨):
    外模式对应视图
    模式对应基本表
    内模式对应存储文件

  • 相关阅读:
    light oj 1105 规律
    light oj 1071 dp(吃金币升级版)
    light oj 1084 线性dp
    light oj 1079 01背包
    light oj 1068 数位dp
    light oj 1219 树上贪心
    light oj 1057 状压dp TSP
    light oj 1037 状压dp
    矩阵快速幂3 k*n铺方格
    矩阵快速幂2 3*n铺方格
  • 原文地址:https://www.cnblogs.com/yinyoupoet/p/13287441.html
Copyright © 2020-2023  润新知