¿Cómo estructurar un modelo para representar adecuada y eficiente árbol similar a los datos de bases de datos relacionales?

dba.stackexchange https://dba.stackexchange.com/questions/62

Pregunta

desplazamiento árbol similar a los datos en una base de datos relacional utilizando SQL pregunta , me gustaría saber cómo el camino utilizado regularmente para describir árbol similar a los datos de bases de datos relacionales considerando implicaciones físicas?

Estoy asumiendo que el RDBMS tiene no características especiales a la manipulación que, aparte de ANSI SQL o comunes características regulares disponibles.

En la duda que siempre estoy interesado en MySQL y PostgreSQL y SQLite con el tiempo.

¿Fue útil?

Solución

Creo que va para algo como un árbol binario. Me basta con incluir tres claves que están vinculados a la identificación única de la misma mesa, uno para la izquierda, una para el hijo derecho, y uno para el padre.

i.e.- (mucho pseudocódigo)

TABLE tree
int         id                  autoinc
varchar(16) data_you_care_about
int         parent_id
int         left_child_id
int         right_child_id

FOREIGN KEY parent_id = tree.id
FOREIGN KEY left_child_id = tree.id
FOREIGN KEY right_child_id = tree.id

Otros consejos

Si cada nodo es realmente la misma entidad de datos, entonces el paradigma todavía significa una tabla para cada entidad, y una columna de vinculación para el recorrido de árbol donde cada nodo sólo está vinculado vez.

Para las entidades que están vinculados en múltiples puntos en el árbol, se utiliza una tabla de ligamiento separados o una columna de valor distinto múltiple.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top