Re: Anidar tablas

From: Juan Martínez <jeugenio(at)umcervantes(dot)cl>
To: "Blanca" <drusi1(at)yahoo(dot)es>
Cc: "postgresql ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Anidar tablas
Date: 2006-06-12 15:40:49
Message-ID: 36545.190.44.89.196.1150126849.squirrel@correo.umcervantes.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El Lun, 12 de Junio de 2006, 7:05 am, Blanca escribió:
> Si tengo una tabla llamada dirección, con los campos:
> calle, localidad, código postal, país.
> Por otra parte tengo la tabla trabajador, con campos:
> nombre, apellidos y direcciones, y quiero que el campo
> direccíones pueda ser una lista de campos existentes
> en la tabla "dirección".

Mmm...se te nota que eres del mundo access ;-)

> Es esto posible?

Claro que si. En parte, es la filosofia principal de los RDBMS, bases de
datos relacionales, es decir, relacionar 2 o mas tablas, esto a traves de
consultas o vistas.

> Por si resulta útil diré q tengo la
> version 8.1.3 y trabajo bajo windows

En primer lugar para cubrir lo de "una lista de campos existentes" (que me
imagino quiciste decir "una lista de registros existentes"), debes usar
integridad refencial. Es lo que se le llama una llave foranea. Para eso lo
mejor sera trabajar con codigos o 'id' de direccion. Entonces en tu tabla
de direcciones tienes:

- id (puede ser de tipo SERIAL)
- calle
- localidad
- código postal
- país

y la tabla trabajador:

- id (tambien SERIAL seria bueno)
- nombre
- apellidos
- id_direccion

Si necesitas almacenar mas de una direccion por trabajador, entonces debes
eliminar el campo id_direccion de la tabla trabajador y construir una
tercera tabla (p.e. de nombre 'trabajor_direccion') con lo siguiente:

- id_trabajador
- id_direccion

Ahora, el tema de que se despliegue una ventana o una lista de direcciones
posibles, depende de tu aplicacion y no de postgres.

--
Juan Martinez
Depto. Inf.
UMC

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel Angel 2006-06-12 15:55:02 Re: SELECT pg_client_encoding()
Previous Message Miguel Ortega 2006-06-12 15:34:53 SELECT pg_client_encoding()