MySQL - interrelación recursiva en MySQL

 
Vista:

interrelación recursiva en MySQL

Publicado por hadrien (24 intervenciones) el 10/12/2007 22:35:54
Hola,
estoy haciendo una práctica de base de datos y me gustaría saber cómo se puede representar en MySQL una interrelación recursiva, es decir, un elemento que se puede contener a sí mismo. Por ejemplo, un directorio (consideremos como atributos id(Primari Key) y name), pues este puede contener a su vez varios directorios.

Agradecería código de ejemplo.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:interrelación recursiva en MySQL

Publicado por PELUCA (2 intervenciones) el 12/12/2007 14:31:47
Supongo que lo que necesitas es una tabla que se relacione a si misma....
aca te paso el codigo

CREATE TABLE `dir` (
`ID_DIR` int(11) NOT NULL auto_increment,
`ID_PADRE` int(11) default NULL,
`DESCRIPCION` varchar(50) default NULL,
PRIMARY KEY (`ID_DIR`),
KEY `FK_REFERENCE_42` (`ID_PADRE`),
CONSTRAINT `FK_REFERENCE_42` FOREIGN KEY (`ID_PADRE`) REFERENCES `rubro` (`ID_DIR`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1


Fijate el el primer registro que va a tenr la tabla vendria a ser la raiz y en este caso el id_dir y id_padre tienen el misma valor

espero que sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:interrelación recursiva en MySQL

Publicado por hadrien (24 intervenciones) el 12/12/2007 16:01:35
Hola,
sí, es a eso a lo que me refería. ¿En el código que pones, el "REFERENCES `rubro` (`ID_DIR`)" no sería "REFERENCES `dir` (`ID_DIR`)"?

¡Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar