Introduction aux bases de données

publicité
UNIVERSITE PANTHEON-ASSAS PARIS 2
L2 Economie-Gestion
Année 2006-2007
Informatique-bureautique
A distribuer la semaine du 19 mars 2007
Le SGBD mySQL
Le SGBD mySQL
mySQL est un SGBD relationnel «Client-Serveur» comprenant :

un serveur SQL.
Programme installé sur une machine «Serveur» attendant les requêtes des «clients» provenant du réseau, qui est un
moteur de recherche pour accéder aux bases de données et récupérer les informations souhaitées.

des programmes client pour accéder aux bases de données.
 Le programme mysql est un client interactif qui lit les requêtes SQL et les transmet au serveur qui les exécute.
Il affiche ensuite le résultat sur l’écran du poste client.
 Le client mysqladmin est un client interactif qui permet de vérifier le statut du serveur et d’exécuter les tâches
du serveur.

des outils d’administration.
Lancement de easyPHP
La distribution mySQL est le plus fréquemment utilisée sous le système d’exploitation Linux, mais existe aussi sous
Windows via easyPHP, serveur Web permettant de générer dynamiquement, via un langage de programmation appelé
PHP, des pages Web pour répondre à des demandes d’un client via Internet.
Démarrer  Programmes  easyPHP  lancer le serveur
Le langage PHP étant conçu pour s’interfacer aisément avec les bases de données mySQL, le lancement du programme
easyPHP lance en même temps le serveur de bases de données mySQL. Dès que easyPHP est lancé, son icône apparaît
dans la barre des tâches et clignote. Le serveur mySQL est lui aussi lancé.
Création d’une base de données
Ouvrez une fenêtre d’invite de commandes et placez-vous dans le dossier C:\ETUD.
Tapez la commande :
mysqladmin -u root create produits
Cette commande crée une base de données (vide) appelée produits.
La création de relations (tables) se fait par la commande CREATE TABLE, les insertions d’occurrences se font par la
commande INSERT.
Récupérez sur le serveur les fichiers PRODUITS.DUMP et PRIX.DUMP et recopiez-les dans ETUD.
Le fichier PRODUITS.DUMP a le contenu suivant :
CREATE TABLE fournisseurs (num tinyint(4) DEFAULT '0' NOT NULL AUTO_INCREMENT,
nom varchar(30), adresse varchar(100), PRIMARY KEY(num), UNIQUE id(num));
INSERT INTO fournisseurs VALUES(1, 'Dupuis SA', '13 rue de la Convention 75015
Paris');
INSERT INTO fournisseurs VALUES(2, 'Meubles en gros', '18 place de la Bastille
75012 Paris');
INSERT INTO fournisseurs VALUES(3, 'Fabricat', '120 rue du faubourg Montmartre
75009 Paris');
CREATE TABLE produits (num tinyint(4) DEFAULT '0' NOT NULL AUTO_INCREMENT, nom
varchar(30), fournisseur tinyint(4), PRIMARY KEY(num), UNIQUE id(num));
1
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INTO
INTO
INTO
INTO
INTO
INTO
produits
produits
produits
produits
produits
produits
VALUES(1,
VALUES(2,
VALUES(3,
VALUES(4,
VALUES(5,
VALUES(6,
'table Louis XV', 1);
'chaise Renaissance', 1);
'lit Empire',2);
'commode Renaissance',3);
'table de chevet',2);
'canape Empire',3);
CREATE TABLE prix (numproduit tinyint(4) DEFAULT '0' NOT NULL
prix int(4), PRIMARY KEY(numproduit), UNIQUE id(numproduit));
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INTO
INTO
INTO
INTO
INTO
INTO
prix
prix
prix
prix
prix
prix
VALUES(1,
VALUES(2,
VALUES(3,
VALUES(4,
VALUES(5,
VALUES(6,
AUTO_INCREMENT,
850);
150);
950);
920);
100);
1050);
Il contient ainsi les instructions permettant de créer trois tables et de créer des occurrences dans chacune de ces tables.
Tapez la commande :
mysql -u root produits < produits.dump
Cette commande exécute chaque ligne du fichier et remplit ainsi la base produits.
Interrogation de la base de données
Pour interroger la base de données produits, on lance le programme mySQL en mode interactif par la commande :
mysql -u root
Le logiciel affiche un prompt spécifique indiquant que l’interpréteur mySQL attend les requêtes.
Tapez successivement :
connect produits;
show tables;
select * from fournisseurs;
pour se connecter à la base de données produits
pour dire quelles sont les tables de cette base
pour exécuter la requête
Notez les attributs de la table fournisseurs, puis faites de même avec les tables produits et prix.
Ajout d’occurrences
L’insertion d’une occurrence dans une relation se fait par INSERT.
Insérez dans la base de données un produit ‘lit Renaissance’ provenant du fournisseur n°1 et de prix 1200 € (deux
commandes INSERT sont nécessaires).
Pour vérifier, tapez une requête faisant afficher le nom de chaque produit et son prix. Le produit qui vient d’être inséré
doit apparaître.
Modification de la structure de la base
On peut modifier la structure de la base par l’instruction ALTER.
Dans la table fournisseurs, modifiez la taille de l'attribut adresse de 100 à 200 caractères (commande alter...modify).
Dans la table fournisseurs, ajoutez l'attribut telephone (chaîne de 10 caractères) (commande alter ... add).
Vérifiez en tapant une requête faisant afficher le contenu de la table fournisseurs.
Dans la table fournisseurs, supprimez l'attribut adresse (commande alter ... drop).
Dans les tables produits et prix, supprimez l'occcurrence 3 (commande delete).
Vérifiez le résultat.
Modification d’occurrences
La modification d’occurrences se fait par l’instruction UPDATE.
2
Modifiez la table fournisseurs pour que le fournisseur 1 ait le numéro de téléphone 0123564785, le fournisseur 2,
0123548789, le fournisseur 3, 0143667821.
Vérifiez le résultat.
Exécution de requêtes
Faites exécuter les requêtes suivantes et notez-en le texte :
- nom des fournisseurs dont le numéro de téléphone commence par 012.
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
- nom des produits de prix inférieur à 1000.
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
- nom des fournisseurs proposant des produits de prix > 1000.
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
- nombre de fournisseurs habitant le 12ème arrondissement de Paris.
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
- nom de chaque fournisseur et nombre de produits proposés par ce fournisseur.
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
Suppression de table
La suppression de table se fait par DROP TABLE.
Supprimez la table prix (commande drop table ...).
Vérifiez la suppression effective de la table.
Quittez l'interpréteur mysql (quit;).
Réinitialisation
Le fichier PRIX.DUMP a le contenu suivant :
CREATE TABLE prix (numproduit tinyint(4) DEFAULT '0' NOT NULL
prix int(5), PRIMARY KEY(numproduit), UNIQUE id(numproduit));
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INTO
INTO
INTO
INTO
INTO
INTO
prix
prix
prix
prix
prix
prix
VALUES(1,
VALUES(2,
VALUES(4,
VALUES(5,
VALUES(6,
VALUES(7,
950);
250);
940);
120);
1100);
1250);
Les prix peuvent à présent s’exprimer avec 5 chiffres.
Recréez dans la base produits la table prix en tapant :
mysql –u root produits < prix.dump
3
AUTO_INCREMENT,
Exécution de requêtes (suite)
Lancez à nouveau le programme mysql, connectez-vous à la base produits et effectuez les requêtes suivantes :
- nom des produits de prix supérieur à 1000.
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
- nom de chaque fournisseur et moyenne des prix des produits proposés par ce fournisseur.
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
Arrêt de easyPHP
Cliquez avec le bouton droit de la souris sur l’icône easyPHP qui se trouve dans la barre des tâches. Choisissez d’abord
Arrêter puis Quitter.
4
Téléchargement