第1章 数据库技术的时代背景和发展历史

1.1 基本概念

谈到数据库,需要先搞清楚什么是数据(Data)。说到数据,大家首先想到的可能是数字,如365、3.141 59、-273.15。单纯的数字不能叫作数据,数据必须包含一定的含义才有意义,如平年一年有365天,数字365就代表天数,这就是数据。在计算机系统中,数据也必须包含特定含义才是有意义的。例如,“11月20日是儿子的生日”,其中的“11月20日”是数据,“儿子的生日”是对该数据的描述和解释。用来描述数据的数据叫作元数据(Metadata)。

我们在现实生活中看到、听到、感觉到甚至感觉不到的内容,都可以转化为计算机系统中的数据,这个过程叫作数字化。例如,把敦煌莫高窟中的壁画拍照后保存在计算机中,可以作为图像数据用来分享;通过朋友圈中对帖子的点赞数量可以了解到大家对自己的关注度等。计算机系统中的数据既可以是数字,又可以是图形、图像、音频、视频和地理位置信息等。那么问题来了,应该如何对这些数据进行有效存储和利用呢?

数据库(Database)就是用来存储计算机数据的仓库,或者叫作数据的集合。使用数据库可以对数据进行归类存储,以便对数据进行查找和使用。便利店中的货架上分门别类地摆放着各种商品,顾客很容易就能找到需要的商品,理货员也能很方便地定时更新商品,这就好比一个数据库的雏形。超市有大有小,数据库也有大有小,有的功能强大,有的功能简单。简单的数据库如Access和SQLite,复杂的数据库如SQL Server和Oracle。虽然超市品类齐全,但是去超市购物花费的时间长;去便利店购物图的就是方便快捷,分分钟就可以搞定。同理,数据库的种类虽然很多,但是没有绝对的优劣之分。因此,应根据应用场合选择数据库。

既然数据库是用来存储计算机系统中的数据的,那么它一定运行在计算机系统中。计算机分为硬件和软件,软件是需要依赖硬件的。软件有层次和级别的分类,距离硬件最近的软件通常是操作系统(Operating System),其他软件又是运行在操作系统之上的。数据库系统也是构建在操作系统之上的一种软件,叫作数据库管理系统(Database Management System,DBMS)。围绕数据库管理系统还有很多其他的应用程序,这些应用程序共享这套数据资源。应该如何理解数据库管理系统和其他应用系统之间的关系呢?依然以超市为例,除了常规的顾客自选,在楼层或货架入口处经常有摆着某类商品的小台子,导购员会通过让顾客试吃、试饮等来推销。有的超市在网店或App上也有推销商品的系统,有的超市则在直播间热火朝天地售卖商品。这些不同的营销方式都在共同销售超市中的商品,并且各种应用程序共用一套数据库管理系统中的数据。图1-1所示为数据库管理系统和计算机系统其他对象之间的关系。

图1-1 数据库管理系统和计算机系统其他对象之间的关系

那么,有没有应用程序是不依赖数据库的呢?答案是有的,但是比较少。依赖数据库的应用程序叫作数据库应用程序,这些应用程序的作用主要是采集和展示数据,存储和处理数据都在数据库管理系统中进行。一个功能完善的数据库管理系统至少要包括以下几部分功能。

· 数据模型的定义和更新。

· 数据的存储、索引和管理。

· 数据的查找、更新、修改和删除。

· 数据备份和恢复、数据并发操作的一致性。

· 数据访问控制权限及其他运维功能。

使用数据库管理系统的用户主要包括以下几类。

· 系统分析和数据库设计人员(超市的建造者)。

· 数据库管理员(超市的仓库管理人员)。

· 数据库应用程序开发人员(超市的理货员或导购员)。

· 终端用户(超市的顾客或网购客户)。