II.3.1. Notions et définition
La recherche sur la gestion et l'accès à une
base de données sont assurés par un ensemble de programmes qui
constituent le Système de gestion de base de données (SGBD). Un
SGBD exerce les fonctions comme l'ajout, la modification et la recherche de
données. Il est chargé d'héberge
généralement plusieurs bases de données, qui sont
destinées à des logiciels ou des thématiques
différents.
Cependant du fait de recevoir plusieurs requêtes, la
plupart des SGBD fonctionnent selon un mode client/serveur. Le serveur
(sous-entendu la machine qui stocke les données) reçoit des
requêtes de plusieurs clients et ceci de manière concurrente. Le
serveur analyse la requête, la traite et retourne le résultat au
client. Le modèle client/serveur est assez souvent
implémenté au moyen de l'interface des sockets (voir le cours de
réseau) ; le réseau étant Internet.
Dans ce mouvement, une variante de ce modèle est le
modèle ASP (Application Service Provider). Dans ce modèle, le
client s'adresse à un mandataire (broker) qui le met en relation avec un
SGBD capable de résoudre la requête. La requête est ensuite
directement envoyée au SGBD sélectionné qui résout
et retourne le résultat directement au client.
La déclinaison de ce modèle est qu'un des
problèmes fondamentaux à prendre en compte est la
cohérence des données. Par exemple, dans un environnement
où plusieurs utilisateurs peuvent accéder concurremment à
une colonne d'une table par exemple pour la lire ou pour l'écrire, il
faut s'accorder sur une évidence d'écriture. Cette
évidence peut être : les lectures concurrentes sont
autorisées mais dès qu'il y a une écriture dans une
colonne, l'ensemble de la colonne est envoyée aux autres utilisateurs
l'ayant lue pour qu'elle soit rafraîchie.
Un Système de Gestion de Base de Données est
alors considérer comme un ensemble de logiciels prenant en charge la
structuration, le stockage, la mise à jour et la maintenance des
données. Autrement dit, il permet de décrire, modifier,
interroger et administrer les données. C'est, en fait, l'interface entre
la base de données et les utilisateurs (qui ne sont pas forcément
informaticiens).
30
II.3.2. Objectifs, propriétés, composants et
organisation de la mise en oeuvre d'un SGBD
§1. Objectifs d'un SGBD
Les objectifs et les propriétés principaux ont
été fixés aux SGBD dès l'origine de ceux-ci et ce,
afin de résoudre les problèmes causés par la
démarche classique.
· Indépendance physique
: La façon dont les données sont définies
doit être indépendante des structures de stockage
utilisées.
· Indépendance logique
: Un même ensemble de données peut être vu
différemment par des utilisateurs différents. Toutes ces visions
personnelles des données doivent être intégrées dans
une vision globale.
· Accès aux données
: L'accès aux données se fait par
l'intermédiaire d'un Langage de Manipulation de Données (LMD). Il
est crucial que ce langage permette d'obtenir des réponses aux
requêtes en un temps « raisonnable ». Le LMD doit donc
être optimisé, minimiser le nombre d'accès disques, et tout
cela de façon totalement transparente pour l'utilisateur.
· Administration centralisée des
données (intégration) : Toutes les données
doivent être centralisées dans un réservoir unique commun
à toutes les applications. En effet, des visions différentes des
données (entre autres) se résolvent plus facilement si les
données sont administrées de façon centralisée.
· Non redondance des données
: Afin d'éviter les problèmes lors des mises
à jour, chaque donnée ne doit être présente qu'une
seule fois dans la base.
· Cohérence des données
: Les données sont soumises à un certain nombre de
contraintes d'intégrité qui définissent un état
cohérent de la base. Elles doivent pouvoir être exprimées
simplement et vérifiées automatiquement à chaque
insertion, modification ou suppression des données. Les contraintes
d'intégrité sont décrites dans le Langage de Description
de Données (LDD).
· Partage des données :
Il s'agit de permettre à plusieurs utilisateurs d'accéder aux
mêmes données au même moment de manière transparente.
Si ce problème est simple à résoudre quand il s'agit
uniquement d'interrogations, cela ne l'est plus quand il s'agit de
modifications dans un contexte multi-utilisateurs car il faut : permettre
à deux (ou plus) utilisateurs de modifier la même donnée
« en même temps » et assurer un résultat d'interrogation
cohérent pour un utilisateur consultant une table pendant qu'un autre la
modifie.
31
· Sécurité des données
: Les données doivent pouvoir être
protégées contre les accès non autorisés. Pour
cela, il faut pouvoir associer à chaque utilisateur des droits
d'accès aux données.
· Résistance aux pannes
: Que se passe-t-il si une panne survient au milieu d'une
modification, si certains fichiers contenant les données deviennent
illisibles ? Il faut pouvoir récupérer une base dans un
état « sain ». Ainsi, après une panne intervenant au
milieu d'une modification deux solutions sont possibles : soit
récupérer les données dans l'état dans lequel elles
étaient avant la modification, soit terminer l'opération
interrompue.
|