Système de gestion de base de données
Introduction
Dans une base de données, l'information est stockée dans des fichiers. Pour y avoir accès, il faut utiliser un logiciel que l'on appelle "système de gestion de base de données" (SGBD).
Il en existe plusieurs, des gratuites, des payantes, des libres et des propriétaires.
les SGBD permettent de gérer la lecture, l'écriture ou la modification des informations contenues dans une base de données
les SGBD permettent de gérer les autorisations d'accès à une base de données. Il est en effet souvent nécessaire de contrôler les accès par exemple en permettant à l'utilisateur A de lire et d'écrire dans la base de données alors que l'utilisateur B aura uniquement la possibilité de lire les informations contenues dans cette même base de données.
les fichiers des bases de données sont stockés sur des disques durs dans des ordinateurs, ces ordinateurs peuvent subir des pannes. Il est souvent nécessaire que l'accès aux informations contenues dans une base de données soit maintenu, même en cas de panne matérielle. Les bases de données sont donc dupliquées sur plusieurs ordinateurs afin qu'en cas de panne d'un ordinateur A, un ordinateur B contenant une copie de la base de données présente dans A, puisse prendre le relais. Tout cela est très complexe à gérer, en effet toute modification de la base de données présente sur l'ordinateur A doit entraîner la même modification de la base de données présente sur l'ordinateur B. Cette synchronisation entre A et B doit se faire le plus rapidement possible, il est fondamental d'avoir des copies parfaitement identiques en permanence. C'est aussi les SGBD qui assurent la maintenance des différentes copies de la base de données.
plusieurs personnes peuvent avoir besoin d'accéder aux informations contenues dans une base données en même temps. Cela peut parfois poser problème, notamment si les 2 personnes désirent modifier la même donnée au même moment (on parle d'accès concurrent). Ces problèmes d'accès concurrent sont aussi gérés par les SGBD.
Comme nous venons de la voir, les SGBD jouent un rôle fondamental. L'utilisation des SGBD explique en partie la supériorité de l'utilisation des bases de données sur des solutions plus simples à mettre en oeuvre; mais aussi beaucoup plus limitées comme les fichiers au format CSV.
Ce sont des logiciels dont la conception est bien trop complexe pour pouvoir être abordée dans ce cours ; nous nous contenterons d'interagir avec eux par l'intermédiaire de requêtes exprimées dans un langage devenu standard au fil des temps : le langage SQL (pour Structured Query Language).
Architecture
Sur un réseau informatique, des informations sont en permanence échangées entre deux machines, un logiciel assurant le traitement des informations sur chacune d'entre elles.
On distingue le logiciel client installé sur la machine qui envoie des requêtes du logiciel serveur installé sur la machine qui traite les requêtes.
Par extension, les machines sont également désignées par les noms de client et serveur.
Ce mode de communication est appelé architecture à deux niveaux. C'est l'une des architectures client-serveur possibles.

L'architecture trois-tiers est une architecture client-serveur qui ajoute un niveau supplémentaire dans l'environnement précédemment décrit.
Un serveur de données transmet les informations à un serveur d'application qui, à son tour, transmet les informations traitées vers un client.
Ce modèle d'architecture présente plusieurs avantages :
meilleure prise en compte de l'hétérogénéité des plates-formes ;
amélioration de la sécurité des données en supprimant le lien entre le client et les données ;
meilleure répartition des tâches entre les différentes couches logicielles.
