我开始了一个处理大量相关数据的新角色。我们所有这些数据的来源是从我们无法访问的数据库中提取的各种 Excel 转储。之前担任此角色的人员使用了十几个 Excel 文件来收集这些数据文件、处理它们并创建报告。
我已经开始将转储移动到 Access 数据库。我注意到很多 Excel 数据是相关的,可能应该被标准化。我目前所做的是为每个数据转储创建一个表,并将它们导入 Access,并使用大量查询来复制数十种数据操作和报告。
在我的唯一来源是从仓库中转储的 Excel 数据的情况下,规范化数据是否仍然有好处?
当我无法更改转储发送给我的格式时,我将如何规范化数据?
此外,我的计划(取决于预算)是从 Access 转移到 MS SQL 数据库。
是的,如果您愿意努力实现和维护数据规范化,那么数据规范化会带来显着的好处。规范化的两个基本好处是:
规范化的简单方法是为每个人、地点、事物、概念或事件创建一个表格。通过这样做,您可以在数据库中的一个且仅一个位置拥有您感兴趣的每个人、地点、事物、概念或事件的每个特征。当您插入和更新数据时,可以获得数据完整性的好处。因为您已经规范化,所以在数据库中的许多地方没有相同特征的冗余副本,每个都有不同的值,您必须记住更新并保持同步。其次,在插入或更新数据以确保数据有效时,您在数据库中只有一个地方可以进行程序检查。由于您的数据来自许多 Excel 电子表格,规范化数据使您有机会对负载实施数据完整性检查,以确保您的分析基于准确的数据。当您想要读取和分析数据时,可以获得查询灵活性的好处。因为您已经规范化了数据,所以您可以根据您想要回答的数据问题以灵活的方式连接表格,仅包括回答特定问题所需的内容。其次,这使数据库能够比必须扫描非规范化表中的所有数据(包括与您的问题无关的数据)更快地返回您的问题的答案。因为您已经规范化了数据,所以您可以根据您想要回答的数据问题以灵活的方式连接表格,仅包括回答特定问题所需的内容。其次,这使数据库能够比必须扫描非规范化表中的所有数据(包括与您的问题无关的数据)更快地返回您的问题的答案。因为您已经规范化了数据,所以您可以根据您想要回答的数据问题以灵活的方式连接表格,仅包括回答特定问题所需的内容。其次,这使数据库能够比必须扫描非规范化表中的所有数据(包括与您的问题无关的数据)更快地返回您的问题的答案。
Access 是一个简化的 DBMS,并包含一个基本的 SQL 处理器,它允许您编写查询,从而利用规范化数据的优势。如果您最终要迁移到 SQL Server,它是一个功能齐全的 DBMS,那么现在标准化您的数据将简化转换并让您利用 SQL Server 的全部功能及其非常丰富的 SQL 实现。
正如我在开头提到的,要获得这些好处,您必须愿意进行预先编程,以转换来自各种 excel 转储的数据,并将这些电子表格中的行和列映射到规范化表。这不是一个简单的练习,但可以使用 Access 编程。一种方法是创建表来复制源中的数据并将数据加载到其中。这些被称为阶段表。一旦您在 Access 表中拥有未规范化的数据,您就可以更轻松地使用 SQL 编写访问代码,以从这些阶段表中提取数据,对其进行规范化,识别数据质量问题(例如在两个不同的 excel 转储中应该具有的相同特征)相同的值但不),并将其加载到规范化表中。这是对来自非规范化源的数据进行规范化的常用方法,这在基于主题领域的数据仓库中非常常见。
一旦您的访问数据库中拥有高质量的标准化数据,您就会发现这种额外的努力是非常值得的。当您向消费者展示数据质量不佳的示例时,您报告的消费者会发现您是一名真正的数据专家,并且您发现了这一事实,因此可以在来源中进行纠正。同样,当他们要求以非常不同的方式分析数据的新报告时,您可以使用 SQL 快速创建新报告,以这种非常不同的方式合并规范化表中的数据,这是最初没有预料到的。他们会对您能够快速轻松地做到这一点印象深刻!
我希望这有助于解释为什么规范化对您有益。
| 归档时间: |
|
| 查看次数: |
1223 次 |
| 最近记录: |