数据库应用程序开发入门篇——数据库的发展阶段、体系结构
1.计算机处理数据的目的——更有效的获取和利用信息
2.数据管理技术的发展阶段——人工管理阶段、文件系统阶段、数据库系统阶段
1)人工管理阶段
二十世纪五十年代中期以前,计算机主要用于科学计算。这一时期的外存只有纸带、卡片、磁带,没有磁盘等直接存取的设备,没有操作系统,没有管理数据的软件;数据处理方式基本是批处理。这一阶段的数据和程序之间的关系如下图所示:
人工管理数据特点:
a.不能单独保存数据。数据和程序是一个整体,数据只能为本程序所用,数据只有和相应的程序一起保存才有价值,否则毫无用处。
b.应用程序管理数据,计算机系统不提供对用户数据的管理功能。
c.数据不能共享,存在大量冗余,浪费存储空间。
2)文件系统阶段
二十世纪五十年代后期到六十年代中期,计算机开始大量用于数据处理工作,大量的数据存储、检索和维护工作提上议事日程。
此阶段硬件方面,拥有磁盘、磁鼓等直接存取设备;软件方面,操作系统中已经有专门的数据管理软件,一般称为文件系统;数据处理方式:批处理以及联机实时处理。文件系统阶段数据和程序之间的关系如下图所示:
文件系统管理数据特点:
a.数据以文件的形式长期保存在外部存储器上;
b.数据的逻辑结构和物理结构有了区别,但比较简单。程序与数据之间具有"设备独立性",即程序能实现按名存取,而不必关心数据的物理位置。
c.文件组织方式多样化,但文件之间相互独立、缺乏联系。数据之间的联系要通过程序去改造。
d.数据面向应用。 数据不再属于某个特定的程序,可以重复使用,即数据面向应用。但是文件结构的设计仍是给予特定的用途,程序基于特定的物理结构和存取方法,因此程序和数据结构之间的依赖关系并未根本改变。
e.文件系统管理数据由专门的软件即文件系统进行数据管理,文件系统把数据组织成相互独立的数据文件,利用“按文件名访问,按记录存取”的管理技术,可以对文件进行修改、插入、删除等操作;
缺点:数据冗余度大 、数据和程序缺乏独立性 、增删数据困难、 数据独立性差。
一旦数据的逻辑结构改变,必须修改应用程序,修改文件结构的定义,修改应用程序。例如,应用程序改用不同的高级语言等,将引起文件的数据结构改变,因此数据与程序之间仍缺乏独立性。
3)数据库系统阶段
二十世纪六十年代后期以来,数据管理技术进入了数据库系统阶段。
此阶段 硬件方面:拥有大容量磁盘,硬件价格下降;
软件方面:软件价格上升,为编制和维护系统软件及应用程序的成本相对增加;
数据处理方式:统一管理数据的专门软件系统,即数据库管理系统。
数据库阶段数据和程序之间的关系如下图所示:数据库系统的特点:
a.数据结构化;
数据结构化是数据库与文件系统的根本区别。在文件系统中,尽管记录内部已经有了某些结构,但记录之间没有联系。
b.数据共享性高,冗余度低,易扩充;
数据库系统从整体角度描述数据,数据不再面向某个应用,而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。
c.数据独立性高
数据独立性包括物理独立性、逻辑独立性。
数据的物理存储改变,应用程序不需改变。数据与程序独立,把数据的定义从程序中分离,数据的存取由DBMS负责,简化应用程序的复杂程度,大大减少应用程序的维护和修改。
d.数据由DBMS统一管理和控制。
数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据。
比较项目 | 人工管理 | 文件系统 | 数据库系统 | |||
背景 | 应用背景 | 科学计算 | 科学计算、管理 | 大规模管理 | ||
硬件背景 | 无直接存取存储设备 | 磁盘、磁鼓 | 大容量磁盘 | |||
软件背景 | 没有操作系统 | 有文件系统 | 数据库管理系统 | |||
数据处理方式 | 批处理 | 批处理、联机实时处理 | 批处理、联机实时处理、分布处理 | |||
特点 | 数据管理者 | 人 | 文件系统 | 数据库管理系统 | ||
数据面对的对象 | 某一应用程序 | 某一应用程序 | 整个应用系统 | |||
数据共享程度 | 无共享、数据冗余度极大 | 共享性差、数据冗余度大 | 共享性高、数据冗余度小 | |||
数据独立性 | 数据不独立、完全依赖程序 | 数据独立性差 | 数据具有高度物理独立性和逻辑独立性 | |||
数据结构化 | 无结构 | 记录内有结构、整体无结构 | 整体结构化、用数据模型描述 | |||
数据控制能力 | 应用程序自己控制 | 应用程序自己控制 | 由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力 |
3.数据库体系结构
1)三级模式结构——三级结构,两级映像,两级数据独立性
a.三级模式——概念模式、外部模式、内部模式
定义了所有内部记录类型、索引和文件的组织方式,以及所有数据控制方面的细节。
b. 两级映象——模式/内模式映象、外模式/模式映象
数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中, 而概念模式提供了连接这两级的相对稳定的中间观点,并使得任何一级的改变都不受另一级的牵制。
(1)模式/内模式映象:用于定义概念模式和内模式之间的对应性。一般在内模式中描述。
(2)外模式/模式映象:用于定义外模式和概念模式间的对应性。在外模式中描述。
两级映射关系如下图所示:
c. 两级数据独立性—— 物理数据独立性、逻辑数据独立性
(2) 逻辑数据独立性:修改概念模式时尽量不影响外模式和应用程序。
通过这两种映像,可以是数据库具有较高的数据独立性,也可以是逻辑结构和物理结构得以分离,换来了用户使用数据库的方便,最终把用户对数据库的逻辑操作导向为对数据库的物理操作。
b.主从式结构
优点是易于管理、控制与维护;缺点是当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。主从结构示意图如下:
缺点:数据的分布存放给数据的处理、管理与维护带来困难;当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。
数据库更加开放,客户与服务器一般都能在多种不同的硬件和软件平台上运行,可以使用不同厂商的数据库应用开发工具。
e.浏览器/应用服务器/数据库服务器结构