Comecei uma nova função que lida com grande quantidade de dados relacionados. Nossa fonte de todos esses dados são vários despejos do Excel extraídos de bancos de dados aos quais não temos acesso. A pessoa anterior que ocupava essa função usou uma dúzia de arquivos do Excel para reunir esses arquivos de dados, manipulá-los e criar relatórios.
Comecei a mover os despejos para um banco de dados do Access. Percebi que muitos dados do Excel estão relacionados e provavelmente devem ser normalizados. O que tenho feito atualmente é criar uma tabela para cada despejo de dados, importá-los para o Access e usar várias consultas para replicar as dezenas de manipulações e relatórios de dados.
Ainda existem benefícios na normalização de dados em que minha única fonte são os despejos do Excel de um armazém?
Como normalizaria os dados quando não tenho a capacidade de alterar o formato de como os dumps são enviados para mim?
Além disso, meu plano (dependendo do orçamento) é passar do Access para um banco de dados MS SQL.
Respostas:
Sim, existem benefícios significativos para a normalização de dados se você estiver disposto a fazer o trabalho para alcançá-lo e mantê-lo. Os dois benefícios fundamentais da normalização são:
A abordagem simples para normalização é criar uma tabela para cada pessoa, local, coisa, conceito ou evento. Ao fazer isso, você tem cada característica de cada pessoa, local, coisa, conceito ou evento de seu interesse em um e apenas um lugar no banco de dados. O benefício da integridade dos dados é alcançado quando você insere e atualiza dados. Como você normalizou, não há cópias redundantes da mesma característica em muitos lugares do banco de dados, cada uma com um valor diferente, que você deve lembrar de atualizar e manter sincronizado. Segundo, você tem apenas um lugar no banco de dados para programar verificações ao inserir ou atualizar dados para garantir que os dados sejam válidos. Como seus dados são provenientes de muitas planilhas do Excel, A normalização de seus dados oferece a oportunidade de implementar verificações de integridade de dados na carga, para garantir que sua análise se baseie em dados precisos. O benefício da flexibilidade de consulta é alcançado quando você deseja ler e analisar os dados. Como você normalizou os dados, é possível conectar as tabelas de maneira flexível com base na pergunta sobre os dados que você deseja responder, incluindo apenas o que você precisa para responder à pergunta específica. Segundo, isso permite que o banco de dados retorne as respostas às suas perguntas muito mais rapidamente do que se tivesse que varrer todos os dados, incluindo os dados não relevantes para a sua pergunta, em suas tabelas não normalizadas. Como você normalizou os dados, é possível conectar as tabelas de maneira flexível com base na pergunta sobre os dados que você deseja responder, incluindo apenas o que você precisa para responder à pergunta específica. Segundo, isso permite que o banco de dados retorne as respostas às suas perguntas muito mais rapidamente do que se tivesse que varrer todos os dados, incluindo os dados não relevantes para a sua pergunta, em suas tabelas não normalizadas. Como você normalizou os dados, é possível conectar as tabelas de maneira flexível com base na pergunta sobre os dados que você deseja responder, incluindo apenas o que você precisa para responder à pergunta específica. Segundo, isso permite que o banco de dados retorne as respostas às suas perguntas muito mais rapidamente do que se tivesse que varrer todos os dados, incluindo os dados não relevantes para a sua pergunta, em suas tabelas não normalizadas.
O acesso é um DBMS simplificado e inclui um processador SQL básico que permite gravar consultas e, assim, tirar proveito dos benefícios dos dados normalizados. Se você for mudar para o SQL Server, que é um DBMS completo, a normalização de seus dados agora facilitará a transição e permitirá que você aproveite todos os recursos do SQL Server e sua rica implementação do SQL.
Como mencionei no começo, para alcançar esses benefícios, você deve estar disposto a fazer a programação inicial para traduzir os dados provenientes de seus vários dumps do Excel e mapear as linhas e colunas nessas planilhas para suas tabelas normalizadas. Este não é um exercício trivial, mas factível usando a programação do Access. Uma abordagem seria criar tabelas que replicam os dados como na origem e carregam os dados neles. Estes são conhecidos como estágiomesas. Depois de obter os dados não normalizados nas tabelas do Access, você poderá escrever mais facilmente o código de acesso usando o SQL para extrair os dados dessas tabelas de estágio, normalizá-lo, identificar problemas de qualidade dos dados (digamos a mesma característica em dois dumps do Excel diferentes que deveriam ter o mesmo valor, mas não), e carregue-o em suas tabelas normalizadas. Este é o método comum para normalizar dados provenientes de uma fonte não normalizada, muito comum em data warehouses baseados em área de assunto.
Você encontrará esse nível adicional de esforço que valerá a pena, embora tenha dados de alta qualidade e normalizados em seu banco de dados de acesso. Você relata que os consumidores verão que você é um profissional de dados real quando mostrar exemplos onde a qualidade dos dados era ruim e você descobriu esse fato para que pudesse ser corrigido nas fontes. Da mesma forma, quando eles solicitam um novo relatório que analise os dados de uma maneira muito diferente, você pode criar rapidamente o novo relatório usando SQL para combinar os dados nas tabelas normalizadas dessa maneira muito diferente que não era originalmente prevista. Eles ficarão muito impressionados que você é capaz de fazer isso de forma rápida e fácil!
Espero que isso ajude a explicar por que a normalização seria benéfica para você.
fonte