数据库应用程序开发入门篇——数据库的发展阶段、体系结构
来源:互联网 发布:淘宝店铺扣分 编辑:程序博客网 时间:2024/06/02 05:06
数据库应用程序开发入门篇——数据库的发展阶段、体系结构
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) 逻辑数据独立性:修改概念模式时尽量不影响外模式和应用程序。通过这两种映像,可以是数据库具有较高的数据独立性,也可以是逻辑结构和物理结构得以分离,换来了用户使用数据库的方便,最终把用户对数据库的逻辑操作导向为对数据库的物理操作。
2)外部体系结构
数据库的外部体系结构分为以下几种:b.主从式结构
优点是易于管理、控制与维护;缺点是当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。主从结构示意图如下:
缺点:数据的分布存放给数据的处理、管理与维护带来困难;当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。
数据库更加开放,客户与服务器一般都能在多种不同的硬件和软件平台上运行,可以使用不同厂商的数据库应用开发工具。
e.浏览器/应用服务器/数据库服务器结构
4.参考资料
- 数据库应用程序开发入门篇——数据库的发展阶段、体系结构
- 数据库应用程序开发入门篇——数据库的发展阶段、体系结构
- 数据库应用程序开发入门篇——数据库的逻辑模型
- 数据库应用程序开发入门篇——数据库的逻辑模型
- 【数据库】数据库发展阶段
- Oracle 9i & 10g编程艺术-深入数据库体系结构——第一章 开发成功的Oracle应用程序
- 数据库应用程序开发入门篇—— 关系数据库中的基本概念
- 数据库应用程序开发入门篇—— 关系数据库中的基本概念
- 数据库管理系统的三个发展阶段
- 数据库应用程序开发入门篇—— 结构化查询语言SQL及常用操作
- 数据库应用程序开发入门篇—— 结构化查询语言SQL及常用操作
- [Oracle入门]Oracle数据库体系结构
- 数据库应用程序开发基础篇——常见问题解决方法
- 数据库系统的体系结构
- SQLite数据库的体系结构
- 数据库的体系结构
- 数据库的体系结构
- Oracle数据库的体系结构
- Centos 4 yum 无法使用的问题
- VS2010下创建静态链接库和动态链接库
- 动车组牵引计算仿真系统的研究
- JAVA中char类型的输入
- HTML5 Canvas 画图标签、画线、圆、渐变色
- 数据库应用程序开发入门篇——数据库的发展阶段、体系结构
- HTML5 视频播放事件属性与API控件
- eclipse JDK区别
- configure: error: /bin/sh must be GNU Bash
- cmake 常用变量和常用环境变量查表手册---整理2
- SQL 函数
- css中media
- 关于inline函数
- PyDev+Eclipse4.2.2如何正确显示中文