小编Lar*_*y B的帖子

标准化/组合具有相似数据的多个表

我正在根据第三方供应商的数据建立车辆记录数据库。有 3 种模型:车辆、变速器和适配器。

车辆和变速器都是 1:n 适配器。从技术上讲,变速箱只是带有附加变速箱柱的车辆,而车辆除了车辆柱之外还包含燃油系统柱。我无法确定将我的数据组合成一个标准化集合的最佳方式。

以下是我的一些数据示例:

传输表

**传输表**

车辆表 在此处输入图片说明

数据透视表

在此处输入图片说明

如您所见,传输和车辆在trans_type/ fuel_system columns(分别)和之后基本相同。例如,我突出显示的 Vehicle 与用 engine_code 显示的第二个传输相同LML

理想情况下,我希望最终只得到一张车辆数据表。例如,如果我要合并突出显示的记录,我最终应该只有 2 个记录2013 GMC Sierra 3500 HD:一个使用 6.0L V8 发动机,另一个使用 6.6L V8 发动机,以及相应的燃油系统和变速箱列每个。

数据透视表也将被合并,这意味着我需要以某种方式用合并数据中的新 ID 替换旧 ID。

以下是我对如何解决这个问题的想法:

  1. 标准化相似的列(品牌、型号、发动机、变速箱)
  2. 简单地将fuel_systemtrans_type列拆分到他们自己的表中(但这对我合并没有任何帮助,它只会使事情更易于管理,直到我弄清楚如何合并)
  3. 创建一个包含两个表中所有列的新表,并插入来自 Vehicles 和 Transmissions 的数据,填空(即更新fuel_system,其中记录匹配,反之亦然),然后开始清理重复项。

对于这篇冗长的帖子,我深表歉意,但我还没有在我的搜索中找到任何能真正概括这个过程的内容。欢迎任何意见或建议,并在此先感谢您。

mysql schema normalization database-design mysql-workbench

4
推荐指数
1
解决办法
719
查看次数