数据库的体系结构分成三级:外部级、概念级和内部级。
外部级
外部级最接近用户是单个用户所能看到的数据特征,单个用户使用的数据视图的描述称为“外模式”。
概念级
概念级涉及到所有用户的数据定义,也就是全局性的数据视图,全局数据视图的描述称为“概念模式”。
内部级
内部级最接近于物理存储设备,涉及到物理数据存储的结构。物理视图的描述称为“内模式”。
数据库的三级模式结构是对数据的三个抽象级别。它把数据的具体组织留给数据库管理系统去做,用户只要抽象地处理数据,而不需要关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担。但是数据库的三级结构有很大的差别,为了实现三个抽象级别的相互转换,系统在三级结构中提供两个层次的映像:外模式/概念模式映像和概念模式/内模式映像。其中概念模式经常简称为模式。
三级结构的五个要素
概念模式
概念模式是数据库中全部数据的整体逻辑结构的描述,它由若干个概念记录类型组成,还包括记录之间的联系、数据的完整性和安全性等要求。描述概念模式的数据定义语言是“模式DDL”。
外模式
外模式是用户与数据库系统的接口,是用户用到的部分数据的描述。外模式由若干个外部记录类型组成。用户使用数据操作语言(DML)对数据库进行操作。描述外模式的数据定义语言称为“外模式DDL”。一般程序员不关心概念模式而只关心外模式。
内模式
内模式是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。事实上内部记录也不涉及物理设备的约束。有关物理方面的操作都是由操作系统完成的。
模式/内模式映像
模式/内模式映像存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。
外模式/模式映像
外模式/模式映像存在于外部级和概念级之间,用于定义外模式与概念模式之间的对应性。
两级数据的独立性
数据的独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。
物理数据独立性(物理独立性)
数据库内模式的修改尽量不影响概念模式、外模式和应用程序,只需要修改模式/内模式映像即可。
逻辑数据独立性(逻辑独立性)
数据库概念模式的修改不影响外模式和应用程序,只需要修改外模式/模式映像即可。