¿Cómo estructurar un modelo para representar adecuada y eficiente árbol similar a los datos de bases de datos relacionales?
-
15-10-2019 - |
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.
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.