sql >> Base de Datos >  >> RDS >> Sqlserver

SQL:¿cómo almacenar y navegar jerarquías?

Me gusta el algoritmo transversal de árbol de preorden modificado. Esta técnica hace que sea muy fácil consultar el árbol.

Pero aquí hay una lista de enlaces sobre el tema que copié de la página web de colaboradores de Zend Framework (PHP) (publicada allí por Publicado por Laurent Melmoux el 5 de junio de 2007 a las 15:52).

Muchos de los enlaces son independientes del idioma:

Hay 2 representaciones y algoritmos principales para representar estructuras jerárquicas con bases de datos:

  • conjunto anidado también conocido como algoritmo transversal de árbol de preorden modificado
  • modelo de lista de adyacencia

Está bien explicado aquí:

  • http://www.sitepoint.com/article/hierarchical-data-database
  • Administración de datos jerárquicos en MySQL
  • http://www.evolt.org/article/Four_ways_to_work_with_hierarchical_data/17/4047/index.html

Aquí hay algunos enlaces más que he recopilado:

  • http://en.wikipedia.org/wiki/Tree_%28data_structure%29
  • http://en.wikipedia.org/wiki/Category:Trees_%28structure%29

modelo de lista de adyacencia

  • http://www.sqlteam.com/item.asp?ItemID=8866

conjunto anidado

  • http://www.sqlsummit.com/AdjacencyList.htm
  • http://www.edutech.ch/contribution/nstrees/index.php
  • http://www.phpriot.com/d/articles/php/application-design/nested-trees-1/
  • http://www.dbmsmag.com/9604d06.html
  • http://en.wikipedia.org/wiki/Tree_traversal
  • http://www.cosc.canterbury.ac.nz/mukundan/dsal/BTree.html (applet java montrant le fonctionnement)

Gráficos

  • http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html

Clases :

Conjuntos anidados DB Tree Adodb

  • http://www.phpclasses.org/browse/package/2547.html

Modelo de visitas ADOdb

  • http://www.phpclasses.org/browse/package/2919.html

PERA::DB_NestedSet

  • http://pear.php.net/package/DB_NestedSet
  • uso:https://www.entwickler.com/itr/kolumnen/psecom,id,26,nodeid,207.html

PERA::Árbol

  • http://pear.php.net/package/Tree/download/0.3.0/
  • http://www.phpkitchen.com/index.php?/archives/337-PEARTree-Tutorial.html

nstrees

  • http://www.edutech.ch/contribution/nstrees/index.php