Strict Standards: Only variables should be passed by reference in /home/clients/c728da793751adeb4d6b9698c035a260/web/spip3/config/ecran_securite.php on line 283
Bases de données - IcyTea
Accueil > Formation > Cours tableur > Bases de données

Bases de données

dimanche 22 avril 2012, par Philippe Lambert

Les bases de données sont aujourd’hui sous-jacentes au fonctionnement de la plupart des logiciels professionnels.

Introduction aux bases de données

Un système de gestion de bases de données se compose d’une structure destinée àcontenir les données, et de méthodes permettant d’alimenter cette structure et d’un extraire les résultats que l’on en espère. Les bases de données peuvent recevoir les types de données les plus divers : nombres, textes, valeurs logiques, nombres structurés (heures, dates,...), ensembles binaires représentant par exemple des images,...

le modèle relationnel

Selon la manière dont est structuré le conteneur des données, et le fonctionnement des méthodes de gestion, plusieurs modèles de systèmes de bases de données existent. Le plus utilisé est le modèle relationnel. Dans un Système de Gestion de Bases de Données Relationnel (SGBDR), les données sont organisées en tables, selon le modèle des listes que nous avons décrites en Excel : chaque ligne correspond àun individu, chaque colonne àune propriété. Les lignes sont aussi appelées enregistrements, les colonnes, champs.

Les champs sont définis de manière atomique, c’est-à-dire qu’une seule information peut figurer dans chaque champ. Ainsi, un champ qui contiendrait "nom et prénom" ne serait pas atomique puisque contenant deux informations différentes : il doit être divisé en deux champs, "nom de famille" et "prénom" (si on suppose qu’on tient compte d’un seul prénom par individu).

La relation

La relation permet d’éviter la redondance dans une base de données, c’est-à-dire l’enregistrement multiple de la même information. Ainsi, un livre de ventes pourrait s’enregistrer dans une seule table reprenant, sur chaque ligne, non seulement la quantité, le libellé de l’article et son prix unitaire ainsi que le taux de TVA applicable, mais également toutes les données d’identification du client (nom, prénom, raison sociale, immatriculation TVA, adresse, etc.). Un seul client peut avoir réalisé de nombreux achats, et un même article aura bien sà»r fait l’objet de nombreuses ventes. Des valeurs telles que "libellé" ou "nom" et "prénom" seront dont présentes de nombreuses fois dans cette table.

Ces inscriptions multiples ne sont pas économiques, et "gaspillent" l’espace de stockage dévolu àla base de données. Plus grave, une correction (par exemple sur un nom mal orthographié) risque d’être incomplète, d’où une possible incohérence des données.

Pour éviter cela, le créateur de la base de données, identifie tous les champs redondants et les centralise dans une autre table : dans notre exemple, au moins deux tables supplémentaires sont nécessaires, l’une pour centraliser les champs décrivant les articles, l’autre pour les champs décrivant les clients (on appelle de telles tables descriptives des signalétiques).

Dans chaque signalétique, il va typiquement ajouter un champ contenant un identifiant, qui peut être arbitraire ou non, numérique ou alphanumérique, mais qui doit répondre àune condition essentielle : il ne peut y avoir de doublon (deux fois la même valeur dans la table). Ce champ sert uniquement àmettre en correspondance un enregistrement du signalétique avec un ou plusieurs enregistrements d’une autre table (dans notre exemple la table des ventes). On l’appelle clef primaire. Il n’y a qu’une clef primaire par table. Dans notre exemple il s’agira de la référence article et d’un code client.

Dans la table des ventes, il supprimera tous les champs décrivant les articles (libellé, prix unitaire, taux de tva,...) et ajoutera un champ destiné àrecevoir la valeur de la référence ; de même il supprimera tous les champs décrivant les clients et ajoutera un champ destiné àrecevoir le code client. Ces deux derniers champs, qui mettent les tables en correspondance ou relation, sont également des clefs. Dans ce cas toutefois, la même valeur peut y être présente de nombreuses fois. On appelle de tels champs des clefs étrangères.

On remarque que la table des ventes ainsi définie comporte deux clefs étrangères et aucune clef primaire.

La démarche consistant àéliminer la redondance en créant des tables et en les mettant en relation s’appelle la normalisation de la base de données.

L’intégrité référentielle

Une fois que les tables sont mises en relation, il est essentiel que toutes les valeurs des clefs étrangères se retrouvent dans la clef primaire d’une autre table. Cette exigence est le critère d’intégrité référentielle. Sans intégrité référentielle la base de données est inutilisable. Le créateur de la base de données devra s’assurer qu’il met en place des mécanismes évitant les enregistrements "orphelins" du point de vue des relations. Les enregistrements orphelins sont en effet inaccessibles et leurs informations perdues.

Le SQL

Les SGBDR les plus populaires actuellement utilisent pour la gestion de données un langage appelé SQL. L’étude de ce langage dépasse le cadre de ce cours.

page précédente page suivante