entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

4votos

¿Cual es la mejor opción para almacenar datos? MySql

Hola!.

Me gustaría saber tu opinión acerca de como guardarías algunos datos. Me explico.

Tengo un excel el cual puede contener X columnas, una columna es un valor conjunto de la otra, por ejemplo:

ejemplo excel

Lo que me gustaria evitar es dejar columnas null, (y como podrian ser X columnas) no quisiera dejar algo asi:

ejemplo excel nulls

Mi idea para guardarlo es la siguiente:
esquema mysql

Guardaría el id y nombre de la columna en la tabla Definicion_Lectura y utilizaria este id para despues saber cual columnas es cual y asi.

Me quedaria algo asi:

excel guardado

Ahora mi mayor problema es que necesito generar una consulta con los datos de nuevo en la forma:
ejemplo excel

Necesitaría hacer un join con la misma tabla pero con diferentes condiciones. ¿Esa seria la mejor forma?

De antemano agradezco tu ayuda.

1 Respuesta

4votos

Leonardo-Tadei Puntos227020

Hola @S3RGI0x,

según la Normalización, lo que nos estás diciendo es la forma correcta de almacenar datos para este problema de almacenamiento: tener una tabla con los nombres de las columnas y usarlos como referencia para otra tabla con los datos.

Respecto a representar más tarde los datos, sí tiene un poco de complegidad si lo tenés que mostrar por la web, ya que tenés que generar la tabla fila a fila, siendo que es más simple genrarla columna por columna. Si te trabás con esto, podemos intentar ayudarte por acá!

Como una aproximación totalmente distinta, y solo para el caso de que no tengas que hacer operaciones sober los datos en las tablas (solo guardarlos y volverlos a mostrar), hay una solución más simple (y limitada), que consiste en guardar en un campo de tipo TEXT toda la tabla en formato CSV o XML.

Esto simplifica enormemente el proceso de guardado y visualización, pero impide hacer búsquedas y filtros en la DB. Si tu problema no lo requiere ni lo requerirá en un futuro cercano, esta es una solución muy buena.

Saludos cordiales!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta