数据库的结构

学习重点

  • RDBMS 通常使用客户端/服务器这样的系统结构。

  • 通过从客户端向服务器端发送 SQL 语句来实现数据库的读写操作。

  • 关系数据库采用被称为数据库表的二维表来管理数据。

  • 数据库表由表示数据项目的列(字段)和表示一条数据的行(记录)所组成,以记录为单位进行数据读写。

  • 本教程将行和列交汇的方格称为单元格,每个单元格只能输入一个数据。

一、RDBMS 的常见系统结构

使用 RDBMS 时,最常见的系统结构就是 客户端/服务器类型(C/S 类型) 这种结构(图 3)。

KEYWORD

  • 客户端/服务器类型(C/S 类型)
使用 RDBMS 时的系统结构

图 3 使用 RDBMS 时的系统结构

服务器指的是用来接收其他程序发出的请求,并对该请求进行相应处理的程序(软件),或者是安装了此类程序的设备(计算机)。在计算机上持续执行处理,并等待接收下一条请求。RDBMS 也是一种服务器,它能够从保存在硬盘上的数据库中读取数据并返回,还可以把数据变更为指定内容。

KEYWORD

  • 服务器

  • 数据库

与之相对,向服务器发出请求的程序(软件),或者是安装了该程序的设备(计算机)称为客户端。访问由 RDBMS 管理的数据库,进行数据读写的程序称为 RDBMS 客户端。RDBMS 客户端将想要获取什么样的数据,或者想对哪些数据进行何种变更等信息通过 SQL 语句发送给 RDBMS 服务器。RDBMS 根据该语句的内容返回所请求的数据,或者对存储在数据库中的数据进行更新。

KEYWORD

  • 客户端

  • SQL 语句

客户端就如同委托方,而服务器就像是受托方。由于两者关系类似受托方执行委托方发出的指令,故而得名。

这样就可以使用 SQL 语句来实现关系数据库的读写操作了。本教程为了给大家讲解 SQL,使用了可以显示如何将 SQL 语句发送到 RDBMS,以及接收返回信息(数据)的客户端。具体内容请参考 搭建 SQL 的学习环境

另外,RDBMS 既可以和其客户端安装在同一台计算机上,也可以分别安装在不同的计算机上。这样一来,不仅可以通过网络使二者相互关联,还可以实现多个客户端访问同一个 RDBMS(图 4)。

通过网络可以实现多个客户端访问同一个数据库

图 4 通过网络可以实现多个客户端访问同一个数据库

客户端没有必要使用同样的程序,只要能将 SQL 发送给 RDBMS,就可以操作数据库了。并且,多个客户端还可以同时对同一个数据库进行读写操作。

另外,RDBMS 除了需要同时接收多个客户端的请求之外,还需要操作存有大量数据的数据库,因此通常都会安装在比客户端性能更优越的计算机上。操作数据量特别巨大的数据库时,还可以将多台计算机组合使用。

虽然 RDBMS 的系统结构多种多样,但是从客户端发来的 SQL 语句基本上都是一样的。

二、表的结构

让我们再具体了解一下 RDBMS 的结构。上一节我们讲到了关系数据库通过类似 Excel 工作表那样的、由行和列组成的二维表来管理数据。用来管理数据的二维表在关系数据库中简称为

KEYWORD

表存储在由 RDBMS 管理的数据库中,如图 5 所示。一个数据库中可以存储多个表。

数据库和表的关系

图 5 数据库和表的关系

根据 SQL 语句的内容返回的数据同样必须是二维表的形式,这也是关系数据库的特征之一。返回结果如果不是二维表的 SQL 语句则无法执行。

另外,图 5 中只有一个数据库,我们还可以创建多个数据库分别用于不同用途。

图 6 所示为之后的学习中实际用到的商品表的内容。

表的示例(商品表)

图 6 表的示例(商品表)

表的(垂直方向)称为字段,它代表了保存在表中的数据项目。在表 2 的商品表中,从商品编号到登记日期一共有 6 列。对于列的约束比 Excel 更加严格,定义为数字的列只能输入数字,定义为日期的列只能输入日期(将在 表的创建 中详细介绍)。

与之相对,表的(水平方向)称为记录,它相当于一条数据。商品表中总共有 8 行数据。关系数据库必须以行为单位进行数据读写,请大家牢记。

KEYWORD

  • 字段

  • 记录

法则 1

关系数据库以行为单位读写数据。

本教程将图 6 所示的行和列交汇的方格称为单元格一个单元格中只能输入一个数据。像图 7 那样,在一个单元格中输入 2 个或 2 个以上的数据是不允许的,请大家牢记。

KEYWORD

  • 单元格

    单元格是本教程特有的表述方式。实际上关系数据库对于行和列交汇的方格并没有专门的称谓。但就像图 6 那样,这个方格通过类似 Excel 单元格的方式管理数据,因此把它称为单元格似乎也很恰当。

一个单元格中只能输入一个数据

图 7 一个单元格中只能输入一个数据

法则 2

一个单元格中只能输入一个数据。

专栏

RDBMS 的用户管理

为了防止重要数据被窃读或篡改,RDBMS 只允许注册用户接触数据库。这里的用户并不是指 Windows 等操作系统的注册用户,而是只能用于 RDBMS 的用户。RDBMS 允许注册多个用户。

注册用户的时候除了设定用户名(账号),还需要设定密码。虽然密码并不是必需的,但为了防止重要信息的泄露,还是希望大家能够设定密码。

请参阅

(完)

comments powered by Disqus