Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Alimentando una Base de Datos

Estas en el tema de Alimentando una Base de Datos en el foro de Bases de Datos General en Foros del Web. Queridos maestros...aquí con una pequeña duda, de la cual resolviendo puedo arrancar. Tengo una BD la cual se alimenta generalmente de los datos de hojas ...
  #1 (permalink)  
Antiguo 07/07/2013, 23:15
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 16 años, 4 meses
Puntos: 1
Alimentando una Base de Datos

Queridos maestros...aquí con una pequeña duda, de la cual resolviendo puedo arrancar.
Tengo una BD la cual se alimenta generalmente de los datos de hojas de excel.
Mi pregunta es, que proceso es más recomendable, en cuanto a seguridad e integridad de los datos.
1. Llenar la BD con un load data infile de dichas hojas.
2. hacer un proceso, que lea los datos de las hojas y luego por medio de consultas, alimentar la base, estoy utilizando sqlalchemy.

Si es 2, alguien sabe de algún método o algoritmo que me permita hacer las relaciones entre tablas dada una columna o un id???

Muchas gracias por sus aportes...
__________________
----------------------------------------------------------
Algunas cosas simplemente son bellas...por que uno no puede tenerlas...
  #2 (permalink)  
Antiguo 09/07/2013, 17:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Alimentando una Base de Datos

Cuando hablas de LOAD DATA INFILE, infiero que estás hablando de MySQL, y ese comando no permite cargar las hojas Excel en forma directa. No está diseñado para eso.
De todos modos, usar de fuente de datos tablas de excel puras no es en general una buena idea porque habitualmente contienen mucha redundancia d edatos, ya que el objetivo no es construir una base de datos, sino reportes, esto es, información consolidada. Por esto mismo, para poder usar los datos de tablas de Excel se debe realizar un proceso de normalización para eliminar redundancias y prevenir inconsistencias.
En este sentido, no existe un algoritmo que lo pueda hacer, porque no sólo cada reporte de Excel es distinto, sino que cada base de datos también lo es. El algoritmo que sirva para una, no va a servir para otra.
Lo único que puedes hacer es crear tu propio algoritmo y los procesos necesarios programados, para tomar la información de las tablas, normalizarlas y transferirla a la tbase de datos que corresponda.
Personalmente he tenido que hacer esa tarea una media docena de veces, con datos que provenían de hojas de Excel o bien de webservices que devolvían objetos similares. Y en algunos casos, luego de procesar un sólo reporte recibido, llegué a alimentar diecisiete (17) tablas diferentes de una misma base...
En otras palabras: tendrás que hacerlo tu... ya que sólo tu conoces la estructura de ambas cosas.

En general, todo el proceso de normalización, te conviene hacerlo programáticamente, si es que trabajas con bases de datos en MySQL. otros DBMS pueden tener recursos distintos (Oracle, por ejemplo), pero luego tendrás que crear los SP necesarios para gestionar la normalización de los datos de todos modos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: consultas+mysql, proceso
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:13.