Généralité sur les bases de données

Les bases de données

Après avoir appris à récupérer les données saisies par l'utilisateur, on a cherché un moyen de les stocker dans le but de s'en servir plus tard. Certes, on a trouvé le moyen de le stocker : les écrire dans des fichiers. Toutefois les stocker dans les bases de données nous permet de faire tout un tas de manipulations que l'on ne pourra que difficilement faire avec les fichiers.

Déjà, dans une base de données, les données sont plus organisées et structurées de façon ordonnée. Ce qui les rend facilement accessibles. Mais qu'est ce donc une base de données ?

Une base de données est un tout simplement un ensemble de données stockées dans des mémoires de masse sous une forme structurée. Le but de l'établissement d'une base de données est qu'elle soit accessible par des applications différentes et des utilisateurs différents.

Une base de données est d'abord faite pour être gérée. Le chef d'orchestre pour la gestion d'une base de données est un outil appelé SGBD ou Système de Gestion de Base de Données. Il est composé d'une base de données et d'un réseau de poste de travail consultant ou mettant à jour les données.

La base de données sera alors composée de plusieurs tableaux appelé tables. Chaque libellé du tableau est appelé champ. Et chaque ligne d'une table est un enregistrement. Pour identifier chaque enregistrement d'une table, il y a ce qu'on appelle clé primaire. C'est en générale une sorte de numéro unique qui différencie un enregistrement des autres enregistrements de la table.

Voici un exemple de table :

Table client
idclient nomclient prenomclient mailclient
1 Brown James james@brown.fr
2 Schröder Helmut helmut@yes.com

SGBD

Généralement, on parle plutôt de Système de Gestion de Base de Données Relationnel ou SGBDR qui est SGBD permettant d'introduire le concept de relation entre les différentes tables.

Les principaux buts d'un SGBDR sont donc :

Consultation optimisées des données

On peut avoir différentes options classiques sur la manipulation des données : consultation, insertion, modification et suppression.

Gestion des accès aux données

Des systèmes de privilèges sont intégrés dans un SGBD, ce qui leur permettent de gérer l'autorisation d'accès aux données. Un SGBD possède des mécanismes intégrés permettant de gérer les accès simultanés sans que les utilisateurs n'aient besoin de s'en occuper.

Le maintient de la cohérence des données entre elles et le contrôle d'intégrité

La cohérence des données est basée sur le respect des contraintes d'intégrité qui sont des conditions auxquelles doivent satisfaire les données pour être acceptées dans la base. Les contraintes d'intégrité sont contrôlées par le moteur du SGBD :

Au niveau de chaque champ par exemple, l'âge ne doit pas prendre une valeur négative.

Au niveau de chaque table, deux personnes ne peuvent pas avoir à la fois le même nom et le même prénom

Toutefois, la redondance des données n'est pas forcément entièrement perçue automatiquement par les SGBDR. Il faut des manipulations spécifiques pour trouver les anomalies. Ce qui semble être une grosse lacune parce que les erreurs sont déjà présentes dans la base.

Le langage SQL

Par définition, une base de données est structurée mais cette structuration doit avoir un caractère universel. Autrement dit, il ne faut pas que la structure soit adaptée seulement à une application particulière mais qu'elle puisse être utilisable par des applications distinctes.

D'où la conception d'un langage standard pour la manipulation des données. Il s'agit du langage SQL ou Standard Query Language. C'est un langage standard de requêtes qui permet d'interroger les bases de données de manière simple. Le SQL est facilement compréhensible par l'humain et par les différents SGBDR.

D'une manière générale, les instructions pour l'interrogation de la base constituent ce que l'on appelle une requête SQL. Une requête SQL pourrait être alors une modification, une insertion, une suppression, ou une sélection de données, voire même une création de table. On verra tout cela de plus près dans la partie suivante.

N'hésitez pas à consulter en détail le tutoriel SQL avant de commencer à utiliser une base de données avec PHP.

A propos de l'auteur

Nicolas Galle

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