数据库简要概述

表、行、列和键如何协同工作以构成数据库。

如果您打算开始使用 Metabase,了解一些关键的数据库术语会有所帮助。

从根本上说,数据库由一个或多个组成。表包含一个或多个和一个或多个。行由单元格组成,每个单元格都有一个与它所属列对应的

以下是一个表示例

姓名 年龄
约翰 25
珍妮 31

这里,列是 NameAge。第一行包含两个单元格,一个包含 John,另一个包含 25,分别对应姓名和年龄列。

列中的所有单元格都包含相同类型的信息。例如,在上面的示例表中,Name 列中的每个单元格都包含姓名,而 Age 列则列出年龄。

每个字段都有一种 类型,用于描述该字段中存储的数据种类。

列与字段

关于列和字段的说明,这些术语可以互换使用

  • 字段是用于存储数据的元素(例如,PRODUCT_ID 字段存储产品的识别码)。

  • 是值的列表,通常是单个字段中的值列表(例如,PRODUCT_ID 列存储 PRODUCT_ID 字段中的值)。但是,列也可以是来自多个字段的值的列表。例如,某个列可能包含来自计算两个不同字段值之差的表达式的值:例如,TOTAL_WITH_DISCOUNT 列可以从 DISCOUNT 字段中获取值并将其从 SUBTOTAL 字段中的值中减去,然后列出差值。

在 Metabase(以及其他地方),您经常会看到这两个术语可以互换使用,因为在大多数情况下,列指的是来自单个字段的数据。

主键(也称为实体键)是表中的一个字段,用于唯一标识每一行。例如,设想一个汽车预订应用,您可以在其中提前预订汽车。预订的 ID 可以是预订号,并且不会有两个预订共享同一个预订号,从而允许每个预订通过其预订号进行唯一标识。

示例

预订表

预订 ID 姓名 年龄
11 约翰 25
12 珍妮 31

在上述表中,Reservation ID 字段是 ID(主键)。

表之间的关系

表可以包含对其他表的引用,这在它们之间建立了一个关系

让我们扩展一下我们假设的汽车预订应用的数据库。我们可以有两个表:一个用于预订(我们称之为Reservations),一个用于客户(我们称之为Customers)。

为了将预订数据连接到相应的客户数据,我们将使用外键。外键是表中一种特殊类型的字段,它引用另一个表中具有匹配值的列。几乎总是,外键指向的字段是另一个表中的 ID主键

在这种情况下,我们将 Reservations 表中的每条记录连接到创建该预订的相应客户的记录。为此,我们将在 Reservations 表中创建一个 Customer 列,其值与 Customers 表中 ID 列的值匹配。

预订

客户 日期 汽车
11 12/20/2015 丰田凯美瑞
12 1/2/2016 路虎揽胜

客户

ID 姓名 年龄
11 约翰 25
12 珍妮 31

虽然主键和外键之间内置的关系使数据库用户操作更轻松,但大多数数据库允许您在没有键关系的情况下进行表联接。请查看我们关于不同SQL 联接类型以及如何在 Metabase 中使用联接的指南。

现在,如果我们想用 Metabase 分析我们假设的应用的数据库,我们可以提出一个问题,例如:2015 年 12 月所有预订客户的平均年龄是多少?

为此,我们将打开“预订”表,添加一个筛选器以仅查看 2015 年 12 月 1 日至 12 月 31 日之间的预订,然后选择 Average of…。要专门选择年龄的平均值,我们将使用外键并从“预订”表引用的 客户 表中选择年龄。

下一步:数据类型

现在我们对数据库有了基本了解,接下来我们学习更多关于数据类型的知识。

下一步:数据类型和元数据

为什么数据类型很重要以及元数据如何帮助您更好地理解数据。

下一篇文章
© . All rights reserved.