Ajouter Arbres
44
Arbres.md
Normal file
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 s’organisent 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, c’est-à-dire des données organisées en arbres. C’est le cas, par exemple, lorsqu’on souhaite gérer :
|
||||
- une arborescence de catégories de produits et leurs sous-catégories,
|
||||
- une structure d’entreprise avec ses départements et sous-départements,
|
||||
- ou encore des commentaires imbriqués dans un forum.
|
||||
|
||||
## Adjacency List (modèle d’adjacence)
|
||||
|
||||
Chaque nœud stocke l’identifiant de son parent.
|
||||
|
||||
Avantages
|
||||
- Simple à comprendre.
|
||||
- Facile à insérer / modifier.
|
||||
|
||||
Limites
|
||||
- Difficile d’interroger 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 d’ensembles imbriqués)
|
||||
|
||||
## Materialized Path (chemin matérialisé)
|
||||
|
||||
## Représentation intervallaire
|
||||
Reference in New Issue
Block a user