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.