Re: [pgsql-es-ayuda] Ejemplo de una organización de tablas

From: Jose Vasquez <cibercol(at)gmail(dot)com>
To: Carolina Roman Salgado <rossyr(at)abulafia(dot)ciencias(dot)uchile(dot)cl>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] Ejemplo de una organización de tablas
Date: 2009-07-05 16:08:15
Message-ID: 98a673a80907050908xbe86242kf4e3d297f8b7bf3e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2009/7/5 Carolina Roman Salgado <rossyr(at)abulafia(dot)ciencias(dot)uchile(dot)cl>

> On Fri, 2009-07-03 at 19:36 +0200, Carolina Román Salgado wrote:
> > ¿conocen algún ejemplo de algo semejante a lo que quiero hacer, para
> > utilizarlo como base y guía?
>
> Hola
>
> Acabo de darme cuenta que no expliqué nada, así que no se entiende qué
> quiero. Perdón.
>
> El asunto es el siguiente: tengo unas 'cosas' que son publicaciones. A
> grandes rasgos tienen un tipo (si es un artículo, un libro), un editor
> (el nombre de la revista científica si es un artículo o la editorial si
> es un libro), autores (que pueden ser miembros de mi grupo o no, es
> decir usuarios registrados de mi sistema), el área científica al que
> están asociados. Para cada una de estas cosas hice una tabla,
> esencialmente un id y una descripción o nombre.
>
> Mi primera pregunta es cómo es adecuado almacenar la información. No sé
> si es mejor algo como
>
> artículo_id | área de investigación id
> ---------------------------------------
> n | j
> n | k
> n | l
> m | k
>
> o
>
> artículo_id | área de investigación id
> ---------------------------------------
> n | j,k,l
> m | k
>
> Sé que hay un costo al tomar la cadena y tener que procesarla con php,
> pero no sé si eso es mayor al costo de generar una línea sql que me
> entregue la información que quiero combinando todas las tablas y que
> también deberé procesar para introducirla en un formulario web.
>

Definitivamente te aconsejo la primera forma, y en mi opinion siempre habra
una forma mucho mas rapida de generar un codigo sql que te entrege la
informacion como tu quieras, siendo mas efectivo en todo sentido que pasarle
los datos a otra aplicacion (en este caso php) para que la procese, en
especial cuando vayas teniendo un volumen de datos mayor con el paso del
tiempo.

>
> Por otro lado, me pregunto si cuando uno crea una tabla para un objeto,
> debe considerar todos los campos posibles que pueda tener, aunque
> algunos sean vacíos. Por ejemplo, en la tabla artículos se almacena el
> título, resumen, la localización en el server del artículo en pdf, el
> tamaño del archivo, una dirección web y otras cosas más. ¿Es conveniente
> armar una tabla articulos que contenga solo los campos obligatorios
> (año, autores, título, páginas, etc) y otra, por ejemplo articulos_extra
> que contenga todo lo que es opcional (el pdf, la url, por ejemplo)? O es
> mejor contener todo eso dentro de una sola tabla?
>

En postgres existe la herencia "INHERITS p*arent_table "*

leete esto, en particular el primer link

http://chestofbooks.com/computers/databases/postgresql/practical-postgresql/Inheritance.html

http://www.postgresql.org/docs/8.4/interactive/sql-createtable.html
http://www.postgresql.org/docs/8.4/interactive/ddl-inherit.html
http://www.postgresql.org/docs/8.4/interactive/tutorial-inheritance.html

Dale una estudiada y piensa en los posibles casos que se pudieran presentar
para ver si te sirve.... de pronto no para todos los campos pero si para
algunos.

Tambien puedes haces una relacion de uno a uno o de uno a muchos con otra
tabla que contenga el detalle de lo que es opcional, esto es algunas veces
si o algunas veces no.

> Espero haberme explicado mejor. La cabeza me funciona mejor después de
> unas buenas horas de descanso. :)
>
> Carolina
> --
> Carolina Roman Salgado <rossyr(at)abulafia(dot)ciencias(dot)uchile(dot)cl>
>
> --
> TIP 1: para suscribirte y desuscribirte, visita
> http://archives.postgresql.org/pgsql-es-ayuda
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ernesto Quiñones 2009-07-05 17:12:52 Webcast: Update on PostgreSQL Replication
Previous Message Carolina Roman Salgado 2009-07-05 14:28:03 Re: Ejemplo de una organización de tablas