数据库简短概述

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

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

表格

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

这是一个表格示例

姓名 年龄
John 25
Jenny 31

在此示例中,列为 姓名年龄。第一行包含两个单元格,一个包含 John,另一个包含 25,分别对应于“姓名”和“年龄”列。

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

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

列 vs 字段

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

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

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

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

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

示例

预订表

预订 ID 姓名 年龄
11 John 25
12 Jenny 31

在上表中,“预订 ID”字段是 ID(主键)。

表格之间的关系

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

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

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

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

预订

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

客户

ID 姓名 年龄
11 John 25
12 Jenny 31

虽然主键和外键之间的内置关系使数据库用户的事情变得更容易,但即使没有键关系,大多数数据库也允许您在两个表格之间进行连接。查看我们关于不同SQL 连接类型以及如何在 Metabase 中使用连接的指南。

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

要做到这一点,我们将打开“预订”表格,添加一个过滤器,只查看 2015 年 12 月 1 日至 12 月 31 日之间的预订,然后选择“平均值…”。为了专门选择年龄的平均值,我们将使用我们的外键,并从我们的“预订”表格引用的“客户”表格中选择“年龄”。

下一步:数据类型

现在我们对数据库有了基本的了解,让我们更多地了解数据类型

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

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

下一篇文章