Comprendre les bases de données

L'objet de notre tutoriel est le langage SQL. Toutefois, certaines notions de base s'avèrent indispensables avant d'entamer le SQL proprement dit.

Le grand fondement du langage SQL est la base de données, c'est pourquoi je vous invite dans un premier temps à découvrir ce que je juge important à ce sujet.

Base de données, oui mais c'est quoi une donnée ?

Il n'est pas impossible que certains d'entre nous se posent des questions sur la différence entre donnée et information. Je tiens donc à préciser qu'une donnée est similaire à une information sauf que celle-ci n'a pas de sens. Par exemple si je vous dis : " kiemtso " vous savez que c'est un ensemble de caractères mais vous ne comprenez pas le sens. Pour le moment pour vous kiemtso est juste une donnée.

Si je vous explique que 'kiemtso' pour moi veut dire 'salut', vous saurez ce que je voulais dire par là. On peut donc qualifier 'kiemtso' d'information pour vous à partir du moment où le mot a un sens pour vous.

Dans la notion de base de données, on ne se préoccupe pas du sens de l'information. Il nous suffit de connaître son type (c'est une chaîne de caractères) et sa valeur (kiemtso). C'est pourquoi on parle de donnée.

Ok, alors qu'est-ce qu'une base de données ?

Une base de données est tout simplement un ensemble de données où les données sont organisées de façon rigoureuse. En effet, dans une base de données, les données sont structurées en une sorte de tableau qu'on appelle " table ". On identifie chaque table par son nom. Et comme tout tableau, les tables ont des colonnes qu'on désignera par " champ ". Le libellé de chaque colonne est le nom du champ.

Pour mieux comprendre, voici un exemple :

Exemple de table
id_etudiantnomprenommoyennedomicile
1DuchesseValérie 17St Rambert
3BertrandAdrien11Grenoble
4RossinyDaniel17Beaurepaire
5SuzaAlvaro19St Vallier
6AlarsonMarinah14Beaurepaire

La table etudiant possède 5 champs : id_etudiant, nom, prenom, moyenne et domicile

Une base de données peut contenir une ou plusieurs tables comme celle-ci.

L'avantage de cette structuration des données est que l'on peut facilement :

  • Stocker des données
  • Accéder aux données et consulter la partie qui nous intéresse
  • Manipuler les données

Ces actions peuvent être exécutées en local par un utilisateur c'est-à-dire sur un seul poste tout comme il est possible pour plusieurs utilisateurs d'y accéder simultanément via le réseau en mettant la base de données sur une machine distante (via internet par exemple).

Pour la sécurité des données, il est nécessaire d'aborder une notion de restriction. En effet, si tous les utilisateurs peuvent créer, modifier, supprimer... les données, et en supposant que chacun n'en fasse qu'à sa tête, cela deviendrait problématique. Un grand souci se pose au niveau de l'intégrité des données.

Par exemple : "Une donnée que j'ai insérée a été supprimée par mon collège alors que j'en ai vraiment besoin". Pour palier ce problème, les bases de données permettent de gérer les utilisateurs, les droits d'accès et la synchronisation.

SGBD : Système de gestion de base de données

Dans le monde de l'informatique, la gestion de base de données se fait via un système que l'on appelle SGBD ou Système de Gestion de Base de Données.

Il s'agit d'un ensemble d'applications logicielles (scripts) permettant de gérer les bases de données de façon simple. Dans un SGBD, on peut donc créer une ou plusieurs bases de données, créer des relations entre les tables, gérer les accès, manipuler les données présentes dans chacune des bases, etc…

Il existe plusieurs types de SGBD, chacun ayant ses propres concepteurs, ses avantages et ses inconvénients. Dans notre tutoriel, on a choisi particulièrement MySql comme SGBD à cause de sa facilité de déploiement et de prise en main pour les débutants.

De plus, il a une très bonne intégration dans l'environnement web Apache/PHP et beaucoup d'autres qualités encore.

Recevez par email nos prochains conseils

Oseox sur Facebook Notifications via Facebook Oseox sur Twitter Notre actu sur twitter

Une question ? Venez la poser sur notre forum développement web !

A propos de l'auteur

Nicolas Galle

Nicolas Galle est développeur web sénior pour l'agence Aseox.