数据库 模式 视图 索引

数据库 模式 视图 索引1、外模式、模式、内模式之间的区别及其映射关系       从数据库管理系统角度看,数据库系统通常采用三级模式结构:外模式、模式、内模式,这是数据库管理系统内部的系统结构。在数据模型中有“型”(Type)和“值”(Value)的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。数据库系统的模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及具体的值。模式的…

大家好,又见面了,我是你们的朋友全栈君。

1、外模式、模式、内模式之间的区别及其映射关系

       从数据库管理系统角度看,数据库系统通常采用三级模式结构:外模式、模式、内模式,这是数据库管理系统内部的系统结构。在数据模型中有“型”(Type)和“值”(Value)的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。数据库系统的模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及具体的值。模式的一个具体值成为模式的一个实例(Instance),同一个模式可以有多个实例。模式是反映数据的结构及其联系的,其实相对稳定的。而实例反映的是数据库某一时刻的状态,其随着数据库中数据的的更新处于相对变动中。

1)模式:(全体数据  1个)也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用、所使用的应用开发工具及高级程序设计语言无关。模式实际上是数据库数据在逻辑上的视图,一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据相关的安全性、完整性要求。

2)外模式:(部分数据(子集)  多个)也称为子模式或用户模式,它是数据库用户所能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。对于不同的用户应用需求,外模式的描述也不同,所以一个数据库可以有多个外模式。另外,同意外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式,即一个用户只能看见和访问其所对应的外模式中的数据。

3)内模式:(内部存储  1个)也称为存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,一个数据库只有一个内模式,其对数据库用户是透明的。

由上述可以看出,模式、外模式、内模式是对数据的3个抽象级别,模式是外模式和内模式之间的桥梁。在数据库内部是通过外模式/模式、模式/内模式两层映像将其联系起来,从而为数据提供较高的逻辑独立性和物理独立性。

1)模式描述的是数据的全局逻辑结构,而外模式描述的是数据的局部逻辑结构。当模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。而应用程序是依据数据的外模式编写的,从而应用程序不必改变,保证了数据与程序的逻辑独立性。

2)模式与内模式描述了数据的全局逻辑结构和存储结构之间的对应关系。当数据库的存储结构改变时,有数据库管理员对模式/内模式映像进行相应的改变,从而保证模式可以保持不变。从而应用程序不用改变,保证了数据的物理独立性。

2、关系数据库管理系统(RDBMS)中模式与视图、基本表之间的对应关系

         在关系数据库中,一个关系就对应数据库中的一个基本表(实体表)。支持SQL的RDBMS也支持数据库三级模式结构,其中外模式对应于视图和部分基本表,模式对应于基本表,而内模式对应于存储文件

1)基本表:它是本身独立存在的表,在SQL中,一个(或多个)基本表对应于一个存储文件,一个表可以带若干索引,索引也可以存放在存储文件中。存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构是任意的,对用户是透明的。

2)视图是从一个或几个基本表导出的表,它本身并不单独存储在数据库中,即数据库中存放视图的定义而不存放视图对应的数据。这些数据仍在导出视图的基本表中,因此视图是一个虚表。

可视化工具查看视图:

数据库 模式 视图 索引

它们之间的对应关系如下图所示:

数据库 模式 视图 索引

3、索引

        索引就是一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它类似于书得目录,不需要查询整本书内容就可以找到想要的数据,索引可以是唯一的,创建索引允许指定单个列或多个列。建立索引是加快查询的有效手段,但是它减慢了数据录入的速度,同时也增加了数据库尺寸大小。

——————— 本文来自 yangqingna_1986 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/yangqingna_1986/article/details/6585085?utm_source=copy

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163014.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月22日 下午5:46
下一篇 2022年7月22日 下午5:46


相关推荐

  • 读书笔记:《冠军记忆术》

    读书笔记:《冠军记忆术》这本书是在北京出差时买的 一些记忆书都是外国人写的 里面的一些联想方法与中国人的习惯不太一样 这本书是一个中国人合著的 所以就买下看看了 参加工作的人更讲究逻辑思维 不必强行记住一大堆的材料了 并且经常随身带着手机 连着 3G 网络 而作为学生来说 有大量的记忆任务 还是值得一学的 nbsp 一开始的关于 GQ 记忆熵的测试直接跳过去了 对于没有学过记忆术的人来说 这些测试是一场折磨 第 1 章 我们

    2026年3月20日
    2
  • java中的new BufferedReader(new InputStreamReader(System.in))「建议收藏」

    java中的new BufferedReader(new InputStreamReader(System.in))「建议收藏」流JAVA/IO基本小结通过一行常见的代码讨论:newBufferedReader(newInputStreamReader(System.in))java的IO是基于流(stream)概念的,什么是流呢,作为初学者,我是这样理解的,在各个应用之间传送的是BITS,这些BIT可已被认为是流体,可以就认为是水流,那么用来在各个水源之间转移水的工具应该选择什么呢?一般情况下,水管…

    2026年4月14日
    4
  • 不会报错的Matlab2018a安装包[通俗易懂]

    不会报错的Matlab2018a安装包[通俗易懂]matlab2018a的百度云盘链接:https://pan.baidu.com/s/1972rkmKFw1xZLXfnYtNv-Q提取码:k6hc(永久有效)安装包内含有详细的安装教程的word文档。安装完如下:

    2022年6月3日
    36
  • 安装pcre时出现configure: error: C compiler cannot create executables错误

    安装pcre时出现configure: error: C compiler cannot create executables错误这种编译不通过问题 大致是两方面造成的 一方面可能是 gcc 的问题 一般是 gcc 缺少 链接不对 或者版本不对 过低或过高 有可能是在装其他软件时候 gcc 被无意破坏过 或者系统是 mini 版的 相关配置不全等造成的 这时候如果可以 最好重装对应版本的 gcc 即可解决 另一方面可能是要安装的软件缺少相关依赖包 导致编译不通过 这时候要先安装缺少的依赖 全部依赖包或者依赖软件安装完后 执行 conf

    2026年3月18日
    2
  • java全排列递归算法_java排列组合代码实现

    java全排列递归算法_java排列组合代码实现一、排列1、计算公式如下:2、使用方法,例如在1,2,3,4,5中取3个数排列:3、全排列当m=n时,结果为全排列。例如1,2,3,4的全排列如下:4、代码实现求无重复数组的全排列 /** *循环递归获取给定数组元素(无重复)的全排列 * *@paramoriList原始数组 *@paramoriLen原始数组size *@paramarrayCombResult数组排列结果集,可传null或空Set *@parampreList记录排列参数

    2022年8月31日
    4
  • OpenClaw 安装指南【详细保姆级教程,含常见问题解决方案】

    OpenClaw 安装指南【详细保姆级教程,含常见问题解决方案】

    2026年3月13日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号