Hay una serie de aspectos a tener en cuenta en este sistema. Para empezar es que disponemos de 2 tablas. La tabla de que es el corazón del sistema y la de . Que es donde guardamos los datos relacionados a la tabla de tipos.
Los tipos tienen un identificador único escrito manualmente, que nos permite saber la jerarquía sin tener que hacer operaciones costosas de rollback. Esto es útil en la tabla de tipos ya que se deberá modificar poco y evitamos cálculos innecesarios haciendo el sistema mucho más eficiente.
Esto nos permite hacer operaciones de filtrado como la siguiente gracias a la semilla que propagamos.
En este caso tenemos que vamos a filtrar aquello que no esté archivado (230) y al mismo tiempo aquello que pertenezca al tipo persona (110). Evitamos cerrar el paréntesis para que pille también los subtipos de dentro de persona.
En el archivador en cambio el id no lo generamos manualmente, sino que es autogenerado. Así calculamos el Seed en base a los ids de los tipos que tiene (220…) y los ids autogenerados del archivador.
Aunque suena complicado esto nos permite hacer filtros jerarquicos. Lo que permite ver de un vistazo en un árbol todo el contenido.
Te recomiendo seguir por ¿Cómo registrar información en el archivador?