我们常常听到的数据库到底是什么呢
网站编辑2020-09-09 10:58:50456
My SQL 是世界上最受欢迎的开源数据库软件。那么,我们常常听到的数据库到底是什么呢?据说,第二次世界大战后,美军为了有效管理大量的资料,便把所有的信息都集中在一个基地里,这个集中了所有信息的基地就称为数据库(database)。“数据库”一词便由此诞生。
现在,数据库表示“具有某种规则的数据集合”。但提到数据库时,我们一般都默认它具备对数据进行添加、查询和提取等用于管理数据的功能。所以,只是随便收集起来的数据的集合不能称为数据库。只有具备了有效运用这些数据的管理功能,才能称为数据库(见图 1-1)。

图 1-1 数据库是什么
关系数据库是什么
现在使用最为广泛的数据库是关系数据库(Relational DataBase,RDB)。
在关系数据库中,一条数据用多个项目来表示。例如,关系数据库将一条会员数据分成会员编号、姓名、住址和出生年月日等项目,然后把各个会员的相关数据收集起来。
其中,一条数据称为记录(record),各个项目称为列(column)。在刚才的例子中,××先生或者××小姐的数据是记录,会员编号和姓名等项目是列。
如果想象成 Excel 的工作表(work sheet),横向的一行就相当于记录。注意,纵向的一列中输入的是相同类型的数据(见图 1-2)。
{%}

图 1-2 表、记录和列
我们把收集了这些数据的表格称为表(table)。一个数据库中可以包括多个表。
管理关系数据库的系统称为 RDBMS(Relational DataBase Management System,关系数据库管理系统)。MySQL 也是 RDBMS 的一种。RDBMS 是以 IBM 公司的埃德加·弗兰克·科德(Edgar F. Codd)于 1970 年发表的关系数据库相关论文为基础发展起来的。
在关系数据库中,不用把所有的项目都存入一个表里。我们可以把各个项目拆到多个“具有关联性”的表中,只对需要用到的数据进行收集和使用。
数据库的特征
如果是 Excel 的工作表,在任何单元格中都可以自由地输入字符串或数值,而且还可以通过拖曳鼠标来自由地挪动数据。
但是在数据库中,上面的做法是行不通的。如果最开始决定“在列 a 中输入整数”,之后在列 a 中就只能输入整数,不能再输入字符串。(严格来讲,在 MySQL 中即使输入了不同类型的数据也不会报错,但是结果可能变成什么值都没有插入进去,这一点需要特别注意。→ 5.1 节)
另外,很多应用程序有还原(UNDO)功能,如果操作结果不理想,可以使用该功能进行还原。但是在数据库中,如果不使用事务(transaction)(→ 13.3 节)等特殊功能,就无法还原到上一步操作(见图 1-3)。

图 1-3 数据库的特征
大家也许一开始会讨厌数据库这种“缺乏灵活性”的特性。但多亏了这一特性,数据库才变得安全且稳定,才成了可靠的数据存储场所(见图 1-4)。“只能按照决定好的规则来操作,并且严格地进行管理”的特征,正是数据库值得信赖的原因。

图 1-4 数据库的特征



