IV.3.Base de données MySQL
Nous allons maintenant mettre ces principes en application en
créant notre base MySQL Mercuriale d'architecture contenant les
informations d'abonnés, et en accédant à cette base avec
PHP. Pour l'instant nous présentons les différentes commandes
d'une manière simple et intuitive avant d'y revenir plus en
détail dans les prochains chapitres.
IV.3.1.Création des tables
Notre base de données Mercuriale est constituée de
5 tables et une vue : Client, produit(Matériaux), Catégorie
,devis et login
a) Table Catégorie :
Figure 10: Représentation de la Table
catégorie
53
b) Table cliente
Figure 11:Table cliente
c) Table Matériaux
Figure 12:Représentation de la table
Produit/Matériaux
d) Login
Figure 13:Représentation du Table
login
54
e) Table Devis/facture
Figure 14:Représentation de la table
Devis
Pour créer des tables, nous utilisons une partie de SQL
dite « Langage de
Définition de Données » (DDL) dont la
commande principale est le CREATE TABLE.
La syntaxe du CREATE TABLE se comprend aisément. Nous
indiquons le nom de la table, qui sera utilisé par la suite pour
accéder à son contenu, puis la liste des attributs avec leur
type.
Pour ce travail nous nous en tenons à quelques types de
base : INTEGER, que nous le pouvons abréger en INT, est un entier,
VARCHAR est une chaîne de caractères de longueur variable, pour
laquelle nous spécifions la longueur maximale, ... Pour exécuter
une commande SQL, il existe plusieurs possibilités, la plus
générale étant d'utiliser le client mysql dont le
rôle est principalement celui d'un interpréteur de commande.
Figure 15:Représentation de la base de
données Mercuriale créée
55
Quand Nous recourons aux services d'un fournisseur
d'accès à distance, ce dernier propose généralement
d'entrer des commandes par l'intermédiaire d'une interface web
d'administration de bases MySQL, phpMyAdmin. Cet outil est à
juste titre très populaire, et fournit un environnement de travail
graphique, donc plus convivial que l'interpréteur de commandes
mysql. Nous envisageons successivement pour notre mémoire
d'utiliser phpMyAdmin. Parlons un peu de ces deux situations, dans ce
qui suit.
IV.3.2.L'utilitaire mysql
Cet utilitaire nous permet de disposer les accès (login
et pass word) au client mysql et d'une base de données
Mercuriale. Parlons brièvement du processus de connexion d'utilitaire
mysql. La commande CREATE DATABASE crée une base de
données Mercuriale, autrement dit un espace dans lequel nous
pouvons placer une ou plusieurs tables contenant les données de
l'application. La commande GRANT définit un utilisateur joseph qui aura
tous les droits (ALL PRIVILEGES) pour accéder à cette base et
manipuler ses données. Nous pouvons alors nous connecter à la
base Mercuriale sous le compte Lutumba avec : % mysql
-u_lutumba.Merc. L'option -p indique que nous voulons entrer un mot de
passe. mysql affiche alors un prompt password:
Il est possible de donner le mot de passe directement
après -p dans la ligne de commande mais ce n'est pas une
très bonne habitude à prendre que d'afficher en clair des mots de
passe. La meilleure méthode consiste à stocker dans un fichier de
configuration le compte d'accès à MySQL et le mot de passe.
Pour éviter à l'utilisateur lutumba d'entrer
systématiquement ces informations, nous pouvons ainsi créer un
fichier .my.cnf dans le répertoire C : , et y placer
les informations suivantes : [client] user= lutumba password =
cermut256cha
56
? Interrogation et modification12
Le langage SQL propose les quatre opérations
essentielles de manipulation de données : insertion,
destruction, mise à jour et recherche. Ces
opérations sont communément désignées par le terme
de requêtes. L'ensemble des commandes permettant d'effectuer ces
opérations est le Langage de Manipulation de Données, ou
LMD, par opposition au Langage de Définition de Données
ou LDD.
Nous introduisons maintenant les trois autres
opérations en commençant par la recherche qui est de loin la plus
complexe. Les exemples qui suivent s'appuient sur la table Client
contenant les quelques lignes insérées
précédemment. SELECT * FROM `clients` WHERE 1 Cet exemple nous
montre la structure de base d'une recherche avec SQL, avec les trois clauses
SELECT, FROM et WHERE.
? FROM indique la table dans laquelle nous trouvons les
attributs utiles à la requête. Un attribut peut être «
utile » de deux manières (non exclusives) : (1) nous souhaitons
afficher son contenu (clause SELECT), (2) il a une valeur
particulière (une constante ou la valeur d'un autre attribut) que nous
nous indiquons dans la clause WHERE.
? SELECT indique la liste des attributs constituant le
résultat.
? WHERE indique les conditions que doivent satisfaire les
lignes de la base pour faire partie du résultat.
Une commande SQL est toujours terminé par un
point-virgule. La requête SQL la plus simple est celle qui affiche toute
la table, sans faire de sélection (donc sans clause WHERE) et en gardant
tous les attributs. Dans un tel cas nous pouvons simplement utiliser le
caractère ' * ' pour désigner la liste de tous les attributs.
12 Interrogation et
modification.SQL 2009-2010 Math-info/UPN. Cours inédit .CT Docteur
KAZADI
57
Tant qu'il y a plusieurs tables à interroger,
l'utilisation de SQL s'avère extrêmement complexes, car le serveur
fait tout le travail pour nous : accéder au fichier, lire les lignes,
retenir celles qui satisfont les critères, satisfaire
simultanément (ou presque) les demandes de plusieurs utilisateurs,
...
> Quelques commandes utiles
Enfin mysql fournit tout un ensemble de commandes
pour inspecter les tables, donner la liste des tables d'une base de
données, ... Voici une sélection des commandes les plus
utiles.
+ SELECT DATABASE(); C'est une pseudo-requête SQL (il
n'y a pas de FROM) qui affiche le nom de la base courante.
+ SELECT USER(); Idem, cette pseudo-requête affiche le
nom de l'utilisateur courant.
+ SHOW DATABASES; Affiche la liste des bases de
données.
+ SHOW TABLES; Affiche la liste des tables de la base
courante.
+ SHOW COLUMNS FROM NomTable; Affiche la description de
NomTable.
|