Comment ça marche une base de données ?
Dans cet article, nous allons regarder le principe global du fonctionnement d’une base de données.
J’ai détaillé toute la partie données dans les articles : C’est quoi une base de données, et je ne l’aborderai donc pas ici.
|
Je vais vous expliquer sommairement comment fonctionnent les bases de données. Nous allons tout d’abord voir comment cela se passe, si l’on utilise un système propriétaire (comme c’était le cas avant l’utilisation des bases de données). Puis nous aborderons le principe de fonctionnement des bases de données, nous regarderons les avantages et les inconvénients des bases de données. Et enfin, nous terminerons par un tour d’horizon des bases de données les plus connues sur le marché.
Le stockage des données ?
Comment ça se passe, si l’on n’utilise pas de base de données ?
Pour enregistrer et lire des données, l’utilisateur se sert d’un logiciel. Ce logiciel écrit les données dans un format qui lui est propre (on parle de format propriétaire).
La plupart du temps, ce logiciel :
- doit s’assurer que les données sont bien écrites,
- enregistre les données dans un format propriétaire, (illisible pour les autres programmes)
- ne partage pas ses données avec d’autres logiciels,
Regardons cela sur un schéma simplifié :
L’inconvénient de ce système est que :
- les autres logiciels ne peuvent pas lire les données (car la plupart du temps elles sont illisibles car écrites dans un format propriétaire que seule l’entreprise qui a conçu le logiciel connait, c’est un peu comme si vous essayez de lire du texte écrit dans une langue que vous ne connaissez pas)
- il n’est pas possible d’être plusieurs à lire en même temps les mêmes données,
- les données ne sont pas partagées,
- des logiciels standards tels qu’Excel ne peuvent pas lire ces données directement.
Principe de fonctionnement des bases de données
Définition d’une base de données
Avant propos : Les notions de tables, index, tris sont expliqués ici : C’est quoi une base de données – partie 2.
Une base de données est un ensemble qui permet le stockage des données. Les données sont écrites de manière structurées c’est à dire que chaque donnée est enregistrée dans une table. Lorsque les tables ont des relations entre elles, on parle de bases de données relationnelles. (j’en reparle juste en dessous).
Ces tables peuvent être indexées pour permettre des accès plus rapides à certaines données et permettre aussi des tris.
Exemple :
Une base de données d’un logiciel de facturation (avec des clients, des factures, des devis) pourrait se représenter de la façon suivante. Cette base de données est relationnelle : on voit bien qu’il y a un lien entre les tables clients et factures : un client aura : 0, 1, ou plusieurs factures.
Notez que sur la plupart des schémas informatiques,
les bases de données sont représentées sous forme de cylindres.
SGBD ou SGBDR.
Les bases de données même en étant structurées restent des fichiers. Donc pour pallier aux inconvénients que nous avons vu au-dessus avec les données propriétaires, il a fallu créer des systèmes pour gérer ces bases de données, ces systèmes sont appelés SGBD (Système de Gestion de Base de Données) ou SGBDR (Système de Gestion de Base de Données Relationnelle).
C’est ce système qui va gérer l’accès à la base de données. Aucun logiciel n’accédera directement à la base de données, seul le SGBD le fera.
Cela implique que le SGBD :
- disposera d’un langage pour pouvoir dialoguer avec les applications, (SQL la plupart du temps, j’y ai consacré un paragraphe plus bas)
- gérera l’écriture et la lecture des données,
- mettra à disposition les tables, et les droits associés,
- gérera le partage des données,
- s’assurera de l’intégrité des données,
- gérera la relation entre les tables (dans le cas de base de données relationnelles)
Voici comment on pourrait représenter la base de données et le SGBD :
Nous pouvons constater sur le schéma qu’aucun logiciel n’accède directement à la base de données. Tous les accès se font via le SGBD ou SGBDR et en utilisant des requêtes.
Avantages et inconvénients des bases de données
Les avantages à utiliser les bases de données sont les suivants :
- Une standardisation des accès :
- Chaque logiciel accède aux données via le SGBD en utilisant un langage standardisé. Il est possible de changer de base de données sans avoir un réécrire le logiciel.
- un partage des données ainsi que l’accès simultané :
- Le SGBD gère les accès à la base de données, donc il gère aussi le partage au données. Il est donc possible d’avoir plusieurs logiciels qui lisent et écrivent en même temps sur la base de données
- une grande fiabilité des données :
- Chaque logiciel ne peut pas faire n’importe quoi. C’est le SGBD qui gère l’enregistrement des données.
Un inconvénient, puisqu’il faut bien en trouver un, serait un accès moins rapide aux données que sur un système propriétaire. Mais je n’insiste pas sur ce point car les écarts de vitesse sont tellement faibles qu’ils sont négligeables.
Quelques définitions
Vous retrouverez parfois les appellations de base de données sous les formes suivantes :
- BdD : Base de Données
- BD : Base Données
- DB : DataBase (base de données en anglais)
Toutes ces abréviations indiquent la même chose.
Quelques différents SGBD du marché.
Rappel : SGBD : Système de Gestion de Base de Données.
Il en existe de très nombreux, en voici quelques célèbres en entreprise:
- Oracle : sans doute le plus connu,
- MySQL : Un système gratuit issu du monde libre,
- SQLServer : Le SGBD de Microsoft,
- DB2 : IBM,
- Informix : Mon préféré (racheté il y a quelques années par IBM).
Et si vous voulez vous amuser chez vous, vous pouvez toujours installer une version d’un SGBD incluant une interface visuelle qui vous permettra de créer et modifier à la fois la structure et les données à l’aide d’une interface évoluée.
- Access : Microsoft
- Base : OpenOffice
- MySQL : Libre
Le langage SQL.
Comme je vous le disais au-dessus, pour manipuler ces bases, il a fallut créer un langage. Ce langage est dédié aux bases. Il va permettre toutes les opérations sur les bases et les données:
- Création, modification et suppression des bases.
- Création, modification et suppression des tables et des index.
- Ajout, Modification, Suppression des données
- Recherche des données en liant les tables.
- Calcul sur les données,
- …
Je vous propose d’étudier un peu plus en détail le langage SQL, ici : C’est quoi le SQL ?
Au fait SQL veut dire : Structured Query Language que l’on peut traduire par Langage Structuré de Requêtes. Celui-ci est utilisé sur les bases de données relationnelles : SGBDR
Voici tous les articles liés aux bases de données :
C’est quoi une base de données ?
C’est quoi une base de données ? – partie 2
C’est quoi une base de données ? – partie 3
et
Comment ça marche une base de données ?
Bonjour, c’est très clair et pédagogique, un grand merci à vous pour cet excellent travail,
super explication
merci beaucoup !
Merci énormément pour tes explications.
C’est top!
Au faite, as-tu aussi fait un mini-tutoriel sur le SQL?
Si c’est le cas, je ne vois pas où est l’URL?
Salutation
Salut Sorakann,
non malheureusement, je suis sur un autre projet qui me prend un peu plus de temps que prévu.
Je pense qu’avant la fin mai, ça devrait être bon.
A bientôt
C’est top, vraiment merci
Super site tout est très claire on comprends très bien.
Super tes articles 🙂