Leçon 01 Création de site : bases de données Présentation des bases de données 1. 2. Notions de bases de données ..................................................................................................................................................1 Données ....................................................................................................................................................................................1 Champ ......................................................................................................................................................................................1 Enregistrement ou entrée ......................................................................................................................................................1 Les tables ..................................................................................................................................................................................1 Base de données ....................................................................................................................................................................2 Systèmes de Gestion de Bases de Données ......................................................................................................................2 Clé primaire ..............................................................................................................................................................................2 Le langage SQL et les bases de données ..............................................................................................................................2 Les SGBD s'occupent du stockage ......................................................................................................................................2 Le SQL est le langage qui donne les ordres au SGBD ......................................................................................................2 Le PHP fait la jonction entre vous et MySQL .......................................................................................................................3 Structure d’une base de données SQL ...............................................................................................................................3 En PHP, on peut difficilement se passer d'une base de données. Cet outil incontournable sert à enregistrer des données de façon efficace et organisée. Tout ce que vous voulez enregistrer sur votre site va se retrouver stocké dans une base de données : liste des membres, messages des forums, news, les options de navigation des membres, etc. 1. Notions de bases de données L'utilisation d'une base de données apporte aussi de nouveaux termes à comprendre. Données Une donnée est une information. Les données saisies sont élémentaires le plus souvent mais peuvent parfois être calculées. Champ Un champ est une information nécessaire sur une personne, une chose ou un événement. Exemples : - Personne : le nom ou le prénom ou le numéro de téléphone… - Chose : la couleur ou la taille… - Évènement : la date ou le lieu… Enregistrement ou entrée Un enregistrement, ou une entrée, est un regroupement de champs qui décrivent une personne, une chose ou un événement. Exemples : - Personne : nom, prénom, date de naissance, téléphone, numéro d'assurance sociale - Société : adresse, téléphone, télécopieur, personne responsable Les tables Une table est un regroupement d'enregistrements sur un thème un commun. Frédéric PERRET Création de site : bases de données leçon 01 – p.1/3 Exemple : La table Membres le CHAMP "pseudo" ID 1 pseudo passe email titi 120574 [email protected] 2 marita chouchou [email protected] 3 julien Juju06 [email protected] un ENREGISTREMENT ou une ENTRÉE une DONNÉE Base de données Une base de données, usuellement abrégée en BD ou BDD, regroupe des informations cohérentes, c’est un ensemble structuré et organisé permettant le stockage de grandes quantités d'informations afin d'en faciliter l'exploitation (ajout, mise à jour, recherche de données). Systèmes de Gestion de Bases de Données Un Système de Gestion de Bases de Données, usuellement abrégé en SGBD, représente l'ensemble coordonné de programmes qui permettent de décrire, de mémoriser, de manipuler l'ensemble des données constituant la base. Clé primaire Une clé primaire est un champ, ou si nécessaire plusieurs champs, permettant d'identifier de manière unique un enregistrement dans une table. 2. Le langage SQL et les bases de données Les SGBD s'occupent du stockage Les SGBD, Systèmes de Gestion de Base de Données, sont les programmes qui se chargent du stockage de vos données. Les plus connus sont : MySQL : libre et gratuit, c'est probablement le SGBD le plus connu. Nous l'utiliserons dans ce cours. PostgreSQL : libre et gratuit comme MySQL, avec plus de fonctionnalités mais un peu moins connu. SQLite : libre et gratuit, très léger mais très limité en fonctionnalités. Oracle : utilisé par les très grosses entreprises, sans aucun doute un des SGBD les plus complets mais il n'est pas libre et on le paie le plus souvent très cher. Microsoft SQL Server : le SGBD de Microsoft. Le SQL est le langage qui donne les ordres au SGBD Le langage SQL, pour Structured Query Language, permet de communiquer avec le SGBD pour donner l'ordre de récupérer ou d'enregistrer des données. Le langage SQL est un standard, c'est-à-dire que quel que soit le SGBD que vous utilisez, vous utiliserez le langage SQL. Il existe cependant quelques petites variantes d'un SGBD à l'autre, mais cela concerne généralement les commandes les plus avancées. Exemple de commande en langage SQL : SELECT id, auteur, message, datemsg FROM livreor ORDER BY datemsg DESC LIMIT 0, 10 Frédéric PERRET Création de site : bases de données leçon 01 – p.2/3 Le PHP fait la jonction entre vous et MySQL Le langage PHP va faire l'intermédiaire entre vous et MySQL. On devra demander à PHP : "Va dire à MySQL de faire ceci.". Exemple : Voici ce qu'il peut se passer lorsque le serveur a reçu une demande d'un client qui veut poster un message sur votre forum : 1. Le serveur utilise toujours PHP, il lui fait donc passer le message. 2. PHP effectue les actions demandées et se rend compte qu'il a besoin de MySQL. En effet, le code PHP contient à un endroit "Va demander à MySQL d'enregistrer ce message". Il fait donc passer le travail à MySQL. 3. MySQL fait le travail que PHP lui avait soumis et lui répond "OK, c'est bon !" 4. PHP renvoie au serveur que MySQL a bien fait ce qui lui était demandé. Structure d’une base de données SQL La base de données contient plusieurs tables (on peut en mettre autant que l'on veut à l'intérieur). Comme nous l’avons vu plus haut, chaque table est en fait un tableau où les colonnes sont appelées champs et où les lignes sont appelées entrées. Exemples de noms de tables que l'on peut être amené à créer pour les besoins d’un site web : news : stocke toutes les news qui sont affichées à l'accueil. livre_or : stocke tous les messages postés sur le livre d'or. forum : stocke tous les messages postés sur le forum. newsletter : stocke les adresses e-mails de tous les visiteurs inscrits à la newsletter. Frédéric PERRET Création de site : bases de données leçon 01 – p.3/3