1. 数据库、数据库管理系统以及数据库系统
数据如同空气一样普遍,我们在手机的每一次点击都会产生数据,都可能被记录,被使用。数据存放在数据库中,数据库其实就是“数据的集合”。
一个个数据库,就像一个个容器,怎么对这些容器进行管理,例如安全存放数据,增删查改数据,这就是数据库管理系统要做的事。听起来这已经是满足用户需求的最终产品形态了,但其实这并不是给终端用户使用的,而是给软件开发者使用的,软件开发者需要用特定的编程语言在数据库管理系统进行交互。
而数据库系统才是真正给终端用户使用的,包括数据库、数据库管理系统、以及应用系统。这三个词的关系如下图所示:
严格来说我们接下来要探讨的是基于软件开发者角度的数据库管理系统,但是为了方便,后文出现的“数据库”都指代“数据库管理系统”。在计算机的语境里,这样称呼一般没有歧义。之所以要阐明“数据库管理系统”的概念,是因为数据库管理系统可以贯穿数据的生命周期,充当管理者的角色。这能够帮助理解我们下文要叙述的数据库管理系统对于数据全生命周期实现的管理作用和提供的解决方案。
明确了数据库的概念,那么数据库和其中的数据能够分为哪几类?每一类又有什么样的特征呢?
2.数据类型及特征
2.1 关系数据
最早流行的数据库是关系数据库。它的出现源于关系数据模型的提出。历经几十年关系数据库仍然是应用最多的数据库,比如 Oracle 、 MySQL 、 SQL Server 、 PostgreSQL 等。下面这种表格呈现的数据就是关系数据:
关系是一种集合,这种集合的元素称为元组。元组是对象个数有限的序列,例如(张三,李四)是一组元组,(一班,二班)是另一组元组。这种由行和列组成的表格就是二维表,也是关系数据库中的数据存在形式。
2.2 时序数据
再来看这样一个表格:
表格里每个温度都带着一