Conception de Bases de données
Cette présentation n'est pas un cours exhaustif sur la conception de Bases de Données, mais une première approche destinée à préciser la démarche et les concepts nécessaires pour construire des bases de données cohérentes.
L'approche, et le vocabulaire utilisés sont volontairement destinés à des lecteurs non spécialistes sans pour autant éluder les notions essentielles indispensables au processus de conception : "Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément"... (Boileau)
La démarche et l'outil logiciel (voir ci-dessous) présentés dans ces pages ne sont pas des cas d'école et permettent de construire et d'utiliser des bases de données "réelles" à usage aussi bien individuel que professionnel.
------------------------------------
Les commentaires en vert s'adressent plus particulièrement aux "puristes" des bases de données.
La méthode de conception présentée ci-après est une méthode simple (accessible à tous) et opérationnelle. Mais simple ne veut pas dire simpliste. Cette méthode, comme toutes les méthodes de conception de bases de données relationnelles, repose sur les travaux de Codd (1970) de Date (1975) et suit les recommandations du groupe de travail ANSI-SPARK (1975). Seul l'aspect inutilement verbeux des méthodes "traditionnelles" a été délibérément supprimé.
------------------------------------
Le logiciel IBEasy+, développé par l'auteur, permet la mise en pratique des concepts développés dans cette présentation :
- Utilisation pratique de la démarche de conception de bases de données
- Conception et utilisation de bases de données relationnelles.
Le lecteur intéressé par les aspects formels peut se reporter dans ces pages à la rubrique "Normalisation des relations". Voir aussi le livre de C. J. Date.
Notion de Base de Données
Une base de données est un ensemble structuré d'informations non-redondantes dont l'organisation est régie par un modèle de données.
Les deux mots clefs qui interviennent dans la définition d'une base de données sont :
structuration (à l'aide du modèle de données) et non-répétition (non-redondance ou redondance minimale) des données.
Construire une base de données consiste à regrouper les données en paquets "homogènes", les (entités, tables), chaque entité (table) étant composée d'un nombre fini de données élémentaires, les Attributs ou Champs. La répétition (redondance) des attributs doit être minimale. Le modèle de données utilisé dans cette présentation est le modèle "entités-associations".
Système de Gestion de Base de Données (SGBD)
Un SGBD est un logiciel qui sert d'interface entre les utilisateurs et la Base de Données.
Un SGBD permet de décrire, manipuler et interroger les données d'une Base de Données. Il prends en charge tous les problèmes liés aux accès concurrents, à la sauvegarde et la restauration des données. Il doit de plus veiller au contrôle, à l'intégrité et la sécurité des données.
Bases de données et Banques de données
Une erreur fréquemment commise, et pas seulement par les débutants, consiste à appeler Bases de Données tout ensemble de fichiers ou rassemblement d'informations disparates. La définition d'une Base de Données correspond à des critères bien précis (cf. ci-dessus) et tout ensemble d'informations non structurées n'est pas une Base de Données. On parle alors d'ensemble de fichiers ou de Banques de Données.
Base de données et tableur
Une autre erreur, fréquemment commise par les utilisateurs débutants, consiste à confondre une base de données avec un tableur. Les tables d'une base de données se présentent effectivement en lignes et colonnes, comme dans un tableur, mais la comparaison s'arrête là et les différences entre les deux approches sont importantes et nombreuses. Le tableau suivant résume les principales différences entre une base de données et un tableur.
Différences sur... | Tableur | Base de données |
Utilisation principale | Calculs | Gestion et traitement des données |
Structuration des données | Aucune | Structuration et cohérence forte |
Contrôles d'intégrité des données | Aucuns | Vérification stricte des valeurs possibles de chaque donnée |
Accès aux données | Mono utilisateur | Multi utilisateurs |
Confidentialité des données | Aucun contrôle | Vérification des droits d'accès de chaque utilisateur |
Taille des données | - Une table - Quelques dizaines de lignes |
- Plusieurs tables - Plusieurs milliers de lignes par table |
Traitement sur les données | Quantitatifs | Qualitatifs et quantitatifs |
Interrogations des données | Réalisée par des procédures spécifiques | Langage "universel" : SQL |
La conception de Bases de Données
La conception d'une Base de Données implique 3 étapes fondamentales :
- Analyse des documents : construction du dictionnaire des données.
- Structuration du dictionnaire des données : détermination des entités et associations.
- Mise en relation des entités : Schéma des données.
Problèmes liés à une modélisation incorrecte
Lorsque la modélisation n'a pas été effectuée correctement, différents problèmes peuvent apparaître.