Apprendre les BDD relationnelles : Introduction

Qu'est ce qu'une base de données ? Quels types de bases de données existe-t-il ? Comment interagir avec ? Qu'est ce qu'un SGBD ? On fait le point.

Icône de calendrier
Débutant
5 chapitres

Qu’est ce qu’une base de données ?

Concept générique

Une base de données caractérise un support regroupant un ensemble organisé d’informations afin d’en faciliter l’exploitation (ajout, mise à jour, suppression, recherche de données).

Ce support peut être physique :

  • Cahier de comptabilité
  • Enveloppe de collection de timbres
  • Dictionnaire

Mais aussi virtuel :

  • Dossier sur un système d’exploitation d’ordinateurs
  • Fichier Excel
  • Etc.

Dans cette formation, nous nous intéresserons à un support virtuel bien spécifique, les bases de données informatisées.

Base de données informatisée

Une base de données informatisée constitue un ensemble structuré de données enregistrées sur des supports virtuels, uniquement accessibles par des ordinateurs. Ces bases de données peuvent stocker tout type d’informations dans l’objectif de pouvoir les exploiter ultérieurement.

Elles peuvent être interrogées et manipulées par un ou plusieurs utilisateurs avec des rôles/accès variables.

Dans une base de données informatisée, on stocke des ensembles d’éléments (des produits par exemple), eux-mêmes constitués de plusieurs caractéristiques (nom, prix, image, description…).

On distingue plusieurs types de bases de données, selon leur appartenance à un modèle spécifique. Un modèle définit comment sont stockées, structurées et accessibles les données au sein d’une base de données. Voici les principaux types de bases de données :

  • Modèle relationnel
  • Modèle document
  • Modèle hiérarchique
  • Modèle réseau
  • Modèle graphe
  • Modèle orienté objet
  • Etc.

Ecosystème d’une base de données

SGBD : Système de Gestion de Base de Données

Un Système de Gestion de Base de Données (SGBD) est un logiciel permettant de stocker, de gérer et de manipuler des données de manière sécurisée.

La plupart des SGBD fonctionnent selon un mode de communication client/serveur.

  1. Les clients (sites web, applications…) envoient des requêtes au serveur.
  2. Le serveur analyse les requêtes, les traite et retourne les résultats aux clients.

C’est par l’intermédiaire d’un SGBD que les sites web vont pouvoir interagir avec des bases de données. Il existe de nombreux SGBD, fonctionnant avec un modèle de données spécifique. Voici quelques exemples des SGBD relationnels et orientés documents les plus connus :

  • MySQL (relationnel)
  • MariaDB (relationnel)
  • PostgreSQL (relationnel)
  • Microsoft SQL Server (relationnel)
  • Oracle Database (relationnel)
  • MongoDB (document)
  • CouchDB (document)
  • Etc.

SQL : un langage pour exploiter les bases de données

Les opérations sur les bases de données (structuration, recherche, manipulation…) sont exprimées sous forme de requêtes (en anglais « query ») dans un langage informatique reconnu par le SGBD.

SQL est le plus populaire de ces langages, puisqu’il est aujourd’hui de loin le plus utilisé par les SGBD relationnels (SGBDR). SQL est un langage normalisé, constitué de 4 sous-langages remplissant chacun un rôle :

  • Langage de Manipulation de Données (LMD), pour rechercher, ajouter, modifier ou supprimer des données. Exemples de commandes SQL : INSERT, UPDATE, DELETE, SELECT
  • Langage de Définition (ou de Description) de Données (LDD), pour structurer l’organisation des données (création, modification et suppression de tables). Exemples de commandes SQL : CREATE, DROP, ALTER
  • Langage de Contrôle des Données (LCD), pour autoriser ou interdire l’accès à certaines données à certaines personnes. Exemples de commandes SQL : GRANT, REVOKE
  • Langage de Contrôle des Transactions (LCT), pour contrôler les transactions effectuées sur la base de données. Exemples de commandes SQL : COMMIT, ROLLBACK

Bases de données et sites web

Les bases de données ont révolutionné la mise à jour du contenu des sites web.

Sites statiques

On qualifie de site web statique un site pour lequel le contenu des pages est figé.

À chaque requête HTTP, le serveur se contente de retourner un fichier .html. Il n’est alors pas possible de mettre à jour son contenu sans intervenir manuellement sur son code source.

Si le contenu d’un site web est voué à changer rarement, un site statique est idéal. En revanche, si ce dernier doit régulièrement être mis à jour (ecommerce, blog, forum…), alors un site web dynamique sera bien plus adapté.

Sites dynamiques

On qualifie de site web dynamique un site pour lequel le contenu des pages est changeant.

À chaque requête HTTP, le serveur va chercher à construire une page dynamiquement en fonction des caractéristiques de la demande (heure, langue, identifiant d’une ressource, profil de l’utilisateur, filtre de recherche…). Cette construction est prise en charge par un langage de programmation comme PHP, JavaScript, Python ou encore Ruby afin d’interagir avec une base de données.

Les données affichées sur la page étant récupérées en base de données, la mise à jour du site web ne nécessite aucune opération manuelle sur les fichiers du site web mais simplement la mise à jour de cette base de données.

Pour cela, on passe par une interface d’administration qui se présente comme un formulaire connecté à la dite base de données.