Une base de données c’est un format de rangement d’informations. Par extension, c’est aussi le programme qui gère ses bases sur un serveur. Parce qu’il est libre et performant, le programme le plus utilisé est MySQL, mais il est loin d’être le seul !
Revenons au principe d’une base de données. Celui qui a les idées assez claires pour ranger les informations qu’il a à sa disposition dans un grand tableau sait construire une base de données.
La base de données minimale est en effet un grand tableau : chaque colonne sert à ranger un type de donnée, chaque ligne représente un enregistrement.
Prenons l’exemple d’un carnet de contacts téléphoniques :
En colonne : n° du contact, nom, prénom, fonction, numéro de téléphone
Chaque ligne est un enregistrement
N° du contact | Nom | Prénom | Fonction | Téléphone |
---|---|---|---|---|
1 | Dupont | Charles | Clown | 00 22 45 89 33 |
2 | Thomas | Germaine | Trompettiste | 00 44 57 94 23 |
3 | Durand | Viviane | Magicienne | 00 58 45 78 99 |
Voici donc une base de données.
Imaginons maintenant que l’on souhaite stocker les adresses de chaque contact.
Deux solutions s’offre à nous : soit on rajoute des colonnes à notre tableau, soit dans notre base de données on ajoute un second tableau comme celui qui suit :
N° du contact | N° dans la rue | Rue | Code postal | Ville |
---|---|---|---|---|
1 | 145 | De la gare | 75 010 | Paris |
2 | 10 | De la poste | 75 010 | Paris |
3 | 21 | Du temple | 75 003 | Paris |
Afin de faire correspondre la bonne adresse à la bonne personne, nous avons reproduit la première colonne du tableau 1 dans le tableau 2. Le n° du contact est la clef entre ces 2 tableaux qui permet de dire par exemple que Thomas Germaine, trompettiste, habite rue de la poste dans le deuxième arrondissement.
Le choix de multiplier les tables ou d’ajouter des colonnes à une table préexistante dépend bien souvent de l’objectif à atteindre. Imaginons que nous souhaitions ajouter comme information à notre base les instruments de musique maîtrisés par chacun de nos artistes.
Deux solutions s’offrent à nous :
La première : ajouter des colonnes à l’une ou l’autre des tables déjà créées plus haut. On pourrait appeler ainsi chaque colonne : instrument 1, instrument 2, instrument 3. Oui mais combien de colonnes ajouter au final ? Cinq ? Et le jour où un nouvel artiste à référencer en maîtrisera 6, comment ferons-nous ? Nous ajouterons une sixième colonne pour lui uniquement ? Non, cette solution n’est pas optimale.
La seconde solution est de créer une nouvelle table de la sorte :
N° du contact | Instrument |
---|---|
1 | Violon |
1 | Gazou |
2 | Trompette |
Que conclure de la lecture de cette table ? Que le contact 1, le clown Charles Dupont joue du violon et du gazou, que le contacts 2 Germaine Thomas, joue de la trompette.
Avantage : le jour le clown Charles jouera du piano, on pourra ajouter une ligne à cette table
1 | Piano |
Cette deuxième solution sera dans cet exemple à préférer largement.
A lire ensuite :
Qu’est ce qu’un index dans une base de données ?
Article précédent :
Qu’est ce qu’un site dynamique ?