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
>
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 |