1.3 数据库系统的结构
1.3.1 数据库系统模式的概念
从数据库应用开发人员角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构。
从数据库最终用户角度看,数据库系统的结构分为:
-
客户/服务器结构(Client/Server)
-
浏览器/服务器结构(Browser/Server)
-
分布式结构
“型”和“值”的概念: -
型(Type):对某一类数据的结构和属性的说明,说的是这一类数据的共性。
-
值(Value):是型的一个具体赋值。
模式(Schema): -
数据库逻辑结构和特征的描述;
-
是型的描述;
-
反映的是数据的结构及其联系;
-
模式是相对稳定的。
模式的一个实例(Instance) -
模式的一个具体值;
-
反映数据库某一时刻的状态;
-
同一个模式可以有很多实例;
-
实例随数据库中的数据的更新而变动。
1.3.2 数据库系统的三级模式结构
1.模式(Schema)
也称逻辑模式,数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图。一个数据库只有一个模式。
模式的地位:是数据库系统模式结构的中间层。
-
与数据的物理存储细节和硬件环境无关;
-
与具体的应用程序、开发工具及高级程序设计语言无关。
定义模式: -
定义数据的逻辑结构(数据项的名字、类型、取值范围等)。
-
定义数据之间的联系。
-
定义数据有关的安全性、完整性要求。
外模式(Extenal Schema)
也称子模式或用户模式,数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
外模式的地位:介于模式与应用之间。
模式与外模式的关系: -
一对多;
-
外模式通常是模式的子集;
-
一个数据库可以有多个外模式。
内模式(Internal Schema)
也称存储模式,一个数据库只有一个内模式。是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。 -
记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储);
-
索引的组织方式;
-
数据是否压缩存储;
-
数据是否加密;
-
数据存储记录结构的规定。
1.3.3 数据库系统的两级映像
三个模式之间并不是独立的,而是相互关联的,通过两种映像相互关联起来。
关系数据库对三级模式结构的支持。
1.外模式/模式映像
定义外模式与模式之间的对应关系;每一个外模式都对应一个外模式/模式映像;映像定义通常包含在各自外模式的描述中。在数据库中有多个外模式,于是就有多个模式映像。
保证数据的逻辑独立性:当模式改变时,数据库管理员修改有关的外模式/模式映像,使外模式保持不变;应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
2.模式/内模式映像
模式/内模式映像定义了数据全局逻辑结构与存储结构之间的对应关系;数据库中模式/内模式映像是唯一的;该映像定义通常包含着模式描述中。
保证数据的物理独立性:当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映像,使模式保持不变;应用程序不受影响,保证了数据与程序的物理独立性,简称数据的物理独立性。
从数据库应用开发人员角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构。
从数据库最终用户角度看,数据库系统的结构分为:
- 客户/服务器结构(Client/Server)
- 浏览器/服务器结构(Browser/Server)
- 分布式结构
客户/服务器结构:数据库服务器主要用于存放数据,提供数据访问服务。客户端主要用于运行应用程序,处理业务逻辑。
浏览器/服务器结构:数据库服务器主要用于存放数据,提供数据访问服务。web服务器主要用于运行应用程序,处理业务逻辑。客户端安装浏览器即可,足够简单。
分布式结构:地理上分散,逻辑上集中的数据库系统。