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

¿Usar un solo campo o varios?

Estas en el tema de ¿Usar un solo campo o varios? en el foro de Mysql en Foros del Web. Hola ¿alguien podría explicarme cuáles son las desvantajas de utilizar un campo con un array de datos en lugar de varios campos con registros individuales?. ...
  #1 (permalink)  
Antiguo 24/03/2010, 14:42
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
¿Usar un solo campo o varios?

Hola ¿alguien podría explicarme cuáles son las desvantajas de utilizar un campo con un array de datos en lugar de varios campos con registros individuales?.

En esta ocasión estoy haciendo un formulario que tiene como 20 opciones de checkbox y select, un par de textos cortos y un solo texto largo. Dentro de un rato comienzo con la parte de la BD pero me gustaría aclarar esa duda. ¿Cómo proceden ustedes usualmente en casos similares?.
  #2 (permalink)  
Antiguo 24/03/2010, 15:25
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: ¿Usar un solo campo o varios?

Metacortex....

El acceso a los datos sería el unico inconveniente.
Sin embargo hay una función llamada find_in_set que te puede ayudar mucho en este caso.

Pero definitivamente, es mejor manejar esto de la manera que lo haces y no con campos independientes.. Cualquier cambio exige una restructuración de la base de datos y la modificación del codigo que la administra. Mientras que de este modo, solo se añade un valor mas al campo.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 24/03/2010 a las 15:40
  #3 (permalink)  
Antiguo 24/03/2010, 15:26
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: ¿Usar un solo campo o varios?

metacortex,
¿para qué vas a utilizar esos datos, de qué naturaleza son (son todos cadenas de texto, hay alguno numérico, qué consultas lanzarás sobre ellos, vas a agrupar por alguno, necesitas hacer cuentas y sumas, o qué otras funciones aplicarás a esos datos, necesitas relacionar algunos de esos datos con otra tabla? Creo que el array te dará problemas para muchas cosas. Imagina que quieres hacer una estadística sobre una respuesta en concreto. Te toca descargar el array guardado, trabajarlo con programación y todo eso, algo que podrías hacer perfectamente con tu base de datos, más rápida y eficazmente. Además, una tarea tan simple como aceptar la modificación de uno de ellos, si es que permites rectificación, te obligará a recurrir a programación para localizar la posición. ¿Qué ocurre con los vacíos? La ventaja del array es que ahorras espacio porque sólo utilizas un campo de cadena, creo que es la única, pero de esa manera no utilizas todo el potencial de la base a la que conviertes en un simple almacén. Si los separas, es verdad que parecerá que malgastas espacio, pero no es así. Eso creo, aunque tendrías que decirnos algo más sobre la naturaleza de los datos y uso que vas a darle.
  #4 (permalink)  
Antiguo 24/03/2010, 16:43
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Respuesta: ¿Usar un solo campo o varios?

Muchas gracias a ambos. El fin que aspiro es definitivamente el ahorro de esfuerzo en las consultas. Las preguntas de jurena me han resultado esenciales para mejorar el análisis de esto:

Cita:
Iniciado por jurena
¿para qué vas a utilizar esos datos, de qué naturaleza son (son todos cadenas de texto, hay alguno numérico, qué consultas lanzarás sobre ellos, vas a agrupar por alguno, necesitas hacer cuentas y sumas, o qué otras funciones aplicarás a esos datos, necesitas relacionar algunos de esos datos con otra tabla?
La mayoría de los resultados (los pequeños) serán procesados como condicionales para la ejecución de funciones. Respecto al texto largo había un inconveniente que acabo de solucionar: originalmente era ingresado desde un textarea común y había que aplicarle formato básico una vez que los datos se devolvieran (lo iba a hacer con expresiones regulares), pero afortunadamente se me prendió la neurona y decidí aplicar formato previo al envío con un pequeño editor javascript. De esta le ahorro ese trabajito extra al servidor.

El script tendrá la función de reemplazar con tooltips palabras o frases de contenido ya existente. Esto quiere decir que si el administrador ingresa "Foros del Web" como frase (que a su vez será parte de una colección de frases construidas paulatinamente por éste) todo lo que sea "Foros del Web" será reemplazado por la configuración asignada. Es decir, actúa como filtro del contenido y las consultas se harán a cada rato, cada vez que el usuario cargue la página.

Por su naturaleza "global" no se relacionará con otras tablas. Simplemente cuando encuentre un término coincidente en el contenido, lo reemplazará.


PD: Esto último me hizo recordar una película en la cual un tipo contrata un asesino para que mate a su socio. El plan era volar el hotel completo donde éste se encontraba. Justo cuando cuadraban el plan, el hombre le pregunta al asesino "¿no necesita una foto de la persona?" y el asesino le responde "¿para qué?".

Etiquetas: campos
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 18:14.