Ajouter Arbres

2025-08-28 09:50:05 +02:00
parent 91f91dad96
commit 5f400aa86f

44
Arbres.md Normal file

@@ -0,0 +1,44 @@
# Arbres
Les bases de données relationnelles sont conçues pour modéliser et organiser des informations structurées sous forme de tables, reliées entre elles par des relations. Dans la plupart des cas, les données sorganisent naturellement sous une forme tabulaire simple (par exemple une liste de clients, de commandes ou de produits).
Cependant, certaines situations nécessitent de représenter des données hiérarchiques, cest-à-dire des données organisées en arbres. Cest le cas, par exemple, lorsquon souhaite gérer :
- une arborescence de catégories de produits et leurs sous-catégories,
- une structure dentreprise avec ses départements et sous-départements,
- ou encore des commentaires imbriqués dans un forum.
## Adjacency List (modèle dadjacence)
Chaque nœud stocke lidentifiant de son parent.
Avantages
- Simple à comprendre.
- Facile à insérer / modifier.
Limites
- Difficile dinterroger plusieurs niveaux sans récursivité.
```sql
CREATE TABLE familles (
id SERIAL PRIMARY KEY,
nom TEXT NOT NULL,
parent_id INT REFERENCES familles(id)
);
```
```
Électronique
├── Téléphones
│ ├── Smartphones
│ └── Téléphones fixes
└── Télévisions
└── Accessoires TV
```
###
## Nested Sets (modèle densembles imbriqués)
## Materialized Path (chemin matérialisé)
## Représentation intervallaire