Comencé un nuevo rol que se ocupa de una gran cantidad de datos relacionados. Nuestra fuente de todos estos datos son varios volcados de Excel extraídos de bases de datos a las que no tenemos acceso. La persona anterior que desempeñaba esta función utilizó una docena de archivos de Excel para recopilar estos archivos de datos, manipularlos y crear informes.
He comenzado a mover los volcados a una base de datos de Access. He notado que muchos de los datos de Excel están relacionados y probablemente deberían normalizarse. Lo que he estado haciendo actualmente es crear una tabla para cada volcado de datos, e importarlos a Access, y usar una serie de consultas para replicar las docenas de manipulaciones de datos e informes.
¿Todavía hay beneficios en la normalización de datos donde mi única fuente son los volcados de Excel fuera de un almacén?
¿Cómo normalizaría los datos, cuando no tengo la capacidad de cambiar el formato de cómo me envían los volcados?
Además, mi plan (según el presupuesto) es pasar de Access a una base de datos MS SQL.
Respuestas:
Sí, hay beneficios significativos para la normalización de datos si está dispuesto a hacer el trabajo para lograrlo y mantenerlo. Los dos beneficios fundamentales para la normalización son:
El enfoque simple para la normalización es crear una tabla para cada persona, lugar, cosa, concepto o evento. Al hacer esto, tiene cada característica de cada persona, lugar, cosa, concepto o evento de interés para usted en un único lugar en la base de datos. El beneficio de la integridad de los datos se logra cuando inserta y actualiza los datos. Debido a que se ha normalizado, no tiene copias redundantes de la misma característica en muchos lugares de la base de datos, cada uno con un valor diferente, que debe recordar actualizar y mantener sincronizados. En segundo lugar, solo tiene un lugar en la base de datos para programar las comprobaciones al insertar o actualizar datos para asegurarse de que los datos sean válidos. Como sus datos provienen de muchas hojas de cálculo de Excel, normalizar sus datos le brinda la oportunidad de implementar verificaciones de integridad de datos en la carga para asegurarse de que su análisis se base en datos precisos. El beneficio de la flexibilidad de la consulta se logra cuando desea leer y analizar los datos. Debido a que ha normalizado los datos, puede conectar las tablas de manera flexible en función de la pregunta sobre los datos que desea responder, incluido solo lo que necesita para responder la pregunta específica. En segundo lugar, esto permite que la base de datos devuelva las respuestas a sus preguntas mucho más rápido que si tuviera que examinar todos los datos, incluidos los datos que no son relevantes para su pregunta, en sus tablas no normalizadas. Debido a que ha normalizado los datos, puede conectar las tablas de manera flexible en función de la pregunta sobre los datos que desea responder, incluido solo lo que necesita para responder la pregunta específica. En segundo lugar, esto permite que la base de datos devuelva las respuestas a sus preguntas mucho más rápido que si tuviera que examinar todos los datos, incluidos los datos que no son relevantes para su pregunta, en sus tablas no normalizadas. Debido a que ha normalizado los datos, puede conectar las tablas de manera flexible en función de la pregunta sobre los datos que desea responder, incluido solo lo que necesita para responder la pregunta específica. En segundo lugar, esto permite que la base de datos devuelva las respuestas a sus preguntas mucho más rápido que si tuviera que examinar todos los datos, incluidos los datos que no son relevantes para su pregunta, en sus tablas no normalizadas.
Access es un DBMS simplificado e incluye un procesador SQL básico que le permite escribir consultas y así aprovechar los beneficios de los datos normalizados. Si finalmente va a pasar a SQL Server, que es un DBMS con todas las funciones, la normalización de sus datos ahora facilitará la transición y le permitirá aprovechar todas las capacidades de SQL Server y su muy rica implementación de SQL.
Como mencioné al principio, para lograr estos beneficios, debe estar dispuesto a hacer la programación inicial para traducir los datos provenientes de sus diversos volcados de Excel y asignar las filas y columnas de esas hojas de cálculo a sus tablas normalizadas. Este no es un ejercicio trivial, pero se puede hacer con la programación de Access. Un enfoque sería crear tablas que replicaran los datos como en el origen y cargar los datos en ellos. Estos se conocen como etapamesas. Una vez que tenga los datos no normalizados en las tablas de Access, puede escribir más fácilmente el código de acceso usando SQL para extraer los datos de esas tablas de etapas, normalizarlos, identificar problemas de calidad de datos (digamos la misma característica en dos volcados de Excel diferentes que deberían tener el mismo valor pero no) y cárguelo en sus tablas normalizadas. Este es el método común para normalizar datos provenientes de una fuente no normalizada muy común en almacenes de datos basados en áreas temáticas.
Sin embargo, encontrará que este nivel adicional de esfuerzo vale la pena una vez que tenga datos normalizados de alta calidad en su base de datos de acceso. Usted informa que los consumidores verán que usted es un verdadero profesional de los datos cuando les muestre ejemplos en los que la calidad de los datos era deficiente y descubrió ese hecho para poder corregirlo en las fuentes. Del mismo modo, cuando solicitan un nuevo informe que analice los datos de una manera muy diferente, puede crear rápidamente el nuevo informe utilizando SQL para combinar los datos en las tablas normalizadas de esta manera muy diferente que no se había previsto originalmente. ¡Quedarán muy impresionados de que pueda hacerlo de manera rápida y fácil!
Espero que esto ayude a explicar por qué la normalización sería beneficiosa para usted.
fuente