《深入探究DB三级模式结构:最接近外部存储器的模式》
图片来源于网络,如有侵权联系删除
一、DB的三级模式结构概述
数据库(DB)的三级模式结构是对数据的抽象的三个级别,这三个级别分别是外模式、模式和内模式,这种结构有效地将用户对数据的逻辑视图、数据库的整体逻辑结构以及数据在存储介质上的物理结构分离开来,提供了高度的数据独立性、安全性和易于维护性等诸多优点。
1、外模式(External Schema)
- 外模式也被称为子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看到和使用的局部数据的逻辑结构和特征的描述,外模式是从特定用户的角度对数据库数据的视图,一个数据库可以有多个外模式,在一个企业资源管理系统中,不同部门(如销售部门、财务部门)可能有不同的外模式,销售部门可能主要关注客户订单信息、客户联系方式等,而财务部门则更关心订单的金额、付款记录等,外模式定义了用户与数据库交互的接口,它隐藏了数据库的复杂性,使用户可以按照自己的需求方便地操作数据。
- 外模式使用数据定义语言(DDL)来定义,它可以对模式中的数据进行有选择的抽取、组合和重新定义,这样,不同用户可以根据自己的权限和需求看到不同的数据表现形式,同时也提高了数据的安全性,因为用户只能访问和操作自己的外模式所定义的数据,无法直接访问其他用户的外模式或者数据库的底层数据。
2、模式(Schema)
- 模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,它是对数据库中数据的一种整体的、抽象的表示,独立于数据库的物理存储结构和具体的应用程序,模式定义了数据库的基本结构,包括数据库中的实体、实体的属性以及实体之间的关系等,在一个学生管理数据库中,模式会定义学生实体(包含学号、姓名、年龄、专业等属性)、课程实体(包含课程号、课程名、学分等属性)以及学生与课程之间的选课关系(包含学号、课程号、成绩等属性)。
- 模式是数据库设计的核心,它为数据库管理员(DBA)提供了一个统一管理和维护数据库的基础,当数据库的需求发生变化时,如需要添加新的实体或者修改实体之间的关系,DBA可以通过修改模式来适应这些变化,而这种修改对外部应用程序的影响可以通过外模式 - 模式映射来尽量减小,模式使用DDL来定义,并且在数据库管理系统(DBMS)中以数据字典的形式进行存储和管理。
图片来源于网络,如有侵权联系删除
3、内模式(Internal Schema)
- 内模式是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述,它定义了数据在存储介质(如磁盘)上的组织方式、索引结构、数据压缩和加密等存储细节,内模式会规定数据是以何种文件格式存储在磁盘上,是顺序存储还是随机存储,是否采用了哈希索引或者B - 树索引等,内模式是最接近外部存储器的模式,它直接与数据库的物理存储相关联。
- 内模式的设计需要考虑到存储效率、数据访问速度、存储空间的利用等因素,不同的数据库管理系统可能采用不同的内模式,关系型数据库和非关系型数据库在数据的物理存储结构上就有很大的差异,内模式由DBMS内部进行管理,用户和应用程序一般不需要直接访问内模式,而是通过外模式和模式来操作数据。
二、内模式最接近外部存储器的原因
1、物理存储的映射
- 内模式直接负责将数据库中的数据映射到外部存储器(如磁盘)上的实际存储位置,它规定了数据在磁盘上是以何种文件组织形式存在的,是采用堆文件组织方式,数据按照插入的顺序依次存储;还是采用索引文件组织方式,通过索引结构来提高数据的查找效率,这种对物理存储的直接管理使得内模式成为与外部存储器联系最为紧密的模式,当数据需要从外部存储器中读取或者写入时,内模式中的存储结构定义决定了数据的读写方式。
- 在一个大型的数据库系统中,如果内模式采用了分区存储的方式,将不同类型的数据存储在磁盘的不同分区中,那么在进行数据的I/O操作时,系统会根据内模式的定义直接从相应的分区中读取或者写入数据,这种与外部存储器物理存储位置的紧密联系是其他模式所不具备的。
2、存储管理的细节
图片来源于网络,如有侵权联系删除
- 内模式还涉及到许多关于存储管理的细节,如数据的块大小、缓冲区管理等,数据块大小的定义直接影响到磁盘I/O的效率,合适的块大小可以减少磁盘的寻道时间和数据传输时间,缓冲区管理则是为了提高数据的访问速度,通过在内存中设置缓冲区,将经常访问的数据缓存起来,减少对外部存储器的直接访问,这些存储管理的细节都是内模式的一部分,它们都是为了更好地与外部存储器进行交互,提高数据库系统的整体性能。
- 如果内模式规定的数据块大小过小,可能会导致在读取大量数据时需要频繁地进行磁盘I/O操作,降低系统效率;而如果数据块大小过大,可能会造成内存缓冲区的浪费,内模式需要根据数据库的特点和外部存储器的性能来合理地确定这些存储管理的参数,以达到最佳的性能平衡。
3、数据的物理表示
- 内模式定义了数据在外部存储器上的物理表示形式,包括数据的编码方式、数据的压缩和加密等,数据的编码方式决定了数据在磁盘上是以何种二进制形式存储的,不同的数据类型可能有不同的编码方式,数据的压缩可以有效地减少数据占用的存储空间,提高磁盘的利用率;数据的加密则可以提高数据的安全性,这些数据的物理表示都是内模式的重要组成部分,它们直接与外部存储器相关联。
- 对于一个包含大量文本数据的数据库,如果内模式采用了合适的压缩算法(如Lempel - Ziv - Welch压缩算法),可以将文本数据压缩后存储在磁盘上,这样不仅可以节省存储空间,还可以在一定程度上提高数据的传输速度,因为压缩后的数据在磁盘和内存之间传输的数据量减少了,加密算法(如AES加密算法)可以保护数据的安全性,防止数据在外部存储器上被非法获取。
在数据库的三级模式结构中,内模式是最接近外部存储器的模式,它通过对数据的物理存储结构、存储管理细节和物理表示等方面的定义,直接与外部存储器进行交互,为数据库系统的高效运行和数据的安全存储提供了重要的保障。
标签: #外部存储器
评论列表