1.2.6. Systèmes de gestion de bases de
données
lin SGBD est un logiciel complexe qui permet de gérer
et d'utiliser les données que l'on stocke en utilisant les
modèles cités précédemment.
1.2.6.1. Evolution des systèmes de gestion de
base de données
L'évolution des systèmes de gestion de base de
données est très liée au différent modèles
de données
a) Les SGBD hiérarchiques et réseaux
Les SGBD hiérarchiques et réseau constituent la
première génération de SGBD. Malheureusement ils
comportaient certaines lacunes notamment au plan des fondements
théoriques. De plus ils ne permettaient pas en pratique d'assurer
l'indépendance tant souhaitée entre les applications et les
données.
En effet, comme le lien entre deux enregistrements
était implanté à l'aide d'un pointeur, soit une sorte
d'adresse permettant de repérer un enregistrement associé, cela
donnait lieu à des programmes complexes même pour des
requêtes simples.
b) Les SGBD relationnels
De physiques qu'étaient les liens dans les
SGBD hiérarchiques ou réseau, les liens sont dorénavant
logiques, basés sur les valeurs des champs, ce qui rend la
navigation entre les enregistrements beaucoup plus souples. Les SGBD
relationnels
28
sont de deuxième génération et ils ont
tous en commun intrinsèquement un langage appelé SQL (Structured
Query Language) SQL agissant à la fois comme langage de
définition et langage de manipulation de données.
c) Les SGBD orientés objet
Le développement de langages orientés objets a
conduit à la mise au point de SGBD devant assurer la persistance des
objets, soit le stockage permanent sur un support de mémoire
auxiliaire des objets créés à l'aide de tels langages Ce
SGBD dit orienté objet ou simplement SGBD objet
appartient à la troisième
génération
d) Autres SGBD
À l'aube du xxie siècle on parle d'une
quatrième génération de SGBD. Il s'agit d'une
catégorie hétérogène de SGBD conçus avant
tout pour des applications spécialisées, comme par exemple les
SGBD OLAP (On Line Analytical Processing) largement utilisés
pour l'entreposage des données et l'exploration des données, les
SGBD XML pour les applications Web, ou enfin les SGBD de contraintes pour les
applications d'optimisation
1.2.6.2. Fonctionnalités d'un SGBD
De même que l'ISO a déterminé un
modèle théorique en sept couches pour distinguer les applications
réseaux et leurs interactions, il existe désormais un
modèle théorique en trois couches (trois niveaux d'abstraction)
afin de concevoir et d'organiser les fonctionnalités des SGBD.
Cette dernière s'inscrit dans les concepts et
théories de la première génération des bases de
données, dont l'objectif est d'avoir une indépendance
entre les données et les traitements :
i' Niveau interne ou physique. C'est le
niveau le plus « bas ». On décrit les structures de stockage
de l'information, ce qui le rend très dépendant du SGBD
employé. Il se fonde sur un modèle de données
physique.
i' Niveau conceptuel. Il correspond à
l'implémentation du schéma conceptuel de la base de
données, que l'on réalise lors de la phase d'analyse. Il
est utilisé pour décrire les éléments constitutifs
de la base de données et les contraintes qui leur sont
associées.
29
? Niveau externe. Le niveau externe sert
à décrire les vues des utilisateurs,
c'est-à-dire le schéma de visualisation des
données qui est différent pour chaque catégorie
d'utilisateurs. lin schéma externe permet de masquer la
complexité de la base de données complète en fonction des
droits ou des besoins des utilisateurs. Cela facilite la lecture et la
sécurité de l'information.
![](Mise-en-place-d-une-application-web-mobile-pour-la-prise-en-charge-des-hypertensions11.png)
Figure 1.7. Niveaux d'abstraction
Les SGBD ne respectent pas à la lettre le
découpage proposé. Ils se doivent cependant de posséder
les principales caractéristiques qui découlent de ce
modèle en couches :
30
Indépendance physique des données.
Masquer la représentation interne des données ainsi que
les méthodes système d'accès aux utilisateurs.
Indépendance logique des données.
Permettre la modification du schéma conceptuel des
données sans remettre en cause les mécanismes de stockage et de
manipulation internes des données.
Intégrité des données.
Faire en sorte que l'information résultant des liens entre
les données soit cohérente.
Un SGBD doit permettre également la manipulation de la
structure de la base de données, comme l'ajout et la modification de
champs, de manière transparente. Il conserve à cet effet une
description de la structure de la base de données que l'on appelle le
« dictionnaire de données ». Pour réaliser ces
opérations avec l'indépendance souhaitée par rapport
à la représentation, le SGBD offre deux langages de haut niveau
:
? Un Langage de Description de Données (LDD)
qui permet d'agir sur la
structure de la base de données (ajout, suppression et
modification des tables) ? Un Langage de Manipulation de Données
(LMD) qui permet d'interroger et
de mettre à jour le contenu de la base de
données.
Ces langages sont de type « non procédural »,
c'est-à-dire que l'on s'intéresse à l'effet de
l'opération (le quoi) et non pas à la manière dont elle
est réalisée (le comment).
Le SGBD doit également assurer la protection des
données en cas de problèmes. Ceux-ci peuvent être la
conséquence d'une manipulation malheureuse, mais également d'une
panne du système qui survient par exemple à la suite d'une
coupure de courant. Dans tous les cas, le SGBD doit permettre de restaurer les
données. Ces opérations sont généralement
réalisées en utilisant des « journaux » qui
enregistrent au fur et à mesure les opérations faites sur la base
: c'est le mécanisme de la journalisation. Ce journal
est utilisé pour refaire, ou défaire le cas
échéant, ces opérations.
En ce qui concerne les opérations de modification
effectuées sur la base de données, que l'on appelle des
transactions, des propriétés de mesure de la
qualité de ces transactions sont proposées sous le terme ACID
:
· Atomicité. Une transaction est
« atomique » ; elle est exécutée entièrement ou
abandonnée.
· Cohérence. La transaction doit
se faire d'un état cohérent de la base vers un autre état
cohérent.
·
31
Isolement. Des transactions simultanées ne doivent pas
interférer entre elles.
· Durabilité. La transaction a des effets permanents
même en cas de panne.
À noter que tous les SGBD ne réalisent pas
cette propriété ACID pour les transactions.
L'accès concurrentiel implique des opérations
algorithmiques complexes à réaliser, puisqu'il faut par exemple
empêcher la modification d'une valeur par un utilisateur alors qu'elle
est en lecture par un autre. Cela nécessite la gestion d»une
structure de description des utilisateurs comprenant les droits qui leur sont
associés pour chaque élément (lecture, modification...) :
les droits d'accès aux données. Les
mécanismes sont les mêmes que ceux qui sont mis en oeuvre dans les
systèmes d'exploitation multiutilisateurs.
|