以下这些概念比较枯枯燥,若学好数据库,还是了解下基础的东西,在实际中感觉好象没有应到,但是系统化的学习还是有了解的必要。
ANSI将数据库结构分为3级:面向用户或应用程序员的用户级、面向建立和维护数据库人员的概念级、面向系统程序员的物理级。
外模式、模式、内模式;
1.外模式是特定用户面对的数据视图。外模式又称子模式或用户模式,对应于用户级。不同的用户可以有不同的数据视图,且可能有重复和交叉。在很多情况下,外模式描述的是整个数据库中部分数据,而且外模式通常是逻辑视图的描述,并不实际存储数据。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来
描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Language,DML)对这些数据记录进行操作。
2.模式是数据库中全部数据的逻辑描述,模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数据模式描述语言(Data Description Language)来描述、定义的,体现、反映了数据库系统的整体观。侧重于全部数据的合理组织,包括数据的冗余性、安全性、完整性等等。
3.内模式是数据库中数据的内部组织描述,内模式又称存储模式,侧重于数据的物理组织,包括其存储方式、索引组织、存储块的使用等等,与机器的物理环境有关。它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。在一个数据库系统中,只有唯一的数据库, 因而作为定义 、描述数据库存储结构的内模式和定义、描述数据库逻辑结构的模式,也是唯一的,但建立在数据库系统之上的应用则是非常广,所以对应的外模式不是唯一的,也不可能是唯一的。
【备注:以下一段内容是摘抄,因为感觉写得不错,分享给大家】
数据库的三级模式是数据库在三个级别 (层次)上的抽象,使用户能够逻辑地、抽象地处理数据而不必关心数据在计算机中的物理表示和存储。实际上 ,对于一个数据库系统而言一有物理级数据库是客观存在的,它是进行数据库操作的基础,概念级数据库中不过是物理数据库的一种逻辑的、抽象的描述(即模式),用户级数据库则是用户与数据库的接口,它是概念级数据库的一个子集(外模式)。
用户应用程序根据外模式进行数据操作,通过外模式一模式映射,定义和建立某个外模式与模式间的对应关系,将外模式与模式联系起来,当模式发生改变时,只要改变其映射,就可以使外模式保持不变,对应的应用程序也可保持不变;另一方面,通过模式一内模式映射,定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,当数据的存储结构发生变化时,只需改变模式一内模式映射,就能保持模式不变,因此应用程序也可以保持不变。