什么是数据库的三级模式两级映象?

三级模式两级映象结构图

概念

三级模式

  • 内模式:也称为存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。定义所有的内部记录类型、索引和文件组织方式,以及数据控制方面的细节。
  • 模式 :又称概念模式,就是我们通常使用的基本表。概念模式的一个具体值称为模式的一个实例,同一个模式可以有很多实例。概念模式反映的是数据库的结构及其联系,所以是相对稳定的;而实例反映的是数据库某一时刻的状态,是相对变动的。
  • 外模式 :对应数据库中的视图,将表进行一定处理后再提供给用户使用。也称用户模式或子模式,是用户与数据库系统的接口,是用户需要使用的部分数据的描述。

两级映象

  • 外模式/概念模式映象(逻辑映象):是表和视图之间的映象,存在于概念模式和外模式之间;若表中的数据发生了修改,只需修改此映象,而无需修改应用代码。
  • 概念模式/内模式映象(物理映象):是表和数据的物理存储之间的映象,存在于概念模式和内模式之间;若修改了数据的存储方式,只需要修改此映象,而无需修改应用代码

抽象

  • 视图层(View Level):最高层次的抽象,描述整个数据库的某个部分的数据,因为数据库系统的很多用户并不关系数据库中的所有信息,而只关心所需要的那部分数据。可以通过构建视图层来实现用户的数据需求,这样不仅使用户与系统交互简化,而且还可以保证数据的保密性和安全性。
  • 逻辑层(Logical Level):比物理层更高一层的抽象,描述数据库中存储的数据以及这些数据间存在的关系。逻辑层通过相对简单的结构(表)描述了整个数据库。尽管逻辑层简单结构的实现涉及了复杂的物理层结构,但逻辑层用户不必知道这些复杂性。
  • 物理层(Physical Level):最低层次的抽象,描述数据在存储器中是如何存储的。物理层详细地描述复杂的底层结构。

为什么要使用三级模式两级映象?

  1. 屏蔽复杂性:对用户屏蔽复杂性,简化用户与系统的交互。
  2. 解耦:不同层次的抽象,任何改动可以通过修改映象而无需修改应用程序。
  3. 有助于提高数据库管理的效率和可靠性。
    • 提高存储效率:通过将逻辑映象和物理映象分离,DBMS可以有效的管理存储。例如,他可以将数据对象放在不同的物理设备上以平衡负载;他可以使用不同的存储方法来优化访问速度。
    • 提高性能:数据库两级映象可以有效优化查询性能。DBMS使用查询优化器来生成物理计划,优化查询的执行方式,提高性能。
    • 维护数据一致性:由于逻辑映像和物理映像分离,DBMS可以执行一些维护操作,而不会影响到用户和应用程序。例如,它可以重构数据结构而不需要更改应用程序。还可以使用备份和还原技术来保护数据不受灾难性故障影响。
    • 提高安全性:数据库两级映像提高了数据库的安全性。DBMS可以使用各种安全功能,如访问控制和加密,以保护数据免受未经授权的访问。此外,如果数据库受到攻击或损坏,备份可以帮助恢复数据。
    • 提高可移植性:通过将逻辑映像和物理映像分离,DBMS可以使数据库更易于在不同的平台和操作系统上移植。逻辑映像是与特定平台无关的,因此可以在不同的操作系统和硬件上运行。此外,物理映像可以轻松移植到不同的存储设备上,例如磁带和光盘。
相关推荐
了一li2 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
码农君莫笑2 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
别致的影分身3 小时前
使用C语言连接MySQL
数据库·mysql
京东零售技术4 小时前
“慢”增长时代的企业数据体系建设:超越数据中台
数据库
sdaxue.com4 小时前
帝国CMS:如何去掉帝国CMS登录界面的认证码登录
数据库·github·网站·帝国cms·认证码
o(╥﹏╥)5 小时前
linux(ubuntu )卡死怎么强制重启
linux·数据库·ubuntu·系统安全
阿里嘎多学长5 小时前
docker怎么部署高斯数据库
运维·数据库·docker·容器
Yuan_o_5 小时前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
Sunyanhui16 小时前
牛客网 SQL36查找后排序
数据库·sql·mysql
老王笔记6 小时前
MHA binlog server
数据库·mysql