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
Un SGBDR digne de ce nom doit diposer d’un certain nombre de caractéristiques minimales :
- 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.
- existence d’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 bureautiques ou des fichiers gros systèmes par exemple
- optimisation de 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 éprouvé,
- accès simple via un langage de requêtes SQL
- normalisé : Comme dans toute norme, elle est enrichie par les différents fournisseurs de logiciels. Mais si l’on se contraint à écrire des procédures respectant la norme ISO/ANSI 92 par exemple, on est quasiment guaranti de pouvoir porter ce code sur Oracle, Informix ou Sybase…
- 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 (contrôle 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 (contrôle de la cohérence d’attributs de tables différentes lors des mises à jour
