数据库 模式 视图 索引

数据库 模式 视图 索引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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【树莓派】树莓派4B新手篇:安装官网Raspbian Buster系统及基础配置

    【树莓派】树莓派4B新手篇:安装官网Raspbian Buster系统及基础配置目录1、前言2、树莓派4B有什么特色?3、树莓派新手准备4、烧录RaspbianBuster系统到MicroSD卡开启SSH及配置无线连接5、启动安装树莓派系统启动树莓派6、树莓派的基本配置6.1系统配置6.2更改apt软件源与系统源6.3更改pip源6.4安装远程桌面6.5安装中文字体1、前言对于很多程序员而言,树莓派如今…

    2022年6月12日
    78
  • Unix与Linux的历史

    Unix与Linux的历史

    2021年9月13日
    55
  • android无线投屏到电视盒子,【沙发管家】教你如何把电脑视频投屏到智能电视/电视盒子上!…[通俗易懂]

    原标题:【沙发管家】教你如何把电脑视频投屏到智能电视/电视盒子上!多屏互动是个什么东东呢?平时喜欢折腾的童鞋可能会了解一点,小编用通俗的话给大家解释下,多屏互动就是通过软件、协议,在同系统或者不同系统的智能硬件推送或者镜像播放。好吧,也不算太通俗。再解释一下,例如WINDOWS系统投射(镜像)至安卓(手机、平板、电视),安卓手机推送内容或者屏幕镜像至安卓端(智能机顶盒、电视)。其实目前多屏互动的精…

    2022年4月11日
    99
  • 蓝桥杯真题总结(蓝桥杯考什么)

    Python获取每一位的数字,并返回到列表:方法一:whilevalue:result.append(value%10)value=value//10#逆序,按正常的顺序返回result.reverse()方法二:list(map(int,str(value)))方法三:#divmod()是内置函数,返回整商和余数组成的元组result=[]whilevalue:value,r=divmod(value,1

    2022年4月16日
    144
  • pycharm实现基于mysql关键词检索问题

    pycharm实现基于mysql关键词检索问题       后端是使用pycharm写的       单个关键词的检索实现如下:defadProQuery(): content=request.form.get(‘ad_proSearch’)#需要查询的内容ifcontentisNone:content=””pros=Cy_regist.query.f

    2022年8月27日
    4
  • idea在方法上自动生成注释_idea中如何快速注释

    idea在方法上自动生成注释_idea中如何快速注释目录目录生成类注释生成类注解模板生成方法注释生成方法注解模板最近从eclipse转idea了,第一步当然是配置快捷键,模板等。但是!发生了一件贼蛋疼的事情,竟然一直找不到正确添加方法注释的方法!最后自己摸索到了,在此详细记录,供大家参考。本人用的ideaformac,可能快捷键不同,但是设置等肯定是相同的生成类注释打开PreferencesEditor->Fil

    2022年9月30日
    4

发表回复

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

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