从SQL Server数据库中检索和解释大量数据

时间:2017-01-19 14:48:24

标签: sql sql-server

我是一名电气测试工程师。使用C的编程经验,主要用于具有256B或更少RAM的设备。并且没有很多SQL数据库的经验...

我们有一个包含生产数据,序列号和测试结果的数据库。 在创建数据库时,没有创建工具来检索数据。 如果我们无法检索数据,那么数据库也可能不存在。

我们有数据,数据库存在。我想创建检索和解释数据的工具。并在将来对数据进行统计分析。

该数据库拥有超过500,000个独特设备。超过1000万次测量。

我的问题是:什么是检索和显示数据最灵敏的方式?

例如:一个循环遍历每个条目并记录数据的程序将很难编写,并且需要数天才能完成。

程序和查询变得非常复杂。

我们有设备类型,批号,序列号。

For every DISTINCT (DeviceType)
    For Every DISTINCT (Batch number)
        COUNT DISTINCT (Serial number) where...
            NOT IN User <> 'development'...
            AND Testing result <> 'FAIL'...
            AND Date between ... and ...

更不用说测量数据,因为每个设备可能会被多次测试。这似乎是一项微不足道的任务,我现在已经被复杂性所淹没。

我将自己创建代码和查询。我要问的是帮助找到一个策略。

1 个答案:

答案 0 :(得分:1)

通过求助数据,问自己想要回答哪些问题。如果以尽可能最细微的方式记录数据,则考虑常见的分组或聚合方法可能是适当的。这些可能包括按设备或位置或其他方式进行分组 - 这些维度中的每一个都将具有业务解释。

写下3个最重要的业务请求应该为您提供构建提取/分析策略的起点。

接下来,尝试将数据模型绘制在一起,找出存在哪些表,它们之间有哪些引用和关系。

在您想要回答的问题和表格设计之间,您应该能够开始构建合理的通用查询。

有时您可能会发现可以使用公共数据视图来回答不同的业务问题 - 当您对提取路径感到满意时,可以使用名为SQL的通用查询语言来编写此问题,并且 - 如果适当的,使用该语言创建一个VIEW。这抽象了问题,使用户更方便地获得他们正在寻找的答案。

您的数据库将提供编写和运行SQL语句的工具,您需要参考数据库的文档来确定它是如何发生的 - 它通常是类似的,但实现方式因数据库而异。