Accès C++ aux bases de données 2 - Principes de base et vocabulaire
H. Schyns 2.1
2. Principes de base et vocabulaire
2.1. Base de données
Dans les versions précédentes du projet, nous avons conservé les informations dans
un ensemble de fichiers binaires indépendants entre eux.
C'était à notre application qu'il incombait de vérifier la validité des données, leur
cohérence et leur intégrité référentielle.
Habituellement, ces tâches sont confiées à un système de gestion de base de
données (SGBD).
La base de données est la pièce centrale de toute application logicielle qui collecte
des données, les stocke, les traite et les restitue aux utilisateurs. D'un point de vue
conceptuel, la base de données n'est rien d'autre qu'un conteneur tout comme notre
ensemble de fichiers était un conteneur.
L'ensemble des fonctions membres de ce container constitue le système de gestion
de base de données (SGBD). Il permet non seulement d'accéder aux données qui y
sont stockées grâce à un langage standard nommé SQL, mais aussi de manipuler la
structure de la base de données. Le SGBD sert donc d'intermédiaire entre la base
de données et ses utilisateurs.
L'utilisation d'une base de données en lieu et place de fichiers permet :
- de partager des informations entre plusieurs utilisateurs simultanés
- de contrôler automatique de la cohérence et de la redondance des informations
- de limiter l'accès aux informations à certaines catégories d'utilisateurs
- de produire plus facilement des informations synthétiques à partir des
renseignements bruts.
L'administrateur de bases de données est la personne chargée d'organiser le
contenu de la base de données d'une manière qui soit bénéfique à l'ensemble des
utilisateurs. Il en gère les accès et en assure la sécurité (backups).
2.2. Associer application et base de données
Avant de plonger dans la réalisation pratique, voyons quelques principes de base
sur la manière de travailler avec une base de données.
Dans une architecture 3-tier ou MVC, l'application et le modèle de données sont
généralement "déconnectés". On entend par là le fait que l'application et la base de
données sont totalement séparées : une application Java utilise les données
fournies par un serveur ORACLE; un module C++ gère des données stockées dans
un environnement MS Access, un module PHP traite les données conservées dans
un environnement MySQL, etc.
Dès lors, l'application, qui ne possède pas les données, doit aller les chercher avant
d'exécuter les traitements qui lui sont demandés par l'utilisateur.