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.

-
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).