1.3 数据库系统结构
1.3.1 三级模式内部结构
1.三级模式结构
数据库系统的三级模式结构也叫数据模式,是指数据库系统是由外模式、模式和内模式三级构成,如图1-3所示。
图1-3 数据库系统的三级模式结构
(1)外模式(External Schema)
外模式也称子模式或用户模式,它是对数据用户(包括程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
(2)模式(Schema)
模式也称逻辑模式,它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序无关。模式实际上是数据库在逻辑上的视图。一个数据库只有一个模式。它是用模式描述语言来描述的,是系统分析员及数据库管理员所看到的全局数据库视图。
(3)内模式(Internal Schema)
内模式也称存储模式,一个数据库只有一个内模式。它是对数据物理结构和存储方式的描述,是对全体数据库数据的机器内部表示或存储结构的描述。它描述了数据在介质上的存储方式和物理结构,是数据库管理员创建和维护数据库的视图。例如,记录的存储方式是顺序存储、B树结构存储还是Hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。
物理模式的设计目标是将系统的模式(全局逻辑模式)组织成最优的物理模式,以提高数据的存取效率,改善系统的性能指标。
以物理模式为框架的数据库称为物理数据库。在数据库系统中,只有物理数据库才是真正存在的,它是存放在外部存储器上的实际数据文件;而概念数据库和用户数据库在计算机外部存储器上是不存在的。
用户数据库、概念数据库和物理数据库三者的关系如下:
1)概念数据库是物理数据库的逻辑抽象形式。
2)物理数据库是概念数据库的具体实现。
3)用户数据库是概念数据库的子集,也是物理数据库子集的逻辑描述。
2.二级映像与数据独立性
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式和存储方式。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映射:外模式/模式映射和内模式/模式映射。正是这两层映射保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性。
(1)外模式/模式映射
模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映射,它定义了该外模式与模式之间的对应关系。这些映射定义通常包含在各自外模式的描述中。
当模式改变时(例如,增加新的关系、新的属性、改变属性的数据类型等),有数据库管理员对各个外模式/模式的映射作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
(2)内模式/模式映射
数据库中只有一个模式,也只有一个内模式,所以,内模式/模式映射是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的。该映射定义通常包含在模式描述中。当数据库的存储结构改变(例如,选用了另一种存储结构)时,由数据库管理员对内模式/模式映射作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。
数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。另外,由于数据的存取有DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改方面的工作。
1.3.2 B/S与C/S应用结构
目前,数据库系统常见的运行与应用结构有客户/服务器结构、浏览器/服务器结构。
1.客户/服务器结构(C/S)结构
C/S(Client/Server)结构,即客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通信开销。目前,大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
C/S结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示及用户接口功能;服务器端完成DBMS的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。
2.浏览器/服务器(B/S)结构
B/S结构(Browser/Server,浏览器/服务器模式)是Web兴起后的一种网络结构模式,Web浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如火狐、Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的计算机就能使用,客户端零安装、零维护。系统的扩展非常容易。