二、数据管理技术的发展
2013-09-08 11:12
281 查看
1. 数据管理和数据处理:
a. 数据管理:对数据进行分类、组织、编码、检索等,即不改变原有数据的管理;
b. 数据处理:对数据进行加工和传播等,其过程中可能会修改数据;
2. 数据管理技术的三个阶段:
a. 人工管理阶段:
i. 基本情况:
*1. 主要用于科学计算;
*2. 外存只有纸带、卡片灯,无操作系统和数据管理软件;
*3. 数据处理方式是批处理;
ii. 主要特点:
*1. 数据不保存:用完即撤,因此数据利用率低下;
*2. 数据直接面向应用程序,即应用程序直接定义数据的逻辑结构和物理结构,因此无独立性、无共享性、耦合性高,不利于维护和修改;
比如一旦物理结构发生变化,则要对程序作非常大的修改,程序员压力非常之大;
*3. 程序与数据之间的关系:对应一个程序,无法相互利用,无共享性;
b. 文件系统阶段:
i. 基本情况:
*1. 外存有磁盘、磁鼓,也有操作系统以及数据管理系统(即文件系统);
*2. 支持批处理和联机实时处理;
ii. 主要特点:
*1. 数据可以长期保存;
*2. 由文件系统管理数据,不由应用程序直接管理程序,就像我们目前阶段的编程,程序员只需要设计数据结构和算法,而数据怎么从文件中存取,数据如何存放在物理空间中完全不需要程序员自己关心,这些工作都交由操作系统(精确讲,应该是操作系统中的文件管理系统),你只需要调用fopen,但是不需要关心fopen是如何实现的;
因为程序和数据之间具有一定的独立性,中间由文件系统分隔;
但仅仅实现及记录内的结构性,整体还是没有结构性的;
*3. 共享性差,数据冗余度高:数据仍然面向应用程序,不同程序面对同样的数据必须建立各自的文件(整体无结构性的体现),因此对于不同程序都需要保留一份相同的数据,因此冗余度高,容易导致数据不一致性(即在不同副本中一个相同数据的值不同,比如一个数据在不同系统中应该保持一致的,但是由于一个系统修改了其值但是其它系统不能及时同步修改该值而导致数据不一致的现象);
*4. 独立性仍然很差:程序虽然不依赖数据的物理结构,但是依赖逻辑结构(及数据结构和算法),一旦逻辑结构发生改变就会影响应用程序,甚至导致应用程序需要重新开发,即程序和逻辑结构的耦合性太高,比如相同程序用不同语言编写就会导致文件结构的改变;
*5. 程序和数据的关系:
程序——存取方法——文件数据
c. 数据库系统阶段:
i. 基本情况:
*1. 数据规模越来越庞大;
*2. 已有大容量磁盘以及磁盘阵列;
*3. 在批处理和联机实时处理的基础上提出了分布处理;
*4. 对多用户、多应用、多语言之间共享数据的需求越来越大;
ii. 主要特点:
*1. 实现了数据整体的结构化(建立在记录内结构化的基础上),不仅考虑某个应用的数据结构也考虑整个组织的数据结构;
即整体面向现实世界,例如,不是仅仅将教师列入教师系统,专门开发一个教师系统来管理教师信息,而是直接开发一个学校系统,将教师列入学校系统中相应的各个部门,用一种通用的方法(比如学校管理制度等)统一对其进行管理,而在一些特殊部分实行一些特殊的管理即可;
总结地讲就是整体结构化可以给应用程序提供一种更通用的管理方法,从而减小程序和数据之间的耦合度;
同时整体结构化也必然加强了数据之间的联系(例如关系数据库),和文件系统之间的区别就是,文件系统只关注文件记录中数据的联系性而不关注文件之间数据的联系性,而整体结构化弥补了这种不足,从而保证了数据的正确性(即在一个文件中处理了一个数据就必然导致另外的文件中相关数据的改变);
*2. 粒度灵活:即存取单位的粗细非常灵活,具体讲就是数据库中的一个数据项、一组数据项或一个记录、一组记录都能作为存取单位;
*3. 数据共享性高、冗余度低;
*4. 易扩展:由于面向整个组织的结构化使得向系统内添加新的应用更加放别,因此数据库系统弹性大、扩展性强;
*5. 数据独立性强:不仅物理独立(程序和物理存储器中的数据是相互独立的,由DBMS管理,程序员不需要了解)而且逻辑独立(程序和数据的逻辑结构之间相互独立,逻辑结构的改变不影响用户程序,比如要输入一张表,具体使用链表还是用其它什么数据结构实现用户不知道也不用关心,更别说物理结构了),其实现方式是二级映射(后面会讲);
*6. 数据由DBMS统一管理和控制:
为实现并发控制下的数据共享,DBMS提供了几个重要的数据控制功能:
(1)数据安全性(Security)保护:用户只能按规定对数据及逆行那个使用和处理,防止对数据的破坏和泄密;
(2)数据完整性(Integrity)保护:即保证数据的正确性、有效性和相容性,通俗点就是指要让数据在有效范围之内;
(3)并发(Concurrency)控制:使得用户在同一数据进行存取或修改时不会相互覆盖而破坏数据的完整性;
(4)数据库恢复(Recovery):由软硬件、操作员失误甚至是故意破坏而导致数据库部分或全部数据丢失,DBMS必须具有从错误状态恢复到某已知的正确状态的能力;
3. 数据库系统给信息化带来的改变以及好处:
a. 改变:使信息系统从以加工数据为中心的程序为中心转向围绕共享的数据库为中心的新阶段;
b. 带来的好处:
i. 便于数据的集中管理;
ii. 有利于应用程序的研制和维护(有共享性带来的可维护性和良好的扩展性);
iii. 提高了数据的利用率和相容性(也是由共享性带来的较小的冗余性,以及由并发控制确保的数据完整性);
iv. 提高了决策的可靠性(使得决策的指定能够得到数据库系统的强力支持,使较难的决策成为可能);
a. 数据管理:对数据进行分类、组织、编码、检索等,即不改变原有数据的管理;
b. 数据处理:对数据进行加工和传播等,其过程中可能会修改数据;
2. 数据管理技术的三个阶段:
a. 人工管理阶段:
i. 基本情况:
*1. 主要用于科学计算;
*2. 外存只有纸带、卡片灯,无操作系统和数据管理软件;
*3. 数据处理方式是批处理;
ii. 主要特点:
*1. 数据不保存:用完即撤,因此数据利用率低下;
*2. 数据直接面向应用程序,即应用程序直接定义数据的逻辑结构和物理结构,因此无独立性、无共享性、耦合性高,不利于维护和修改;
比如一旦物理结构发生变化,则要对程序作非常大的修改,程序员压力非常之大;
*3. 程序与数据之间的关系:对应一个程序,无法相互利用,无共享性;
b. 文件系统阶段:
i. 基本情况:
*1. 外存有磁盘、磁鼓,也有操作系统以及数据管理系统(即文件系统);
*2. 支持批处理和联机实时处理;
ii. 主要特点:
*1. 数据可以长期保存;
*2. 由文件系统管理数据,不由应用程序直接管理程序,就像我们目前阶段的编程,程序员只需要设计数据结构和算法,而数据怎么从文件中存取,数据如何存放在物理空间中完全不需要程序员自己关心,这些工作都交由操作系统(精确讲,应该是操作系统中的文件管理系统),你只需要调用fopen,但是不需要关心fopen是如何实现的;
因为程序和数据之间具有一定的独立性,中间由文件系统分隔;
但仅仅实现及记录内的结构性,整体还是没有结构性的;
*3. 共享性差,数据冗余度高:数据仍然面向应用程序,不同程序面对同样的数据必须建立各自的文件(整体无结构性的体现),因此对于不同程序都需要保留一份相同的数据,因此冗余度高,容易导致数据不一致性(即在不同副本中一个相同数据的值不同,比如一个数据在不同系统中应该保持一致的,但是由于一个系统修改了其值但是其它系统不能及时同步修改该值而导致数据不一致的现象);
*4. 独立性仍然很差:程序虽然不依赖数据的物理结构,但是依赖逻辑结构(及数据结构和算法),一旦逻辑结构发生改变就会影响应用程序,甚至导致应用程序需要重新开发,即程序和逻辑结构的耦合性太高,比如相同程序用不同语言编写就会导致文件结构的改变;
*5. 程序和数据的关系:
程序——存取方法——文件数据
c. 数据库系统阶段:
i. 基本情况:
*1. 数据规模越来越庞大;
*2. 已有大容量磁盘以及磁盘阵列;
*3. 在批处理和联机实时处理的基础上提出了分布处理;
*4. 对多用户、多应用、多语言之间共享数据的需求越来越大;
ii. 主要特点:
*1. 实现了数据整体的结构化(建立在记录内结构化的基础上),不仅考虑某个应用的数据结构也考虑整个组织的数据结构;
即整体面向现实世界,例如,不是仅仅将教师列入教师系统,专门开发一个教师系统来管理教师信息,而是直接开发一个学校系统,将教师列入学校系统中相应的各个部门,用一种通用的方法(比如学校管理制度等)统一对其进行管理,而在一些特殊部分实行一些特殊的管理即可;
总结地讲就是整体结构化可以给应用程序提供一种更通用的管理方法,从而减小程序和数据之间的耦合度;
同时整体结构化也必然加强了数据之间的联系(例如关系数据库),和文件系统之间的区别就是,文件系统只关注文件记录中数据的联系性而不关注文件之间数据的联系性,而整体结构化弥补了这种不足,从而保证了数据的正确性(即在一个文件中处理了一个数据就必然导致另外的文件中相关数据的改变);
*2. 粒度灵活:即存取单位的粗细非常灵活,具体讲就是数据库中的一个数据项、一组数据项或一个记录、一组记录都能作为存取单位;
*3. 数据共享性高、冗余度低;
*4. 易扩展:由于面向整个组织的结构化使得向系统内添加新的应用更加放别,因此数据库系统弹性大、扩展性强;
*5. 数据独立性强:不仅物理独立(程序和物理存储器中的数据是相互独立的,由DBMS管理,程序员不需要了解)而且逻辑独立(程序和数据的逻辑结构之间相互独立,逻辑结构的改变不影响用户程序,比如要输入一张表,具体使用链表还是用其它什么数据结构实现用户不知道也不用关心,更别说物理结构了),其实现方式是二级映射(后面会讲);
*6. 数据由DBMS统一管理和控制:
为实现并发控制下的数据共享,DBMS提供了几个重要的数据控制功能:
(1)数据安全性(Security)保护:用户只能按规定对数据及逆行那个使用和处理,防止对数据的破坏和泄密;
(2)数据完整性(Integrity)保护:即保证数据的正确性、有效性和相容性,通俗点就是指要让数据在有效范围之内;
(3)并发(Concurrency)控制:使得用户在同一数据进行存取或修改时不会相互覆盖而破坏数据的完整性;
(4)数据库恢复(Recovery):由软硬件、操作员失误甚至是故意破坏而导致数据库部分或全部数据丢失,DBMS必须具有从错误状态恢复到某已知的正确状态的能力;
3. 数据库系统给信息化带来的改变以及好处:
a. 改变:使信息系统从以加工数据为中心的程序为中心转向围绕共享的数据库为中心的新阶段;
b. 带来的好处:
i. 便于数据的集中管理;
ii. 有利于应用程序的研制和维护(有共享性带来的可维护性和良好的扩展性);
iii. 提高了数据的利用率和相容性(也是由共享性带来的较小的冗余性,以及由并发控制确保的数据完整性);
iv. 提高了决策的可靠性(使得决策的指定能够得到数据库系统的强力支持,使较难的决策成为可能);
相关文章推荐
- 1.1数据管理技术发展
- 数据管理技术的发展过程
- 数据管理领域技术发展的规律和大数据的现状
- 数据管理领域技术发展的规律和大数据的现状
- 数据管理技术的发展历程
- 元数据管理技术及发展应用现状
- 数据库系统原理第一章数据库系统基本概念:1.1 数据管理技术的发展
- 数据管理技术的发展
- 数据管理技术发展--4分布式数据库系统阶段
- 毕业论文-客户关系管理与数据挖掘技术综述
- 技术管理角度看C++游戏程序员发展
- 作为CTO,在技术成长和组织管理孰轻孰重,如何协同发展
- 大数据技术的发展趋势
- 大数据技术的发展趋势
- SmartSoft技术管理系统实现之:数据表ID实现
- 公司技术管理角度看C++游戏程序员发展
- RIA技术在信息管理系统(MIS)中的应用与发展
- 转:公司技术管理角度看C++游戏程序员发展
- 公司技术管理角度看C++游戏程序员发展
- 数据挖掘技术在企业客户关系管理(CRM)中的应用