C2第 2 / 6 节 · 约 35 分钟

让表格能够连接:结构、键与数据来源

本节目标
  • 区分整洁表格与混合汇总表
  • 解释主键、关联键和连接的含义

为什么漂亮的表格未必好分析

积木体验站有一张活动汇报表,第一行写日期,第二行写桥梁任务,随后放若干尝试记录,末尾又写平均用时。它适合阅读,却不适合直接分析,因为同一列既有任务名称、用时又有汇总结果。计算软件无法可靠判断哪些行是原始记录,哪些行是说明。分析用表格通常要求一行一个观察单位、一列一种字段、一格一个值,并把标题、注释、汇总结果放在独立区域。这不是唯一合法格式,而是让多数操作更容易检查的组织方法。

把不同层次的信息分开存放

任务有自己的属性,例如任务编号、积木数量、任务难度;尝试也有自己的属性,例如尝试编号、任务编号、开始批次、用时和完成状态。把两类信息分成任务表与尝试表,能减少重复修改。若桥梁任务积木数由十二改成十四,在一张混合表中可能只改了一部分行,导致同一个任务出现两个配置。分表后仍应记录任务版本,因为新旧配置不能被覆盖成同一个事实。数据结构的核心是准确表达对象和关系,不是表越多越专业。

用键连接两个微型表

任务表有两行:任务编号B01对应桥梁、十二块;任务编号T01对应塔楼、十八块。尝试表有三行:A01使用B01,用时八分钟;A02使用T01,用时十一分钟;A03使用B01,用时七分钟。任务表中的任务编号是主键,即每行都应有唯一且不缺失的标识。尝试表中的任务编号用于关联到任务表,可以重复,因为同一任务能被尝试多次。按照任务编号连接后,三次尝试应仍是三行,并各自获得对应积木数量。

连接前后都要核对行数

如果任务表错误地出现两行B01,一次桥梁尝试可能匹配到两条任务信息,连接后行数就会膨胀。若任务表没有T01,塔楼记录可能被丢弃或保留为缺少任务信息,这取决于选择的连接规则。操作前先检查主键是否重复,操作后核对行数、未匹配编号和关键字段,不应因为输出表看起来整齐就相信结果正确。还要注意一个尝试涉及多个部件时,本来就可能需要多行关联;预期关系必须先说明,行数变化才能有明确判断标准。

来源与版本也是数据的一部分

为每份表记录生成方式、创建批次、字段版本和修改原因,例如模拟数据第一版、统一分钟单位、修正重复任务编号。不要把来源写成一句无法验证的可靠数据,也不要只保存最终结果而丢掉原始表。原始记录、清洗后记录、分析结果应当可区分,这样别人可以回到前一步检查错误。对本课程而言,没有真实个人信息仍然需要来源说明,因为虚构样例不能冒充真实实验结果;透明标注数据性质,是可信分析的基本要求。

本节要点

  • 原始记录与汇总结果应明确分开
  • 主键必须符合预期的唯一性
  • 连接后核对行数与未匹配项,保留来源版本

动手练习:连接任务表和尝试表

  1. 建立任务表B01桥梁十二块、T01塔楼十八块
  2. 建立三次尝试A01关联B01、A02关联T01、A03关联B01
  3. 手工为三次尝试补上任务名称和积木数
  4. 在任务表新增一条重复B01,说明连接可能怎样出错
  5. 写出原始表、修正表和连接结果的三个版本名称

自查清单

  • 正确补充三行任务属性
  • 说明重复主键导致一对多误匹配
  • 保留原始表并区分修正版本
先自己做,再查看参考答案

正确连接结果是A01桥梁十二块、A02塔楼十八块、A03桥梁十二块,仍然只有三次尝试。任务编号在任务表中应唯一,在尝试表中则可以重复。若任务表出现两条B01,A01与A03各可能匹配两条任务记录,造成行数从三增加到五,这不是新增了真实尝试,而是关联关系错误。应检查重复来源,确认是否需要任务版本字段,而非随意删除一条。可以保存模拟任务原始版、主键核对修正版和尝试连接结果版,并记录修正原因与未匹配数量,使结果能够回溯。

本节自测

学完了吗?

标记后会记录在本机浏览器,课程首页显示你的进度。