1.人工管理阶段 20世纪50年代中期以前: 冬硬件方面只有卡片、纸带、磁带等存储设备 软件方面没有操作系统,没有进行数据管理的软 件 冬此时的计算机、数据主要以科学计算为目的 原始数据随程序一起输入内存、运算、退出 ■数据是面向应用 ■数据不具有共享性 应用程序 数据 数据需要由应用程序自己来管理 ·程序与相应的数据有着很强的依赖性 。程序与数据之间不具有独立性 编制:郑江华
编制:郑江华 1. 人工管理阶段 20世纪50年代中期以前: ❖硬件方面只有卡片、纸带、磁带等存储设备 ❖软件方面没有操作系统,没有进行数据管理的软 件 ❖此时的计算机、数据主要以科学计算为目的 ❖原始数据随程序一起输入内存 、运算、退出 ▪ 数据是面向应用 ▪ 数据不具有共享性 ❖数据需要由应用程序自己来管理 ❖程序与相应的数据有着很强的依赖性 ❖程序与数据之间不具有独立性 应用程序 数据
人工管理程序举例: 求6个数据之和和最大值 /*程序1:求6个数之和*/ /*程序2:求6个数中的最大值*/ #include <stdio.h> #include <stdio.h> main( main() { { int i,s=0; int i,s; int inta[6]={66,55,75,42,86,77}; a[6]={66,55,75,42,86,77}; s=a[0]; for(i=0;i<6;i++) for(i=1;i<6;i+) s=sta[i]; if (s<a[i])s=a[i]; printf(%d”,s); printf(%d”,s); 程序和数据放在一起,虽然是处理同一批数据,但是程序之 间没有数据共享。 编制:郑江华
编制:郑江华 人工管理程序举例: 求6个数据之和和最大值 /* 程序1:求6个数之和 */ #include <stdio.h> main() { int i,s=0; int a[6]={66,55,75,42,86,77}; for(i=0;i<6;i++) s=s+a[i]; printf(“%d”,s); } /* 程序2:求6个数中的最大值 */ #include <stdio.h> main() { int i,s; int a[6]={66,55,75,42,86,77}; s=a[0]; for(i=1;i<6;i++) if (s<a[i]) s=a[i]; printf(“%d”,s); } 程序和数据放在一起,虽然是处理同一批数据,但是程序之 间没有数据共享
2.文件系统阶段 20世纪60年代中期 口硬件方面有了磁带、磁盘等大容量存储设备 口软件方面有了操作系统 口不仅用于科学计算,还用于数据管理。所有相关数据存放在特 定的应用文件中,并由该文件系统进行管理。 问题: 数据1 数据共享性差,冗余度大 应用程序 S 数据的不一致性 应用程序 数据2 程序与数据之间的独立性不高 数据缺乏统一的管理和控制 安全性、完整性、并发操作、数据破坏后的恢复 子系统的问题:大量重复程序、技术难度 编制:郑江华
编制:郑江华 2. 文件系统阶段 20世纪60年代中期 ❑ 硬件方面有了磁带、磁盘等大容量存储设备 ❑ 软件方面有了操作系统 ❑ 不仅用于科学计算,还用于数据管理。所有相关数据存放在特 定的应用文件中,并由该文件系统进行管理。 问题: 数据共享性差,冗余度大 数据的不一致性 程序与数据之间的独立性不高 数据缺乏统一的管理和控制 安全性、完整性、并发操作、数据破坏后的恢复 子系统的问题 :大量重复程序、技术难度 应用程序 数据1 应用程序 数据2 OS
文件系统程序举例: 求6个数据之和和最大值 /*程序1:求6个数之和*/ /*程序2:求6个数中的最大值*/ #include〈stdio.h> #include〈stdio.h> main() main() { int i,s=0,a[6]; int i,s=a[O],a[6]; FILE fp; FILE fp; fp=fopen("c:\data.dat","rb"); fp=fopen("c:\data.dat","rb"); fread(a,2,6,fp);/*读数据*/ fread(a,2,6,fp); for(i=0;i<6;i+) s=a[0]; s=s+a[i]; for(i=0;i<6;i++) printf("%d",s); if (s<a[i])s=a[i]; fclose(fp);/*关闭文件*/ printf("‰d”,s); } fclose(fp); 数据来自同一个文件C:\data.dat 编制:郑江华
编制:郑江华 文件系统程序举例: 求6个数据之和和最大值 /* 程序1:求6个数之和 */ #include <stdio.h> main() { int i,s=0,a[6]; FILE * fp; fp=fopen("c:\data.dat","rb"); fread(a,2,6,fp); /* 读 数 据 * / for(i=0;i<6;i++) s=s+a[i]; printf(" %d",s); fclose(fp); /* 关闭文件 */ } /* 程序2:求6个数中的最大值 */ #include <stdio.h> main() { int i,s= a[0] ,a[6]; FILE * fp; fp=fopen("c:\data.dat","rb"); fread(a,2,6,fp); s=a[0]; for(i=0;i<6;i++) if (s<a[i]) s=a[i]; printf("%d",s); fclose(fp); } 数据来自同一个文件C:\ data.dat
3.数据库系统阶段 20世纪60年代后期: >硬件方面出现了大容量且价格低廉的磁盘 >软件方面操作系统已开始成熟,为数据技术的发展提供了良 好的基础 >数据处理的规模越来越大,数据共享的要求越来越强烈 数据库技术诞生的标志: √1968年美国BM公司推出的层次模型的MS数据库管理系统 √1969年美国数据系统语言研究会下属数据库任务组公布了关 于网状模型的DBTG报告 √1970年BM公司研究员E.F.Codd发表论文提出了关系模型 编制:郑江华
编制:郑江华 3. 数据库系统阶段 20世纪60年代后期: ➢ 硬件方面出现了大容量且价格低廉的磁盘 ➢ 软件方面操作系统已开始成熟,为数据技术的发展提供了良 好的基础 ➢ 数据处理的规模越来越大,数据共享的要求越来越强烈 数据库技术诞生的标志: ✓1968年美国IBM公司推出的层次模型的IMS数据库管理系统 ✓ 1969年美国数据系统语言研究会下属数据库任务组公布了关 于网状模型的DBTG报告 ✓ 1970年IBM公司研究员E.F.Codd发表论文提出了关系模型