Aller au contenu

Introduction du thème⚓︎

1. Présentation des bases de données⚓︎

En première, Vous avez vu une manière de stocker et manipuler des données structurées à l'aide de différents formats (CSV, JSON, VCARD).
Ces formats basés essentiellement sur du texte sont faciles à mettre en oeuvre et à utiliser. Même si cette méthode de stockage de l'information peut s'avérer pratique dans certains cas précis, elles ne sont pas adaptés au traitement d'un grand nombre d'informations, en particulier lorsque celles-ci se trouvent réparties dans plusieurs tables ou fichiers.

    Imaginez une compagnie chargée de l'organisation de la circulation des trains sur le territoire national gérant les réservations et l'exploitation des trains avec des fichiers CSV !

👉 Une petite video pour commencer sur l'histoire des bases de données :

2. De la nécessité d'organiser le stockage de ses données⚓︎

Lorsqu'une grande quantité de données doit être gérée, il faut savoir distinguer deux choses :

  • la structure qui va sous-tendre l'ensemble de ces données, notamment les liens entre elles, les hiérarchies éventuelles,...
  • le type de logiciel qui va aider à gérer ces données.

Par exemple, si je souhaite stocker toutes les températures relevées dans mon jardin tous les matins à 07h00, je sais que mes données seront des couples (date, temperature) . Éventuellement ces dates seront regroupées par mois, ou par saison... mais la structure des données sera quand même simple et linéaire.
Pour gérer ces données, je peux : les écrire à la main dans mon agenda, créer un feuille de tableur avec Excel ou LibreOffice, utiliser une liste dans un IDE Python,... Chaque méthode aura ses avantages et ses inconvénients.

image

  • Si le nombre de données à stocker devient très grand, est-ce que ma solution choisie pourra les gérer ? (on peut par exemple méditer sur le cas du Royaume-Uni dont le comptage des patients positifs au Covid est devenu faux car il a dépassé les limites de leur feuille Excel)

  • Est-ce que d'autres personnes que moi sont susceptibles de consulter ou modifier ces données, éventuellement en même temps que moi ?

  • Si une donnée se retrouve à plusieurs endroits dans mes données, devrais-je aller modifier cette donnée partout où elle se trouve ou bien une seule fois ?

L'étude des Bases de Données tente d'apporter des réponses à toutes ces questions.

Définition

Une base de données est un ensemble structuré d'informations.

  • Dans le langage courant, elle peut désigner n'importe quelle source importante d'informations (dictionnaires, encyclopédies, etc.)
  • En informatique, il s'agit d'informations stockées sous forme de fichiers et organisées de façon à être facilement manipulées.

Gérer efficacement les données⚓︎

Dans une base de données, l'information est stockée dans des fichiers, mais ceux-ci ne sont en général pas lisible par un humain.
A la différence des fichiers au format CSV, il n'est pas possible de travailler sur ces données avec un simple éditeur de texte.

    il est nécessaire d'utiliser un type de logiciel appelé "système de gestion de base de données" très souvent abrégé en SGBD, pour les exploiter.

👉 Une autre vidéo pour introduire la notion de base de données :

les SGBD permettent :

  • de lire, écrire, modifier, effacer, mettre en relation des données dans les différentes tables
  • de gérer les autorisations d'accès à une base de données.
    Il est en effet souvent nécessaire de contrôler les accès par exemple en permettant à l'utilisateur A de lire et d'écrire dans la base de données alors que l'utilisateur B aura uniquement la possibilité de lire les informations contenues dans cette même base de données.
  • de gérer les droits d'accès aux différentes données
  • d'assurer la sécurité et l'intégrité des données y compris lorsque plusieurs utilisateurs accèdent simultanément aux mêmes données.
    Cela peut parfois poser problème, notamment si deux personnes désirent modifier la même donnée au même moment (on parle d'accès concurrent).