Re: excepcion en SELECT *

From: Juan Manuel Acuña Barrera <gps1mx(at)gmail(dot)com>
To: Lista PostgreSQL en Español <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: excepcion en SELECT *
Date: 2011-05-11 15:37:03
Message-ID: 25EF891C-78C1-41AE-A25C-61574189F792@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

El 10/05/2011, a las 19:04, Álvaro Hernández Tortosa escribió:

> 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

En lo que mencionas, podría quedar algo así (por ejemplo)?

id referencia fecha_generacion_registro monto
23139 2345 2011-04-30 24150

Y en otra tabla:

id referencia tipo_evento valor
2281 2345 cve_obs_apertura 14
2282 2345 cve_obs_primer_asignacion 21
2283 2345 cve_obs_cierre 23
...

Saludos!

Juan Manuel
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)

iEYEARECAAYFAk3KrSYACgkQTc4QiYN6hDeeOwCdHbmyzYY4vLp/SBzB80PxcChc
IP4AoIu6eELw9x2/cXcylUQLx9K9qMTY
=Gw84
-----END PGP SIGNATURE-----

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Álvaro Hernández Tortosa 2011-05-11 15:44:57 Re: excepcion en SELECT *
Previous Message Espartano 2011-05-11 15:35:03 Re: Consulta de Virtual Machine para PostgreSQL