1.1 数据管理及数据库技术的发展
1.1.1 “数据”概念及数据管理技术的发展
当前,互联网的发展已经历了PC时代和移动互联网时代,而且在很短的时间里跨越移动互联网,向着物联网、人工智能的方向进发,一个以“大数据、云计算”为支撑的物联网、人工智能时代即将开启。
这里的“大数据”是相对传统的“数据”来说规模很大(可以说是海量的数据),乃至在它的获取、管理、分析等方面都远远超出传统数据管理技术能力范围的数据,除了海量的数据规模外、“大数据”还具有快速的数据流转、多样的数据类型和价值密度低等典型特征。
下面在介绍“数据”概念的基础上,先来看一下数据管理技术的发展过程:
所谓“数据”,是指描述客观世界中实体对象的某个属性、状态、特征或数量而使用的一串由数字、字符或符号组成的序列,需要时,也可直接使用图形、图像或声音来表示数据。
人们在利用计算机进行数据管理的过程中先后经历了三个发展阶段:
一是人工管理阶段,这一阶段是在20世纪50年代中期以前,当时计算机主要用于科学计算,这一阶段的主要特征是:
1)、不能长期保存数据。在20世纪50年代中期之前,计算机一般在关于信息的研究机构里才能拥有,当时由于存储设备(纸带、磁带)的容量空间有限,都是在做实验的时候暂存实验数据,做完实验就把数据结果打在纸带上或者磁带上带走,所以一般不需要将数据长期保存。
2)、数据并不是由专门的应用软件来管理,而是由使用数据的应用程序自己来管理。作为程序员,在编写软件时既要设计程序逻辑结构,又要设计物理结构以及数据的存取方式。
3)、数据不能共享。在人工管理阶段,可以说数据是面向应用程序的,由于每一个应用程序都是独立的,一组数据只能对应一个程序,即使要使用的数据已经在其他程序中存在,但是程序间的数据是不能共享的,因此程序与程序之间有大量的数据冗余。
4)、数据不具有独立性。应用程序中只要发生改变,数据的逻辑结构或物理结构就相应的发生变化,因而程序员要修改程序就必须都要做出相应的修改,给程序员的工作带来了很多负担。
二是文件管理阶段,这一阶段是在20世纪50年代后期到60年代中期,这时的计算机开始应用于数据管理方面。文件管理阶段数据就是以文件的形式来存储,由操作系统统一管理。文件管理阶段也是数据库发展的萌牙与初级阶段,使用文件系统来存储、管理数据具有以下4个特点:
1)、数据可以长期保存。有了大容量的磁盘作为存储设备,计算机开始被用来处理大量的数据并存储数据。
2)、有简单的数据管理功能。文件的逻辑结构和物理结构脱钩,程序和数据分离,是数据和程序有了一定的独立性,减少了程序员的工作量。
3)、数据共享能力差。由于每一个文件都是独立的,当需要用到相同的数据时,必须建立各自的文件,数据还是无法共享,也会造成大量的数据冗余。
4)、数据不具有独立性。在此阶段数据仍然不具有独立性,当数据的结构发生变化时,也必须修改应用程序,修改文件的结构定义;而应用程序的改变也将改变数据的结构。
三是数据库管理阶段,这一阶段是在20世纪60年代后期开始的,随着计算机应用范围越来越广,被管理的数据量急剧增长,与此同时多种应用、多种语言共享数据的要求也越来越强烈,在此背景下数据库技术便应运而生,出现了统一管理数据的专门软件系统--数据库管理系统。
用数据库管理系统来管理数据比文件系统具有更为明显的优点,从文件系统到数据库管理系统的跨越,标志着数据管理技术的一个飞跃。在接下来的1.1.2和1.1.3中将依次介绍数据库的相关概念和数据库技术的发展。
1.1.2 数据库相关概念
与数据库相关的概念主要有以下几个:
数据库(英文:Database,缩写:DB):简单地说,就是“数据”的仓库,但应该注意的是,在数据库中,“数据”的存放并不是随意的、杂乱无章的,而是按一定结构组织起来的,以便于对它们的存取操作和其他的管理与应用。
数据表(英文:Table):在数据库中,按一定结构组织起来的数据即是“数据表”。通常(即在一般的关系数据库中,详见1.1.3),一个数据库由若干个数据表构成,而每一个数据表中保存的是同一类对象的多个不同的属性数据,其中每一个对象的全部属性数据在表中的一行上,不同对象的属性数据位于不同的表格行上,而不同的属性则位于表中不同的列上,表中相同的列描述的是相同的属性。
记录(英文:Record):数据表中的“行”称之为记录,每一行是一个记录,描述了一个对象的多个不同属性数据。
字段(英文:Field):数据表中的“列”称之为字段,每一列是一个字段,具体描述对象的某一个属性。
下面表1-1是一个数据表的示例,其中表头的“姓名”、“学号”、“入学年份”、“入学成绩”、“所在班级”为被描述的学生对象的各个字段的字段名,字段名所在的一列为各个对象的该字段的字段值,表头下各行为被描述的学生对象的各个字段的字段值。
数据库管理系统(英文:Database Management System,缩写:DBMS):是指用于管理数据库,以帮助用户高效完成创建数据库、访问数据库(对库中表数据的存取、读写等)及维护数据库等操作的软件。
数据库应用程序(英文:Database Application):是为了更好地创建或利用数据库、实现一些专业的、特殊的或复杂的数据处理功能,采用各种数据库编程语言编写的一些应用软件。
数据库系统(英文:Database System,缩写:DBS):是由数据库、数据库管理系统、数据库应用程序构成的一个可供用户有效地实现数据管理的一个系统。
在数据库系统中,数据库是核心和基础,用户直接或通过数据库应用程序对数据库的各种或简单或复杂的操作都是在数据库管理系统的管理之下进行的。它们之间的关系可用下图来表示: