Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/10/2007, 00:38
nandogcia
 
Fecha de Ingreso: enero-2003
Mensajes: 16
Antigüedad: 21 años, 3 meses
Puntos: 0
Ayuda Relación Reflexiva

Saludos a la comunidad. Tengo una duda en cuanto a como hacer una relación reflexiva (o recursiva) en POSTGRESQL. La relación es la siguiente:

Un elemento puede ser padre de 0,n elementos y a su vez puede ser hijo de 0,1 elementos. Según lo que he consultado en algunos libros creo que la solución es crear dos tablas asi:

Elemento (id_elemento_padre, atributos)
// clave primaria -> id_elemento_padre

Elmento_Elemento (id_elemento_hijo, atributos, id_elemento_padre)
// clave primaria -> id_elemento_hijo
// clave foránea -> id_elemento_padre

Quisiera saber si es correcta o no, puesto que si introduzco una tupla que será el elemento padre en la tabla ELEMENTO (1, maquina) , seguidamente introduzco otra tupla que será el elemento hijo en la tabla ELEMENTO (2, maquina)
¿tendré que introducir otra tupla en la tabla ELEMENTO_ELEMENTO con (2, maquina, 1)?

¿Y como se crean las tablas y la relación en POSTGRESQL, es decir, como PK, FK, PFK ...?

Gracias con antelación a quienes me puedan echar una mano.