Excel2019高级进阶:SQL应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 SQL的基本概念

在Excel中,数据是存储在工作表中的。关系型数据库管理系统中,数据是存储在二维表中。不管是Excel还是其他关系型的数据库管理系统,在使用SQL时,其操作的基本对象都是二维表。这里以图1.1所示的“课程表”为例,来说明SQL的基本概念。

图1.1 课程表

(1)关系/表

对于关系型的数据库,一个关系就是一个二维表。二维表是由行和列组成的,且每一列都是不可分割的数据项,即不允许表中有表。在Excel中,满足上述二维表条件的任何表格都可以称之为一个关系。图1.1中的课程表可以称为课程关系。

(2)属性/字段

二维表是由行和列组成的。对于每一列,都有一个列名与之相对应,这个列名就是属性名。属性有时也称为字段。图1.1中的“课程号”“课程名称”“学分”“学时”都是属性。

对于同一列中的值,其取值具有相同的数据类型。常见的数据类型有:文本型或字符型、数值型、日期时间型等。图1.1中“课程号”“课程名称”是文本型的数据,而“学分”“学时”是数值型的数据。有些列中允许使用空值(NULL),即未知的值。当一个列不允许为空值时,那么这个列必须包含有效数据。

(3)元组/记录

二维表中的每一行都称之为一个元组,也称之为记录。一个表中的所有行都是具有相同类型的对象。比如学校里所有的课程都可以放在课程表中,所有的学生都可以放在学生表中。理论上,表中的数据对行数是没有限制的,但是因为Excel版本的不同而有所限制。在Excel 2019中,每个表的最大行数为1048576。

(4)属性值

表中行和列的交叉即单元格中的取值,称为属性值。如图1.1中,“数据库原理”“48”这些值都称为属性值。

(5)主码/主键

当表中的一个属性值或者几个属性值的集合能够唯一地标识表中的一行,那么这个属性或属性集就称之为主码或者主键。主键的值一定具有唯一性且不能取空值,否则就无法用其标识唯一的一行。图1.1中的“课程号”可以唯一地标识出一个课程(即一行记录),所以课程号是课程表的主码或者主键。

(6)外码/外键

假设一个表中的某个属性不是这个表的主码,但是其值引用了另外一个表的主码值,那么这个属性即为此表的外码或者外键。外码的取值有两种可能性:一是取引用表的主码值;二是取空值。这种引用和被引用的关系可以用来将多个表连接起来查询所需的数据。