Base de données relationnelle vs hiérarchique
Les bases de données stockent des données (« enregistrements ») et décrivent leurs relations. Types principaux : hiérarchique, réseau, relationnelle, orientée objet. Chacune sert des objectifs différents et décrit les enregistrements différemment.
Bases de données hiérarchiques
Parmi les plus anciennes et simples. Structure en « arbre » (comme dossiers/fichiers). Chaque enregistrement a un seul « parent ». Relations uniquement parent/enfant.
Problèmes du modèle hiérarchique
Adapté aux structures simples. Problème : un « enfant » ne peut avoir qu'un « parent ». Ex: base avec parents et enfants employés. Impossible de dire que les deux parents d'un même enfant travaillent pour l'entreprise. En langage BDD : relation « plusieurs-à-un » (ou « plusieurs-à-plusieurs » si plusieurs enfants) — mal gérée par le modèle hiérarchique.
Bases de données relationnelles
Pas de problème avec plusieurs-à-un ou plusieurs-à-plusieurs. Enregistrements organisés en tables (pas arbres), chaque enregistrement a un identifiant unique. Ex: table « parents », table « enfants ». Chaque parent peut être lié à un/plusieurs/aucun enfants via « est parent de ». Cette capacité de relations donne leur nom aux BDD relationnelles.
Avantages des BDD relationnelles
- Prévention erreurs : un enregistrement s'applique à plusieurs tables sans duplication. Ex: même enfant dans relation « est enfant de » et table « enfants au pique-nique ». Info unique, utilisée de multiples façons sans altération accidentelle.
- Requêtes SQL : exploration puissante (ex: tous enfants > âge X, parents avec ≥3 enfants).
Utilité des BDD hiérarchiques
Les relationnelles sont plus flexibles, mais pas toujours nécessaire. Bibliothèques : système Dewey (hiérarchique). Liste de contacts téléphone : hiérarchique suffit. Une BDD est un outil : le bon outil dépend du travail.
