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