J'ai commencé un nouveau rôle qui traite d'une grande quantité de données connexes. Notre source de toutes ces données est divers dumps Excel extraits de bases de données auxquelles nous n'avons pas accès. La personne précédente remplissant ce rôle a utilisé une douzaine de fichiers Excel pour rassembler ces fichiers de données, les manipuler et créer des rapports.
J'ai commencé à déplacer les vidages vers une base de données Access. J'ai remarqué que beaucoup de données Excel sont liées et devraient probablement être normalisées. Ce que je fais actuellement est de créer une table pour chaque vidage de données, de les importer dans Access et d'utiliser un certain nombre de requêtes pour répliquer les dizaines de manipulations de données et de rapports.
Y a-t-il toujours des avantages à normaliser les données où ma seule source sont les vidages Excel d'un entrepôt?
Comment normaliser les données lorsque je n'ai pas la possibilité de modifier le format d'envoi des clichés?
De plus, mon plan (en fonction du budget) consiste à passer d'Access à une base de données MS SQL.
Réponses:
Oui, la normalisation des données présente des avantages importants si vous êtes prêt à faire le travail pour la réaliser et la maintenir. Les deux avantages fondamentaux de la normalisation sont:
L'approche simple de la normalisation consiste à créer un tableau pour chaque personne, lieu, chose, concept ou événement. En faisant cela, vous avez chaque caractéristique de chaque personne, lieu, chose, concept ou événement qui vous intéresse dans un et un seul endroit dans la base de données. L'intérêt de l'intégrité des données est obtenu lorsque vous insérez et mettez à jour des données. Parce que vous avez normalisé, vous n'avez pas de copies redondantes de la même caractéristique à de nombreux endroits de la base de données, chacune avec une valeur différente, que vous devez vous rappeler de mettre à jour et de synchroniser. Deuxièmement, vous n'avez qu'un seul endroit dans la base de données pour programmer les vérifications lors de l'insertion ou de la mise à jour des données pour vous assurer que les données sont valides. Étant donné que vos données proviennent de nombreuses feuilles de calcul Excel, normaliser vos données vous donne la possibilité de mettre en œuvre des contrôles d'intégrité des données sur la charge pour vous assurer que votre analyse est basée sur des données précises. L'avantage de la flexibilité des requêtes est obtenu lorsque vous souhaitez lire et analyser les données. Parce que vous avez normalisé les données, vous pouvez connecter les tables de manière flexible en fonction de la question sur les données auxquelles vous souhaitez répondre, y compris uniquement ce dont vous avez besoin pour répondre à la question spécifique. Deuxièmement, cela permet à la base de données de renvoyer les réponses à vos questions beaucoup plus rapidement que si elle devait parcourir toutes les données, y compris les données non pertinentes pour votre question, dans vos tableaux non normalisés. Parce que vous avez normalisé les données, vous pouvez connecter les tables de manière flexible en fonction de la question sur les données auxquelles vous souhaitez répondre, y compris uniquement ce dont vous avez besoin pour répondre à la question spécifique. Deuxièmement, cela permet à la base de données de renvoyer les réponses à vos questions beaucoup plus rapidement que si elle devait parcourir toutes les données, y compris les données non pertinentes pour votre question, dans vos tableaux non normalisés. Parce que vous avez normalisé les données, vous pouvez connecter les tables de manière flexible en fonction de la question sur les données auxquelles vous souhaitez répondre, y compris uniquement ce dont vous avez besoin pour répondre à la question spécifique. Deuxièmement, cela permet à la base de données de renvoyer les réponses à vos questions beaucoup plus rapidement que si elle devait parcourir toutes les données, y compris les données non pertinentes pour votre question, dans vos tableaux non normalisés.
Access est un SGBD simplifié et comprend un processeur SQL de base qui vous permet d'écrire des requêtes et ainsi profiter des avantages des données normalisées. Si vous allez éventuellement passer à SQL Server, qui est un SGBD complet, la normalisation de vos données facilitera la transition et vous permettra de profiter des capacités complètes de SQL Server et de sa très riche implémentation de SQL.
Comme je l'ai mentionné au début, pour obtenir ces avantages, vous devez être prêt à effectuer la programmation initiale pour traduire les données provenant de vos divers fichiers Excel et mapper les lignes et les colonnes de ces feuilles de calcul vers vos tables normalisées. Ce n'est pas un exercice trivial mais réalisable en utilisant la programmation Access. Une approche consisterait à créer des tables qui répliquent les données comme dans la source et y chargent les données. Ce sont des scènesles tables. Une fois que vous avez les données non normalisées dans les tables Access, vous pouvez ensuite écrire plus facilement du code d'accès à l'aide de SQL pour extraire les données de ces tables d'étape, les normaliser, identifier les problèmes de qualité des données (dites la même caractéristique dans deux vidages Excel différents qui devraient avoir la même valeur mais pas) et chargez-la dans vos tables normalisées. Il s'agit de la méthode courante de normalisation des données provenant d'une source non normalisée très courante dans les entrepôts de données par domaine.
Vous trouverez que ce niveau d'effort supplémentaire en vaut la peine bien qu'une fois que vous avez des données normalisées de haute qualité dans votre base de données d'accès. Vous signalez que les consommateurs verront que vous êtes un véritable professionnel des données lorsque vous leur montrez des exemples de qualité médiocre des données et que vous avez découvert ce fait afin qu'il puisse être corrigé dans les sources. De même, lorsqu'ils demandent un nouveau rapport qui analyse les données d'une manière très différente, vous pouvez rapidement créer le nouveau rapport en utilisant SQL pour combiner les données dans les tables normalisées de cette manière très différente qui n'était pas prévue à l'origine. Ils seront très impressionnés que vous puissiez le faire rapidement et facilement!
J'espère que cela explique pourquoi la normalisation vous serait bénéfique.
la source