从数据库应用开发人员的角度来说, 数据库的结构一般采用三级模式结构,这属于数据库系统内部的系统结构。
从数据库用户角度来说,数据库系统的结构就有单用户结构、主从式结构、分布式结构、客户-服务器C/S、浏览器-服务器B/S等结构。
模式 schema
是数据库中全体数据的逻辑结构和特征的描述,仅仅是对数据库的一个定义,类似于C++中的类,模式的具体值称为模式的实例 instance 也就是类的对象。
模式是相对稳定的,实例是相对变动的。因为数据库中的数据是在不断更新的。模式反映的是数据的结构及其联系,而实例仅仅是数据库某一时刻的状态。
三级模式结构
是数据库的结构,有外模式、模式和内模式三级构成。
外模式:也称为子模式/用户模式,是数据库用户看见、使用的部分数据的逻辑结构和特征的描述,是数据库用户的数据视图
外模式是保证数据库安全性的一个重要措施,每个用户仅可见自己权限内的一部分数据,其余数据不可见。
外模式是模式的一个子集,一个数据库通常有多个外模式
模式:又称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
模式是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境、也不涉及具体的应用程序、开发工具和高级程序设计语言
一个数据库只有一个模式,统一综合考虑了所有的需求,并整合成一个逻辑整体
内模式:也称为存储模式,一个数据库只有一个内模式。是数据库物理结构和存储方式的米哦啊叔,是数据在数据库内部的组织形式。
两级映像
数据库的三级模式是数据的三个抽象表示,用户可以从逻辑使用角度处理数据,而不关心计算机中数据的具体表示和存储。三级模式之间通过两级映像来联系。
两级映像包括:外模式/模式、模式/内模式
外模式/模式,定义了外模式与模式之间的对应关系。模式改变的话,数据库管理员DA也需要多外模式/模式之间的映像作出改变,使得外模式保持不变。应用程序是根据数据的外模式编写的,从而应用程序也不用改变,保证了数据与程序的逻辑独立性,即数据的逻辑独立性
模式/内模式,是指当数据库的存储结构改变的时候,DA要对模式/内模式映像作出修改,使得模式不变,从而上层的模式/外模式不变,保证了数据与程序的物理独立性