Les bases de données

, par  Alain Laponche --- ---

Présentation faite lors de la réunion hebdomadaire du 22/11/18

Les bases de données

Définition : Regroupement d’informations structurées / organisées sur un sujet donné
On utilise fréquemment (cas des bases de données relationnelles) des tables pour ranger ces informations. Chaque table est composée de colonnes adaptées au type d’information (on parle de champ), et de lignes pour chaque enregistrement.

Exemple : Une table "Employé" avec des enregistrements "individu" comportant un champ nom (de telle longueur, obligatoire), un champ prénom, un champ adresse mail (avec obligatoirement un @), un champ téléphone (donnée exclusivement numérique), un champ code profession, un champ code service, et bien d’autres caractéristiques.
Les services font eux-même l’objet d’une table "Unité" qui comprend : code service, intitulé, adresse, responsable, etc ..
Idem pour le champ profession appartient à une table (avec un code, un intitulé, un niveau de formation, etc ...)

Quand on met en place une base de données, il faut respecter des règles :
1) suppression de toute redondance entre les informations stockées
2) définition d’un identifiant par enregistrement (unique, invariable)
3) des conditions sur chaque champ (longueur, type, valeurs possibles, règles + ou - complexes)
4) choix des champs pour lesquels on souhaite un index (par exemple un champ fréquemment utilisé dans un tri) afin d’accélérer les traitements

Les Systèmes de Gestion de Base de Données : SGBD
Un SGBD est un système informatique permettant de stocker et exploiter une base de données.
Des exemples : Access (suite bureautique Microsoft), Dbase, MySQL (très répandu), Oracle (pour les tres grosses bases), Sybase, PostgreSQL, 4D
Il en existe des centaines.
Un logiciel comme Excel est en un sens un SGBD (gestionnaire d’une seule table), mais il ne présente pratiquement aucune des caractéristiques ci-après

Les fonctionnalités proposés par un SGBD

a) l’intégrité du contenu, à savoir le respect de toutes les règles définies en 3). Ainsi, ce n’est pas grave si quelqu’un développe un programme de saisie en oubliant de vérifier la valeur de chaque champ : l’information sera de toute façon rejetée si les règles ne sont pas respectées !
b) la bonne fin de chaque transaction. On appelle transaction une suite de mise à jour formant un tout. Ainsi la réservation des places dans un train sera automatiquement annulée si le voyageur ne va pas jusqu’au paiement. Idem pour un virement entre 2 comptes (un débit non suivi d’un crédit doit être annulé)
c) une reprise automatique en cas de plantage Exemple : si une panne survient à 11h, alors que la dernière sauvegarde date de 7h, on ne va pas demander aux clients d’Air France de ressaisir toutes leurs transactions !
d) de bonnes performances grâce aux index retenus en 4)
e) des jointures entre les tables donnant aux utilisateurs l’impression qu’ils n’ont, pour certaines opérations, en face d’eux qu’une simple table (comme dans un tableur). On parle de "vue" adaptée à chaque utilisation possible. Il s’agit de liste de champs accessibles simultanément, mais n’appartenant pas forcément à une même table. En général les utilisateurs n’ont accès à la base qu’au travers de ces vues.
f) un langage simple de manipulation des données (pour création base, interrogation et mise à jour). Un langage domine, c’est le SQL (même si certains SGBD peuvent disposer d’un langage propre plus optimisé). Avec SQL, on n’a pas besoin de connaitre le fonctionnement interne du SGBD et faire appel à un programmeur pour interroger et mettre à jour la BD.
g) des assistants qui permettent de générer facilement (en répondant à un questionnaire) :
 des formulaires de saisie pour alimenter la base
 des requêtes d’interrogation du contenu
 des rapports présentant les résultats sous la forme souhaitée
h) une interface standard pour se connecter au SGBD, quel qu’il soit et où qu’il soit. Un peu comme un driver pour une imprimante. La procédure de connexion à la base de données et la façon de transmettre une requête SQL sont standardisées. Nom de l’interface la plus connue : ODBC.
Ainsi une personne située à Paris peut dans une même requête fusionner des données venant d’une base sous Sybase située à Strasbourg et une autre base implantée à Bordeaux sous Oracle.
Utilisation possible : ces drivers permettent d’interroger un tableau Excel et une base de données Access sur un même PC, sans avoir à migrer des données du tableur vers Access.
i) un système d’ autorisations d’accès sophistiqué table/table, voire par champ, selon des profils d’utilisateurs (simple lecteur, administrateur, responsable x, ...)

Bien entendu, tous les SGBD ne proposent pas la totalité de ces fonctionnalités, en particulier les SGBD intégrés dans des suites bureautiques (comme OpenOffice ou celle de Microsoft).
En revanche, ces derniers permettent une réelle intégration avec les autres produits proposés dans la suite. Exemple : publipostage exploitant une extraction d’Access dans un Word.


Deux documents de référence

Liste des SGBD les plus courants

Manuel pour l’utilisation de la Base de données intégrée dans Open Office