You are on page 1of 4

Bases de données relationnelles Première approche d’un SGBD relationnel (MySQL) Textes des Travaux pratiques Table des

matières
1 Objectifs et organisation du TP ------------------------------------------------------- 2 1.1 Accès à MySQL----------------------------------------------------------------- 2 1.1.1 Sous windows----------------------------------------------------------------- 2 1.1.2 Sous Unix ---------------------------------------------------------------------- 2 2 3 Découverte de la base de données -------------------------------------------------- 2 Découverte de SQL ------------------------------------------------------------------------ 3 3.1 3.2 Du français au SQL ------------------------------------------------------------ 3 A vous de jouer !---------------------------------------------------------------- 4

Merci de communiquer toute correction ou remarque sur ce document à : Philippe.Picouet@enst-bretagne.fr.

Philippe Picouet – IASC - Enst Bretagne

1

sql disponible sous : http://perso. Les commandes permettant de connaître les attributs des relations sont : SHOW COLUMNS FROM EMP .1 Accès à MySQL Sous windows Pour lancer le serveur mysql installé sur votre machine. mysql est sensible aux majuscules / minuscules). serveur. Philippe Picouet – IASC .2 Sous Unix Un serveur Mysql est installé sur la machine tp-web et accessible à partir des machines unix de l’école. le principe de requête et le langage SQL. vous pouvez essayer les commandes suivantes et réfléchir sur la signification des attributs et leur utilité (en particulier les attributs . Les coordonnées du compte MySQL (login.Enst Bretagne 2 . puis déplacez vous dans le répertoire bin de l’installation de Mysql et tapez la commande suivante : mysqld-nt --standalone Puis. Pour découvrir plus en détail les attributs de ces deux relations.sql 1.enst-bretagne. MGR et DEPTNO. Vous pouvez alors créer le schéma et les données en exécutant les commandes incluses dans le fichier preparebase. 1. vous pouvez lancer l’interpréteur par la commande suivante : PROMPT> mysql –u LOGIN –p –h SERVEUR BASE lance un interpréteur SQL sur votre base. password. EMPNO.1. Une fois chargé les variables d’environnement nécessaire à l’utilisation de Mysql (SETUP MYSQL).1 1.1.1 Objectifs et organisation du TP L’objectif de ce TP est de vous familiariser avec un SGBD. lancer une fenêtre de commande. base) à utiliser dans ce TP vous seront communiquées en début de séance. sélectionnez la base de travail par la commande use BASE . lancez l’interpréteur SQL sur votre base avec votre login mysql mysql –u LOGIN –p Une fois sous l’interpréteur SQL. 2 Découverte de la base de données Votre base de données contient les deux relations EMP et DEPT (attention. dans une autre fenêtre de commande. SHOW COLUMNS FROM DEPT. Ce TP est réalisé sur le SGBD MySQL dont l’utilisation est décrite succinctement dans la suite de cette section.fr/~picouet/french/sgbd/mysql/preparebase.

• Donner pour chaque Employé. o Select ENAME from EMP where JOB IN (‘CLERK’. DNAME from EMP.DEPTNO. EMP the_salesman where the_clerk.JOB = ‘CLERK’ and the_salesman.3 Découverte de SQL 3. DNAME from EMP. o Select ENAME. DEPT where EMP. JOB from EMP. • Donner le nom. o Select ENAME from EMP where EMPNO in (select EMPNO from EMP where JOB = ‘CLERK’) or EMPNO in (select EMPNO from EMP where JOB = ‘SALESMAN’). ‘SALESMAN’).EMPNO and the_clerk. o Select ENAME. o Select ENAME. EMP the_salesman where the_clerk. 3 Philippe Picouet – IASC . le numéro et le travail des Employés travaillant dans le département n°10 o Select ENAME. o Select ENAME. DEPT where EMP. o Select the_clerk.JOB = ‘SALESMAN’. MGR. examinez ou testez les différentes expressions SQL proposées et justifiez ou informez leur correction. JOB from EMP where DEPTNO = 10. o Select the_clerk.ENAME from EMP the_clerk.EMPNO = DEPT.DEPTNO = DEPT. EMPNO . o Select ENAME EMPNO JOB from EMP where DEPTNO = 10. DEPTNO.JOB = ‘CLERK’ and the_salesman.1 Du français au SQL Pour chaque requête en français. son nom et celui de son supérieur hiérarchique o Select the_employee. ENAME.EMPNO = the_salesman. DNAME from EMP. • Donner la liste des Employés qui sont SALESMAN et CLERK o Select ENAME from EMP where JOB = ‘SALESMAN’ and JOB = ‘CLERK’.EMPNO = the_salesman. EMP the_salesman where the_clerk.Enst Bretagne . DEPT. JOB from EMP where DEPTNO = 10.EMPNO and the_clerk. DNAME from EMP.ENAME from EMP the_clerk. EMPNO. • Donner le nom des Employés et leur département d’affectation o Select ENAME. o Select * from EMP where DEPTNO = 10. o Select ENAME. • Donner le nom des Employés qui sont SALESMAN ou CLERK o Select ENAME from EMP where JOB = ‘SALESMAN’ or JOB = ‘CLERK’.JOB = ‘SALESMAN’. the_employee.JOB = ‘CLERK’ and the_salesman.MGR from EMP the_employee.JOB = ‘SALESMAN’. o Select ENAME from EMP the_clerk.

the_chief. EMP the_chief where the_chief.ENAME.ENAME. Philippe Picouet – IASC .MGR from EMP the_employee.EMPNO. EMP the_chief where the_employee. EMP the_chief where the_employee. EMP the_chief where the_chief. 3.JOB = ’MANAGER’.MGR = the_employee.ENAME. o Select MGR from EMP where MGR is not null order by DEPTNO.ENAME from EMP the_employee. • Donner les numéros des Employés qui dirigent quelqu’un o Select MGR from EMP. o Select distinct MGR from EMP.o Select the_employee.MGR=the_chief.EMPNO.ENAME from EMP the_employee. o Select MGR from EMP order by MGR. the_chief. o Select the_employee. o Select the_employee.ENAME from EMP the_employee.MGR = the_chief. the_chief.2 A vous de jouer ! Répondez maintenant à la requête suivante (en tentant de ne pas regarder les précédentes) • Donner le nom et le département d’appartenance des Employés qui dirigent au moins un autre Employé.Enst Bretagne 4 .EMPNO. o Select the_employee.