三层结构:外模式、模式、内模式
一、外模式
用户模式、子模式,是数据库用户与数据库系统的接口。
一个数据库有多个外模式,根据用户在应用需求等方面的差异有所不同,一个应用程序只能使用一个外模式,但同一外模式可为多个应用程序所使用。
外模式是保证数据库安全的重要措施。每个用户只能看见和访问所对应的外模式中的数据。
二、模式
可分为概念模式、逻辑模式,是所有数据库用户的公共数据视图,是数据库中全部数据的逻辑结构和特征的描述。
一个数据库只有一个模式。其中概念模式可用实体-联系模型来描述,逻辑模式 以某种数据模型为基础形成全局逻辑结构
模式不但要描述数据的逻辑结构,如数据记录的组成,还有描述数据之间的关系、数据的完整性、安全性。
三、内模式:存储模式
是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。
一个数据库只有一个内模式。描述记录的存储方式、索引的组织方式、数据是否压缩、是否加密等
数据库模式是数据库的核心与关键。
外模式通常是模式的子集,数据按外模式的描述提供给用户,按内模式的描述存储在硬盘上,模式介于两者之间,不涉及外部访问与内部存储,有利于保持数据的独立性。
两层映像功能
外模式/模式映像
通过外模式与模式之间的映像把描述局部逻辑的外模式与描述全局逻辑结构的模式联系起来。外模式/模式映像通常放在外模式中描述。每个外模式都有一个外模式/模式映像来描述外模式与模式之间的关系。
例:当修改属性或属性类型时只需修改外模式/模式映像,使外模式保持不变,则以外模式为依据的应用程序不受映像,从而保证了数据与程序之间的逻辑独立性,也就是数据的逻辑独立性 。
模式/内模式映像
通过模式与内模式之间的映像把描述全局逻辑的外模式与描述物理结构的模式联系起来。外模式/模式映像通常放在内模式中描述。只有一个
例:当存储设备或存储方式有所改变时,只要修改模式/内模式映像,使模式保持不变,则应用程序不受映像,从而保证了数据与程序之间的物理独立性,也就是数据的物理独立性 。
由于有两层映像,在内模式发生变化,甚至模式发生变化时,都可以使外模式在最大限度上保持不变,由于应用程序是在外模式所描述的数据结构的基础上编写的,外模式的稳定性就保证了应用程序的稳定性,所以,采用三层模式、两层映像为系统提供了高度的数据独立性。