Les S.G.B.D.R
Intro
définitions
Caractéristique d'un vrai SGBD
Caractéristiques du relationnel
Introduction
Les SGBDRs ou système de gestion de base de données relationnels
sont 'de facto' les SGBDs les plus répandus dans l'industrie.
Citons pour mémoire : Oracle, SQLServer, Sybase, DB2, Informix, Ingres,
et dans le domaine du logiciel libre PostGres, MySQL.
Note : Chacun de ces logiciels implémente plus ou moins
bien les caractéristiques d'un SGBDR que nous allons essayer de décrire
ici.
Il
ne faut pas confondre, comme on peut le lire parfois dans certains articles,
la notion de SGBD relationnel ou non avec celle de base de données.
Une base de données est un ensemble physique de données et le
SGBD l’ensemble du logiciel qui permet d’y accéder.
Définitions
Un SGBD est un système
complexe permettant de gérer de manière efficace, un volume important
de données structurées, accessible par des utilisateurs simultanés
locaux ou non.
Un SGBDR (ou RDBMS en Anglais) est un SGBD basé sur le modèle
relationnel.
Une relation est un sous ensemble de données caractérisé
par des attributs et visualisable sous forme de table.
Bien que cela ne soit pas vraiment formalisé, envisageons d'un point de
vue pragmatique quelles doivent être les
Caractéristiques d'un 'vrai' SGBD par opposition à des systèmes
de gestion de fichiers plus ou moins évolués comme Paradox, Omnis,
fileMaker, Access...
Caractéristique d'un vrai SGBD
- gestion de gros volumes de données (en consultation et en mise à
jour),
- Sécurité des données, qui se décline en :
disponibilité
Un SGBDR se doit d’offrir
une bonne disponibilité des données. Une disponibilité
totale des données est possible (temps de reprise nul) il suffit de
s’en donner les moyens logiciels et matériels...
fiabilité
Des mécanismes de sauvegarde variés (physique, logique, off-line,
on-line, totale, partielle, incrémentale), ainsi que des mécanismes
de journalisation, et de reprise permettent de restaurer une information sans
pratiquement aucune perte, dans tous les cas de problème matériel
ou logiciel.
confidentialité
Tout n’est pas accessible à tout le monde! Se connecter à la
base de données, donne un certain nombre de droits et de ressources
en fonction d’un profil défini et maintenu par un administrateur. La
granularité d’accès peut aller jusqu’à la vision unique
d’un champ d’un enregistrement d’une table particulière. Encore une
fois on ne manipule plus des fichiers...
cohérence
Que les données soient réparties ou non –dans ce dernier
cas les mécanismes mis en jeux seront plus complexes– elles doivent
être cohérentes. Cela sous entend, d’une part que les accès
concurrents d’utilisateurs, notamment lors de mises à jour, ne doivent
pas compromettre l’intégrité des données et d’autre part
que ces dernières satisfassent aux contraintes d’intégrité
du modèle, mais aussi aux règles de gestion de l’entreprise.
tracabilité
On peut, notamment en cas de problème important ou en cas d’attaque
du système, recourir à l’analyse de traces ou de logs du SGBD.
Le niveau de détail de ces traces est paramétrable, et concerne
soit les aspects système, soit réseau, soit l’accès aux
données élémentaires elles-mêmes.
- concurrence d'accès en lecture et écriture (avec une bonne
granularité),
- gestion (efficace) des transactions,
- portabilité sur différents OS, des données et du code
- Administrabilité
:
- existence d’outils d’administration généraux : gestion
des données, des utilisateurs, des fichiers physiques, des espaces
logiques, des droits, des profils, des ressources systèmes, etc.
- outils de surveillance
en temps réel grâce à un moniteur, si possible graphique
ou en temps différé grâce à des journaux ou à
des traces paramétrables
- possibilité d’export
import :
de, ou vers des fichiers texte, des logiciels bureautique ou des fichiers
Gros systêmes par exemple
- performances :
offrir de bonnes performances
et des outils permettant de les mesurer et de les contrôler via des
paramètres de configuration. Des processus d’optimisation en temps
réel des requêtes complexes sont également souvent présents.
Les données peuvent être indexées, de manière souple,
dynamique et complète (index simples, concaténés, multiples,
tables de hashage, recherche textuelle, etc.). Un nombre important d’utilisateurs,
ainsi qu’un volume conséquent de données peuvent être
pris en compte.
Caractéristiques du relationnel
- modèle sous jacent simple, bien formalisé et épprouvé,
- accès simple via un langage de requêtes SQL
normalisé : Comme
dans toute norme, elle est enrichie par les différents fournisseurs
de logiciel. Mais si l’on se contraint à écrire des procédure
respectant la norme ISO/ANSI 92 par exemple, on est quasiment guaranti de
pouvoir porter ce code sur Oracle, Informix ou Sybase... qui doit être
et complet :
- opérateur de projection (ou selection), restriction, produit cartésien,
union, différence,
- indépendance entre stockage physique et vision logique des données :
Les données (le
plus souvent des tables) sont référencées de manière
logique. Un dictionnaire de données permet de retrouver la correspondance
avec l’objet physique désiré. Ceci est bien sûr très
utile dans les environnements ouverts, et offre une grande souplesse aussi
bien lors du développement, que lors de la mise en production ou dans
la phase de maintenance des applicatifs. La conséquence est que l’on
pourra déplacer physiquement des données, par exemple les changer
de serveur, renommer ou retailler un fichier sans pour autant retoucher le
code des applications. Il n’y a pas de correspondance bijective entre un fichier
et une table.
- existence de contraintes d'intégrité
- intégrité de domaines (controle du type de la donnée)
- intégrité de relation (existence d'une clé primaire
: unique et toujours définie (non nulle))
- intégrité de référence (controle de la cohérence
d'attributs de tables différentes lors des mises à jour)
(c) 2002- 2006 Didier Deléglise