Introduction aux SGBDs

Introduction aux SGBDs

1.    Introduction

Aujourd’hui, la disponibilité de systèmes de gestion de base de données fiables permet aux organisations de toutes tailles de gérer des données efficacement, de déployer des applications utilisant ces données et de les stocker. Les bases de données sont actuellement au coeur du système d’information des entreprises.

2.    Notion de base de données

Une base de données (Database en anglais) est un ensemble structuré de données enregistrées dans un serveur et accessible de façon sélective par plusieurs utilisateurs. Le concept de base de données est apparu vers 1960, face au nombre croissant d'informations que les entreprises devaient gérer et partager. Chaque nouvelle application créait alors ses propres fichiers de données et ses propres programmes ; le concept de base de données va à l'encontre de cette façon de procéder : il permet la centralisation, la coordination, l'intégration et la diffusion de l'information archivée.

La base de données enregistre les faits ou événements qui surviennent dans la vie d'un organisme, pour les restituer à la demande : elle permet également de tirer des conclusions en rapprochant plusieurs faits élémentaires.
Les données peuvent être manipulées par plusieurs utilisateurs ayant des vues différentes sur ces données ("points de vue" différents).

La structure d’ensemble des données suit une définition rigoureuse appelée SCHEMA (cette notion sera traité prochainement).

Toute phase de réalisation d’une base de données est précédée d’une phase dite phase de conception.
Cette dernière nécessite une analyse approfondie du monde réel ainsi que des besoins des futurs utilisateurs. Parmi les méthodes de conception utilisées, nous pouvons citer : Merise et UML.

3. Notion de SGBD

Un SGBD (Système de Gestion de Base de Données) est un logiciel permettant d’interagir avec une base de données. De plus, le SGBD doit répondre aux besoins de toute l’entreprise et non plus d’une application particulière. Vous devez donc considérer le SGBD comme un ensemble de logiciels de gestion, de contrôle d’accès aux données et aux programmes les manipulant.

De nos jours, plusieurs SGBDs existent dans le marché, à savoir : MS-ACCESS, Oracle, MS-SQL Server,
MySQL, Sybase, O2,…

4. Objectifs d’un SGBD

Un SGBD permet plusieurs objectifs dont voici quelques unes :
_ Décrire le schéma d’une base de données.
_ Créer une base de données.
_ Manipuler une base de données (insertion, modification ou suppression des données).
_ Consulter une base de données (sélection, tri, calcul).
_ Définir des contraintes d’intégrité sur une base de données (contraintes de domaines et contraintes d’existence).
_ Définir des protections d’accès (attribution de password et autorisations d’accès).
_ Résoudre les problèmes d’accès multiples aux données.
_ Prévoir des procédures de reprise en cas d’incident (ex. sauvegarde des données).

5. Les contrôles sous SGBD

5.1 Intégrité

Les données stockées dans une BD doivent respecter un certain nombre de contraintes dites d’intégrité.
Un SGBD doit assurer que les contraintes d’intégrité sont respectées.

5.2 Concurrence

En général plusieurs utilisateurs se partagent la même base de données. Plusieurs transactions peuvent donc s’exécuter en même temps. Un SGBD doit assurer que les éventuels conflits entre ces transactions
ne mettent pas la base de données dans un état incohérent.

5.3 Sécurité

Après une panne, qu’elle soit d’origine logicielle ou matérielle, un SGBD doit être capable de restaurer la base de donnée dans un état cohérent, le même ou le plus proche de celui précédant la panne.

5.4 Confidentialité

Un SGBD doit permettre d’interdire à certaines personnes de réaliser certaines opérations sur une partie ou sur toute la base de données.

6. Utilisateurs d’un SGBD

On peut caractériser les utilisateurs d’un SGBD en trois grandes catégories : les administrateurs, les utilisateurs informaticiens, et les utilisateurs non informaticiens.

6.1 Les administrateurs

- Administrateur système : Un administrateur système (appelé aussi root ou administrator) est le responsable de la configuration du système d’exploitation et du matériel qui accueillent le SGBD. Il attribue les ressources système à l’administrateur du SGBD.
- Administrateur du SGBD : Un administrateur du SGBD (ou sa : system administrator) est responsable de l’installation, de l’attribution des droits aux différents usagers, de la maintenance
du SGBD…etc.
- Administrateur de base de données : Un administrateur de base de données (ou dba : data base
administrator) est responsable d’une ou plusieurs bases de données. Il est propriétaire de tous les privilèges au sein de ces bases de données, et est responsable de la base de données, de sa création, de sa sécurité (droits d’accès), de sa maintenance,…etc.
- Administrateur des données : Un administrateur des données est le propriétaire des données stockées dans la base. Il n’est forcement un informaticien mais un fonctionnel du domaine concerné. Il est souhaitable qu'il ait participé à la conception de la base de données. Il veille tout particulièrement à la cohérence et au codage des tables de référence et dispose, à ce titre de privilèges particuliers. Ex : Il est le seul habilité à créer et codifier un nouveau grade, un nouveau service, un nouveau personnel, … dans la base de données.

6.2 Les utilisateurs informaticiens

- Programmeurs d’applications : Les programmeurs et concepteurs d'application conçoivent les traitements en connaissant tout ou partie de la base de données, et utilisent des langages hôtes (ex. Visual Basic, C++, PHP…) ou des outils du SGBD pour accéder aux bases de données.
- Utilisateurs occasionnels : Les utilisateurs occasionnels se servent plus particulièrement du langage de requête (ex. SQL) pour effectuer des opérations de consultation et / ou de mises à jour ponctuelles, en dehors de tout environnement applicatif.

6.3 Les utilisateurs non informaticiens

Les utilisateurs non informaticiens (ou exploitants) effectuent des opérations élémentaires sur la base de
données en utilisant des programmes définis.
Les moyens et mécanismes employés leur sont inconnus, le SGBD et la BD leur sont transparents, ils n'ont qu'une vision partielle des données et des traitements afférents.

7. Types de SGBD

Tout SGBD se base sur un modèle de données. Un modèle de données est un moyen pour décrire (représenter) la forme logique des données. Parmi les modèles de représentation des données on cite :
- Fichiers plats : accès séquentiel (1ère génération)
- Modèle hiérarchique : modèle en arborescence (1ère génération)
- Modèle réseau : extension du modèle hiérarchique (1ère génération)
- Modèle relationnel : modèle en tables ou relations (2ème génération).
- Modèle orienté objet : modèle fondé sur les objets (3ème génération).
- Modèle objet/relationnel : modèle utilisant des objets et des relations (3ème génération).
Le modèle relationnel (SGBDR) est le modèle le plus répandu aujourd’hui. Il lève toutes les contraintes du modèle hiérarchique et du modèle réseau. Ce modèle sera traité en particulier dans le chapitre suivant.