关系数据库系统三级模式结构(数据库)
时间:2022-12-23 20:30:01 | 来源:信息时代
时间:2022-12-23 20:30:01 来源:信息时代
关系数据库系统三级模式结构 : 由外模式、模式和内模式构成的关系数据库系统的模式结构。其三级模式结构如图1所示。其中外模式对应于视图,模式对应于基本表,内模式对应于存储文件。
图1 关系数据库系统的三级模式结构
1. 外模式
外模式也称子模式或用户模式,它是面向数据库用户的局部数据逻辑结构和特征的描述。不同用户的应用需求如有差异,其外模式的描述就会不一样。即使是数据库中的同一数据,在不同外模式中被描述出的结构、类型、长度和保密级别也会不一样。外模式通常为模式的子集,一个数据库可以有多个外模式。
在关系数据库系统中,外模式对应于视图和部分基表。基表和视图都是关系(即表)。基表是存储在数据库中的表。视图是虚表,它是从基表或其他视图导出的表。视图的定义实际为一查询语句,被系统保存在数据字典中。每次调用视图时,执行对应的查询语句,导出的查询结果即为该视图的数据。所以,视图是一个虚表,其数据仍存放在导出该视图的基表之中。由此可见,视图是关系数据库系统提供给用户以多种角度观察数据库中数据的窗口,它简化了用户数据模型,提供了逻辑数据独立性,实现了数据共享和数据的安全保密。
2.模式
模式也称概念模式或逻辑模式,是数据库系统模式结构的中间层,是数据库中全体数据的逻辑结构和特征的描述。它既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的开发工具无关。数据库模式以数据库管理系统所支持的数据模型为基础,将所有用户的需求有机地结合成一个逻辑整体。定义模式时,不仅要定义数据的逻辑结构,还要定义数据之间的联系及数据的安全性和完整性要求。在关系数据库系统中,模式是关系模式的集合。
3. 内模式
内模式也称存储模式或物理模式。一个数据库只有一个内模式。它是数据物理存储结构和存储方式的描述,包括聚簇方式、索引类型、数据压缩方式和数据加密方式等。在关系数据库系统中,一个或若干个基表存放于一个存储文件中。一个表可以带若干个索引,索引也存储在存储文件中。每个存储文件就是外部存储器上的一个物理文件。存储文件中的逻辑结构组成了关系数据库的内模式。SQL语言本身不提供对内模式的操纵语句。
为了保证关系数据库系统中的数据能够具有较高的逻辑独立性和物理独立性,关系数据库管理系统在三级模式之间提供了两层映像:
外模式-模式映像:模式描述了数据的全局逻辑结构,外模式描述了数据的局部逻辑结构。一个模式可以有多个外模式,对于每一个外模式,关系数据库管理系统维护一个外模式-模式映像,定义了外模式与模式之间的对应关系。通常采用数据字典中的视图来记录这种映像。当模式改变时,数据库管理员只需要修改外模式-模式映像,就可以保证外模式不变,从而进一步保证了基于外模式的应用程序不需改变,保证了数据与程序的逻辑独立性。
模式-内模式映像:数据库中存在一个模式和一个内模式,模式-内模式映像唯一定义了数据的全局逻辑结构与存储结构之间的映射关系。当内模式改变时,数据库管理员只需要修改模式-内模式映像,就可以保证模式不变,从而进一步保证了基于模式的应用程序不需改变,保证了数据与程序的物理独立性。
数据库的三级模式和两层映像保证了数据的逻辑独立性和应用程序的稳定性,在数据库的三级模式中,描述了数据的全局逻辑结构的模式是中心和关键。内模式依赖于模式,但独立于外模式; 外模式面向数据库应用程序,定义在模式之上,但独立于内模式。