Introduction

Introduction et concepts de base

Définitions

Une donnée est une information (nom, âge, …), mais elle peut aussi être une relation entre plusieurs informations.

On comprend aisément que l’identifiant d’un gène et d’une protéine sont des informations/données. Il en va cependant de même pour la relation qui lie un gène et une protéine qu’il code.

Une base de données est donc un ensemble (volumineux) d’informations structurées et mémorisées sur un support physique.

Structure d’une base de données

Il est courant de regrouper des données sous forme d’un tableau et d’utiliser un tableur comme interface de création et de gestion de bases de données.

Dans ces tableaux, chaque colonne correspond généralement à un type de donnée et chaque ligne à un enregistrement. Il est relativement facile de créer ce type tableau via le tableur ou de manière programmatique tel que nous l’avons expérimenté lors du module d’Introduction à Linux et à la ligne de commande. Prenons l’exemple d’un tableau créé avec les données extraites de fichiers de séquences au format genbank (fig. 1):

Figure 1: Base de données structurée créée dans un tableur sous forme d’une table unique.
Figure 1: Base de données structurée créée dans un tableur sous forme d’une table unique.

Si ce type de structure est conforme à la définition d’une base de données, elle accumule pourtant un nombre important de défauts qui rendent son emploi peu recommandable:

  • Lourdeur de l’accès aux données et de leur manipulation

Imaginez en effet un tableau qui compterait plusieurs milliers, voire des millions de lignes ? Comment facilement retrouver une donnée, comment en ajouter en évitant les doublons, comment modifier une information qui concernerait de nombreuses lignes, … ?

  • Sécurité

Une structure aussi simple peut être facilement corrompue. Supprimer une ligne, une partie de ligne ou une colonne peut conduire à la destruction pure et simple de la totalité de l’information contenue dans la base.

  • Impossibilité de travailler à plusieurs simultanément sur la base de données (concurrence d’accès)

Ces défauts majeurs impliquent d’avoir recours à des logiciels spécialisés pour la gestion de données, les SGBD (Systèmes de Gestion de Bases de Données).

SGBD

Un SGBD est chargé de gérer les fichiers constituant une base de données, de prendre en charge les fonctionnalités de protection et de sécurité, et de fournir les différents types d’interfaces nécessaires à l’accès aux données.

De manière concrète, le SGBD a notamment pour fonction de :

  • Organiser les données et vérifier leur qualité (unicité, respect des contraintes)
  • Autoriser l’ajout et la modification des données tout en maintenant la qualité de la base.
  • Permettre l’accès aux données et l’interrogation de la base via un langage intuitif.
  • Protéger les données contre leur perte ou dégradation.

L’utilisation d’un SGBD implique de comprendre :

  • la manière dont la base de données est structurée.
Remarque

On parle de la définition du schéma de données qui fait appel à différents modèles de données, tel que le modèle Entité-Association que nous découvrirons plus loin.

  • Les opérations qui peuvent être appliquées à la base de données: création, modification, suppression et recherche.
Remarque

L’opération la plus complexe est la recherche de données car elle peut faire intervenir de nombreux critères en interaction les uns avec les autres. Elle nécessite par ailleurs un langage adapté. Le langage le plus répandu est le SQL (Structured Query Language); c’est lui que nous utiliserons pour interroger nos bases de données.