1.1数据库系统的结构
1.1.1数据库系统模式的概念
在数据模型中有“型type”和“值value”的概念,其中,型是指数据的结构和属性,值是型的一个具体赋值。
模式schema是数据库中全体数据的逻辑结构和特征的描述,模式的一个具体值称为模式的一个实例instance。模式是相对稳定的,而实例是相对变动的。
数据库在体系结构上有相同的特征,即采用三级模式结构并提供两级映像功能。
1.1.2数据库系统的三级模式结构
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。
模式:模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是数据库系统模式结构的中间层,是数据库数据在逻辑级上的视图,一个数据库只有一个模式,数据库管理系统提供模式数据定义语言严格定义模式。
外模式:外模式也叫子模式或用户模式,它是数据库用户能看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,是模式的子集,一个数据库可以有多个外模式。外模式是保证数据库安全性的一个有力措施,每个用户只能看到和访问所对应的外模式中的数据,数据库中的其余数据是看不见的。数据库管理系统提供外模式数据定义语言来严格定义外模式。
内模式:内模式也称存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
1.1.3数据库的二级映像功能与数据独立性
为了能够在系统内部实现这三个抽象层次的联系和转换,数据库管理系统在这三个模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。
外模式/模式映像:对于每一个外模式,数据库系统都有一个外模式/模式映像。当模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序时依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
模式/内模式映像:当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。
数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去。由于数据的存取由数据库管理系统管理,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。