Tue, May 10, 2011 at 12:44:55PM -0500, Juan Manuel Acuña Barrera escribió:

>>      Si tu información, por registro, tiene 80 vectores (atributos),
>> entonces es perfectamente lícito que haya 80 columnas. Si por ejemplo,
>> se quieren registrar coordenadas en un espacio de 80 dimensiones (OK,
>> concedo que no es el mejor ejemplo posible), entonces 80 columnas es un
>> buen diseño. Si por el contrario, se quiere registrar las ventas de cada
>> tienda, donde hay (hoy) 80, y las columnas se llaman "tienda_1" y
>> "tienda_79" o "tienda_lugar1" y "tienda_lugar79", entonces sí es un mal
>> diseño.
>
>Bien, de acuerdo a tu ejemplo, en realidad son atributos de los cuales debo 
>llevar un registro, por lo que creo que coincido mucho más con tu primer 
>ejemplo que con el segundo. 
>
>Un ejemplo del tipo de campos que se lleva sería algo como:
>
>id: 2345
>fecha_generacion_registro: 2011-04-30
>monto: 24150
>cve_obs_apertura: 14
>cve_obs_primer_asignacion: 21
>cve_obs_cierre: 23
> ... y así por 72 claves de observación mas ... 
>
>Aún así creo que buscaré la manera de rediseñar esta tabla, me incomoda un 
>poco que sea tan grande.

        Juan Manuel, con esta información no sé si es el caso, y a lo
mejor me "tiro a la piscina" mucho, pero si la mayor parte de atributos
son de tipo cve_obs_*, donde "*" es algo así como un "evento" o similar,
y teniendo un atributo id como PK, entonces podrías tal vez construir
una tabla del tipo:

id              FK,
tipo_evento     un domain de tipo enum o varchar,
valor           integer,
PRIMARY KEY(id,tipo_evento)

        No sé si te valdrá... Eso además permitiría de forma sencilla
seleccionar por "eventos"...

        Saludos,

        Álvaro

-- 

Álvaro Hernández Tortosa


-----------
NOSYS
Networked Open SYStems
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a