Quel est le modèle de jeu imbriqué?
Le modèle d'ensemble imbriqué est également connu sous le nom de l'algorithme de traversée d'arbre précommande modifié et est un moyen de stocker des données hiérarchiques dans des bases de données relationnelles. Ce modèle a l'avantage de fournir un accès très rapide et est mieux mis en œuvre dans les hiérarchies qui sont lues plus fréquemment qu'écrites. Chaque nœud dans le modèle d'information se voit attribuer deux nombres stockés sous forme d'attributs. Interroger le modèle d'ensemble imbriqué est assez facile car les deux valeurs peuvent être utilisées pour retirer les données nécessaires. La réalisation des insertions, des suppressions, des mouvements et des mises à jour, cependant, est beaucoup plus lourde car ils peuvent impliquer le renumérotation des nœuds.
généralement utilisé pour représenter des ensembles imbriqués ou des informations hiérarchiques sous la forme d'arbres, le modèle de jeu imbriqué a été introduit par Joe Celko. Un arbre, dans ce cas, est une structure de données qui contient un certain nombre de nœuds liés. Par exemple, un nœud parent peut se connecter à plusieurs nœuds enfants, et cette structure est répétée à travers l'arbre à travers plusieurs LEVEls. Les arbres
sont un excellent moyen de stocker des informations dans un ordre particulier dans une base de données relationnelle, qui est un ensemble de données qui stocke les données en fonction des caractéristiques communes. Par exemple, les informations sur les produits dans la section alimentaire d'un magasin peuvent commencer par la nourriture, se ramifier en fruits, légumes et viande. Les fruits peuvent en outre être subdivisés en baies, melons et pommes et légumes en tubercules, verts et autres, et de la viande dans le porc, le mouton et le veau.
Une base de données relationnelle stocke toutes ces informations sous une forme facile à comprendre, et un modèle d'ensemble imbriqué permet de gérer la structure de l'arborescence efficacement. En utilisant l'exemple ci-dessus, le nœud racine serait de la nourriture, qui est représentée par deux valeurs. Étant donné la valeur de gauche pour la nourriture comme 1, les autres articles de l'arbre se voient attribuer un nombre sur la gauche dans l'ordre. Les fruits obtiendraient une valeur de 2 à gauche, les baies seraient 3, etc. Le VALes Lines sont ensuite affectées sur le côté droit, travaillant tout au long de l'arbre, de bas en haut, à travers chaque branche jusqu'à ce que la dernière valeur soit attribuée à la nourriture du côté droit.
Chaque élément de l'arbre se retrouve avec deux valeurs, disons lft pour la gauche et rgt pour la droite, qui peut être utilisée pour les identifier et indiquer leur relation avec d'autres éléments. Par exemple, si les fruits ont une valeur de 2 et 15, tous les nœuds qui ont des valeurs gauche supérieures à 2 et les valeurs droites inférieures à 15 sont des descendants de l'arbre fruitier 2 à 15. Il devient facile de retirer des informations sur tous les fruits en une seule fois car ces valeurs peuvent être spécifiées en une seule requête à la base de données.
Ce modèle est excellent pour stocker les informations qui sont souvent accessibles, mais les insertions, les suppressions et la réorganisation des informations dans le modèle de jeu imbriqué deviennent très fastidieuses. La réécriture des index et le renumérotation des informations peut provoquer une écrasement de la base de données, surtout si l'arbre grandit pour inclure des centaines de millierss de nœuds. Le modèle d'ensemble imbriqué est le meilleur pour les systèmes de gestion de contenu légers qui ont des insertions et des modifications minimes. Les insertions peuvent être rendues beaucoup plus rapidement dans le modèle d'intervalle imbriqué car il stocke la position de chaque nœud dans l'arbre à l'aide de décimales à virgule flottante tout en codant pour les informations du chemin.