电子表格和数据库之间表有何不同

对电子表格和数据库表的不同心智模型的探讨。

电子表格和数据库最终都构建于表格之上:数据布局规则,具有行和列,其中每行往往在每列都有一个值。

虽然电子表格和数据库中的表格乍一看很相似,但它们组织数据的方式却不同。每种方式在数据分析和视觉组织方面都有不同的优势。

  • 电子表格中的数据以行和列的形式显示,而数据库表则为列分配固定的语义角色。
  • 电子表格采用“宽”格式,适用于摘要和注释,而数据库则采用“长”格式的规范化格式,导致行结构统一。
  • 通过添加更多列,数据库表可以轻松地将更多值添加到同一个表中。要为电子表格数据添加值,您可能需要创建其他表。
  • 可以通过一个称为“透视”的操作在电子表格和数据库格式之间转换表。

电子表格可以有多种布局

电子表格有各种形状和大小。它们可以包含许多具有层级结构的表、跨行和跨列的计算(如求和),以及随机的一次性计算。下面这个来自美国劳工统计局的示例是典型政府数据的代表。

A spreadsheet with hierarchy

缺乏限制使得电子表格功能强大,非常适合供人类直接消费的表格。但对于分析和可视化,我们需要数据以更严格、更一致的方式进行结构化。

比较电子表格和数据库布局

电子表格中的典型表使用二维布局,标签位于侧面和顶部。我们可以将表分为两类值:维度,它决定了其结构;度量,它表示我们观察或计算的值。

例如,这是关于一个产品类别多年销售额的表格

Breaking up the structure of a spreadsheet table into dimensions and measures

维度是定性值,即使它们是数值,也意味着它们不用于计算,而是作为标识符。另一方面,度量可以用于计算总和、平均值等。

另一种思考维度的方式是将其视为坐标。在上面的电子表格示例中,每个值都放置在网格的交叉点上。要查找 2024 年“Gadget”的销售额,您可以找到“Gadget”列,然后找到 2024 年的行。

相比之下,在数据库风格的布局中,每一行都有相同的布局,每一列要么是维度,要么是度量。电子表格表将值布局在单元格网格中,而数据库表看起来更像一个长长的行列表。

Dimensions in database tables are contained in columns, allowing more measures to be added

在数据库的基于行的布局中查找值仅取决于每行中包含的信息。在查找 2024 年“Gadget”的销售额时,数据库可以扫描每一行并检查其“Product”和“Year”列中的值。

将数据存储为行允许数据库按任意列组合进行排序和过滤,计算行内的值(例如每单位价格),并创建跨多行的值聚合(例如每年的总计)。

在电子表格和数据库格式之间透视表

将表从电子表格样式转换为数据库样式的过程称为透视。从电子表格到数据库的转换会重新排列度量,并为两个维度添加列。从数据库到电子表格的转换,透视操作会将大量行转换为二维值网格。

这是一个电子表格表(左侧)已透视到数据库表(右侧)的基于行的布局。颜色显示了相应的 product categories。

The same data shown as a spreadsheet and database table, with colors showing corresponding entries

两种类型的表之间的数据完全相同,我们只是重新组织了它。而不是电子表格的 4x4 网格给出 16 个单元格,数据库表现在有 16 行。

令人困惑的是,透视表并不等同于创建透视表。Excel 意义上的透视表不仅仅是对数据行与列(反之亦然)的转换,也是聚合和汇总值的一种方式。这些透视表也称为交叉表或 crosstabs。

合并和连接表

电子表格和数据库都可以合并来自多个表的数据,但它们处理方式不同。请参阅VLOOKUP/XLOOKUP 与 Joins

这有帮助吗?

感谢您的反馈!
订阅新闻通讯
Metabase 的更新和新闻
© . This site is unofficial and not affiliated with Metabase, Inc.