Cette partie du cours a pour but de vous faire appréhender la notion de base de données relationnelle en visualisant une base de donnée existante avec le logiciel PhpMyAdmin (version 3.2.0.1)
Commencez par créer la base de données BDVols en cliquant sur le lien ci-contre. Cela active un programme PHP qui génère automatiquement les données de la base.
1) Affichez la page d'administration de EasyPhp et cliquez sur le lien GESTIONBDD.Il doit apparaitre la page suivante :
2) Dans le menu de gauche sélectionnez la base de donnée BDVols. Cette base de donnée relationnelle contient trois tables nommées Avions, Horaires et Vols
Nous allons commencez par afficher le contenu de la table Avions. Pour cela, il suffit de cliquer sur le lien Avion (dans le menu de gauche, en dessous de la liste de sélection des base de données). Puis sur l'onglet Afficher. Il apparait alors la page suivante :
Chaque colonne de la table correspond à une propriété particulière d'un avion. Dans cet exemple nous avons une table à cinq colonnes nommées NumeroA, Compagnie, Constructeur, Modele et Capacite.
Chaque ligne correspond à un avion particulier.
La première ligne par exemple décrit l'avion N°1. Il s'agit d'un Airbus-A320 de la compagnie de transport Air France d'une capacité de 107 places.
Les champs sont de différents types.
3) Cliquez sur l'onglet structure. Vous verrez alors apparaitre, la page suivante :
Cette page donne la représentation informatique des enregistrements de la table. Plus précisément, elle définit les types de chaque champ.
Les champs NumeroA et Capacite sont de type int, c'est à dire de type entier.
Les champs Compagnie et Constructeur sont représentés par des chaines de 20 caractères ( varchar(20) ) et le champ Modele, par une chaine de 4 caractères ( varchar(4) ).
Vous remarquerez que le champs NumeroA est souligné.
C'est parce qu'il s'agit d'un champ particulier que l'on appelle une clef primaire.
En principe toute table d'une base de donnée relationnelle doit posséder une clef primaire.
Dans notre exemple, le champ NumeroA a été choisi comme clef primaire de la table car il n'existe pas deux avions de même numéro. Le numéro d'un avion permet de le repérer de manière unique dans la table. Par contre, on aurait pas pu choisir le champ Modele comme clef primaire, car il existe plusieurs avions de même modèle.
4) Affichez le contenu et la structure de la table horaires.
Chaque enregistrement de cette table défini un horaire de vol entre deux ville.
Pour simplifier nous avons supposé que les horaires ne dépendent pas du jour de départ.
Affichez le contenu et la structure de la table des vols.
Les clefs étrangère de la table des vols sont les champs Horaire et Avion, puisqu'ils contiennent respectivement le numéro de l'horaire du vol et le numéro de l'avion qui effectue le vol.
On vérifie que le numéro de l'horaire est bien une clef primaire de la table des horaires, puisqu'il est représenté par le champ NumeroH.
De même, le numéro de l'avion est bien une clef primaire de la table des avions.
Prenons par exemple le vol numero 3 de la table (NumeroV = 3) :
Ce vol fait référence à l'horaire numéro 11 de la table des horaires et à l'avion numéro 5 de la table des avions.
Si on cherche par exemple à connaitre l'heure de départ de ce vol, il faut chercher l'horaire numéro 11 (NumeroH = 11) dans la table des horaires :
On voit que l'heure de départ de l'horaire 11 est 7 heures. Le vol numéro 3 part donc à 7 heures.
Autre exemple : on veut connaitre la compagnie de transport du vol numéro 3. Dans ce cas on va chercher l'avion numéro 5 dans la table des avions :
On voit qu'il s'agit de la compagnie Air France. La compagnie de transport du vol 3 est donc Air France.
Voici par exemple une requête qui permet d'afficher les colonnes NumeroH, HeureDepart et VilleDepart de la tables Horaires:
Pour exécuter une requête sous PhpMyAdmin, sélectionnez l'onglet SQL. Vous pouvez ensuite saisir la requête dans une zone de texte:

Pour exécuter la requête, cliquez ensuite sur le bouton Exécuter situé en bas à droite. Le résultat de la requête s'affichera ensuite comme suit:
