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

Diseñar Tabla con más de 500 campos por registro

Estas en el tema de Diseñar Tabla con más de 500 campos por registro en el foro de Bases de Datos General en Foros del Web. Buenos días: Tengo el dilema de diseñar una tabla en una BD con más de 500 campos por registro. Estos datos pueden ser de distintos ...
  #1 (permalink)  
Antiguo 10/02/2012, 01:38
 
Fecha de Ingreso: febrero-2012
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 0
Diseñar Tabla con más de 500 campos por registro

Buenos días:

Tengo el dilema de diseñar una tabla en una BD con más de 500 campos por registro. Estos datos pueden ser de distintos tipos: boolean, numéricos, de fecha, texto, memo ...

Ninguno de los campos es obligatorio, normalmente se grabarán de 10 a 50 campos de los 500 a elegir.

Por supuesto, no puedo diseñar una base de datos con 500 campos para cada fila, por lo que campo está numerado y el diseño de la DB sería el siguiente:

idRegistro ............. long
idCampo .................... integer
valordelCampo .......... memo???

El dilema que me aparece es que como campo puede ser de distinto valor, para grabar el valor del campo debería definir dicho campo como memo, pero me parece una pérdida grande de espacio, pero es más sencillo a la hora de programar y definir búsquedas por distintos valores de los campos.

Una posible solución sería definir 3 o 4 tablas distintas, y en una grabar los campos numéricos, en otra las cadenas, en otra los memo ..., pero esto complica y enlentece bastante las búsquedas ...

¿Qué haríais? ¿Podéis echarme una mano?

Gracias a todos.
  #2 (permalink)  
Antiguo 10/02/2012, 09:30
 
Fecha de Ingreso: enero-2008
Mensajes: 201
Antigüedad: 16 años, 3 meses
Puntos: 39
Respuesta: Diseñar Tabla con más de 500 campos por registro

A mi me gustaría saber que información tienes que guardar que deba tener 500 campos en una tabla pero solo se rellenen entre 10 y 50, es muy posible que hayas planteado mal el diseño de la base de datos.

Si de verdad fuese imposible hacer una tabla con muchísimos menos campos entonces si pensaría en buscar una solución, pero igualmente habría que saber que tipo de información se va a guardar.
  #3 (permalink)  
Antiguo 10/02/2012, 09:54
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Diseñar Tabla con más de 500 campos por registro

500 campos en una tabla?? Eso es mas que suficiente para armar una base de datos completa.....que datos necesitas guardar??

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 10/02/2012, 13:20
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Diseñar Tabla con más de 500 campos por registro

Holas,

500 Tablas, es posible, pero a mi parecer es un mal diseño.

Saludos
__________________
.: Gildus :.
  #5 (permalink)  
Antiguo 10/02/2012, 19:54
 
Fecha de Ingreso: febrero-2012
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Diseñar Tabla con más de 500 campos por registro

Es una tabla para datos médicos. Guarda los resultados de varios análisis. Estos pueden ser simples, y no tener que rellenar más que un par de datos, o complejos, y dependiendo del resultado de unos se generan otros, etc.. pero nunca se guardarán todos porque existen distintos tipos y distintos resultados.

Además la tabla está parametrizada, es decir, el diseño de los campos se guarda en una tabla que el propio médico puede cambiar: si es un campo de texto, un checkbox, una fecha... La pantalla de captura de datos se construye en tiempo de ejecución respecto a los datos que están dicha tabla.

Mi consulta sigue siendo: priorizar la simplicidad y la rapidez y guardar todo en una solo tabla, o priorizar el tamaño de la BD y utilizar varias tablas según los tipos de datos...

O si a alguien se le ocurre otro modo...
  #6 (permalink)  
Antiguo 10/02/2012, 20:05
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Diseñar Tabla con más de 500 campos por registro

Hoy en dia no es mucho de conciderar es espacio o tamaño de una BD, existen gigas, teras, petas, exas, etc de dispositivos que la soportan, la idea creo que mas seria en la simplicidad y rapidez de tus procesos, sea en guardar los datos como en consultarlas.

Saludos
__________________
.: Gildus :.
  #7 (permalink)  
Antiguo 10/02/2012, 22:11
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Respuesta: Diseñar Tabla con más de 500 campos por registro

Cita:
idRegistro ............. long
idCampo .................... integer
valordelCampo .......... memo???
Esta solución no es mala idea, la puedes optimizar creando una columna por cada tipo, por ejemplo:

Código:
create table t1 (
 IdRegistro integer,
 TipoCampo text,
 ValorDelCampoInt int,
 ValorDelCampoText text,
 ValorDelCampoFecha date,
 etc)
Saludos

Etiquetas: 500, campos, diseñar, registro, tabla
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:24.