https://github.com/alexandre-t/tree
Intervallary tree — Arborescence intervallaire
https://github.com/alexandre-t/tree
Last synced: 11 months ago
JSON representation
Intervallary tree — Arborescence intervallaire
- Host: GitHub
- URL: https://github.com/alexandre-t/tree
- Owner: Alexandre-T
- License: mit
- Created: 2017-03-20T08:43:15.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-01T08:07:08.000Z (over 9 years ago)
- Last Synced: 2025-01-23T02:30:11.998Z (over 1 year ago)
- Language: PHP
- Size: 66.4 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Arborescence intervallaire
Représentation intervallaire des arbres
----
[](https://insight.sensiolabs.com/projects/e8b1e0a1-da1c-4be2-9716-cc84acf1a38d)
[](https://travis-ci.org/Alexandre-T/tree)
[](https://coveralls.io/github/Alexandre-T/tree?branch=master)
[](https://www.versioneye.com/user/projects/58d12007cef5000042e609d7)
----
Pour éviter des autojointures et de la récursivité de requête,
[l'arborescence intervallaire](http://sqlpro.developpez.com/cours/arborescence/)
améliore efficacement le stockage et la recherche en base de données. Cette méthode
est particulièrement utile pour stocker les fils d'Ariane
ou les catégories imbriquées. [Frédéric Brouard](http://sqlpro.developpez.com/) a écrit un
[article](http://sqlpro.developpez.com/cours/arborescence/) et considérablement
amélioré intrasèquement les requêtes SQL exécutés, mais ce processus permet surtout de
diminuer dratiquement le nombre de requête nécessaire pour obtenir les tuples souhaités.
Cette image extraite de son article présente une arborescence intervallaire:

Pour résumer, pour obtenir tous les descendants de `terrestre`, il suffit d'une requête pour récupérer
tous les tuples dont les bornes sont comprises entre celles de `terrestre`, c'est-à-dire entre
`22` et `36`.
Dans sa version 1.0, ce bundle permettra de récupérer un ensemble d'entités rapidement.
Dans sa version 2.0, ce bundle permettra également de manipuler les entités (ajout, modification, suppression)
Comment utiliser ce paquet ?
----
Si vous avez une entité devant être stockée par arborescence intervallaire, il vous suffit de créer une entité héritant de AbstractTree
Ensuite pour manipuler ces entités (ajout, suppression, etc...) il vous suffit de faire appel au TreeManager. Il fera appel au TreeRepository
et lèvera des exceptions TreeException en cas d'erreur.
Cette documentation va évoluer rapidement. Je recherche un traducteur vers l'anglais.