Vous êtes sur la page 1sur 17

Université Ibn Tofeil Module Système d’information & Bases de données

Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui


Kenitra

Atelier autoguidé MySQL

Objectifs

 Se familiariser avec l'interpréteur de commandes mysql (client) pour accéder à


MySQL 5 DBMS (serveur).
 Utilisez mysql pour:
o ou créer et supprimer des tables
o ou effectuer des requêtes simples et complexes

INSTALLATION CLIENT ET CONNEXION

1. on suppose que vous avez téléchargé mysql client

2. Ouvrez l'interpréteur de commandes Windows (Démarrer-> Exécuter "cmd" et appuyez sur


OK). Ouvrez le "shell" déplacer vers le dossier sur le bureau avec la commande cd (il est
pratique d'ouvrir le dossier database_data et copiez le chemin en haut de la fenêtre).

3. Tapez la commande mysql -h ws02 -u < username >

Note: dans la commande précédente, remplacez <username> par le nom d'utilisateur qui vous
est assigné pour l’atelier, par exemple, l'étudiant devra taper NomEtudiant

mysql -h ws02 -u NomEtudiant

Vous n'avez pas besoin de mot de passe. Sinon, la commande aurait demandé l'option finale -
p et l'insertion ultérieure du mot de passe.

Si les erreurs ne se sont pas produites la connexion serait établie. Maintenant, Vous pouvez
interagir avec le SGBD et passer aux étapes suivantes de l'exercice.

Autre alternative :

Pour la modélisation de la base de données : utiliser PowerAMC ou MySQL Workbench

Puis générer le script de création de votre base de données sous MySQL.

Sous Windows, Installer WanpServeur la plateforme pour le développement Web avec


Apache2, PHP et MySQL Database.

Vous pouvez utiliser la ligne de commande ou l’interface graphique pour cet atelier.

1. CRÉER UNE BASE DE DONNÉES

L'utilisateur NomEtudiant a le droit de créer des bases de données dbj_NomEtudiant avec 1


<= j <= 19. Sur ces bases de données l’utilisateur NomEtudiant a tous les droits possibles
(création de tables, population, modification, requête).
Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

Une fois la connexion établie, comme décrit au point précédent, pour créer la base de données
dbj_NomEtudiant, opérez depuis l'invite de commande comme décrit ci-dessous (n'oubliez
pas de remplacer j par le numéro qui vous a été assigné pour l'exercice):

1. exécutez la commande: create database db1_NomEtudiant;

2. sélectionnez la base de données créée à l'aide de la commande: use db1_NomEtudiant;

Maintenant, Il est possible d'interagir avec le SGBD pour faire fonctionner sur la base des
données créées et procéder aux points suivants de l'exercice.

2. CRÉER ET SUPPRIMER DES TABLES

Considérez la table PERSONNE, contenant les attributs suivants

• Nom (chaîne de 20 caractères, clé primaire);

• Revenu (entier de 10 caractères);

• Age (nombre entier à 3 chiffres);

• Sexe («M» ou «F»);

et la table PARENTS, contenant les attributs suivants

• Fils (chaîne de 20 caractères, clé étrangère sur les personnes);

• Parent (chaîne de 20 caractères, clé étrangère sur les personnes).

Fournissez des requêtes SQL pour créer les deux tables.

Pour écrire des instructions SQL, vous pouvez procéder directement à partir de la ligne de
commande (en tapant Entrée pour envoyer des commandes SQL au SGBD) ou utiliser
n'importe quel éditeur de texte.

Si vous choisissez la deuxième option, une fois que vous avez écrit le code, enregistrez-le sur
un fichier, par exemple pour les personnes, personne.sql, et appelez le script ainsi créé par
MySQL en utilisant la commande

source personne.sql

Si le fichier ne se trouve pas directement à l'emplacement depuis lequel vous avez lancé
mysql, remplacez le nom du fichier par le chemin relatif. Notez que chaque fois que la
commande source est utilisée, toutes les instructions contenues dans le fichier sont exécutées.

Pour vérifier que vous avez réellement créé les tables, exécutez la requête suivante
Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

select table_name, table_schema from information_schema.tables;

qui interroge (sur les attributs table_name et table_schema) la table prédéfinie tables t du
catalogue (schema_information) qui stocke les informations sur toutes les tables de la base de
données. Aussi, vu le nom d'une table il est possible d'obtenir ses attributs (nom et type) avec
la commande

describe <nom-table>;

3. CHARGER LA BASE DE DONNÉES

Pour remplir la base de données, créer le fichier remplirSQL-db.sql et exécutez la commande

source remplirSQL-db.sql

4. FAIRE DES REQUETES (SELECT-PROJECT-JOIN)

Fournir des requêtes SQL pour répondre aux questions suivantes.

1. Trouvez les enfants de 'DRISS';

2. Trouvez le nom et le revenu des personnes de moins de 30 ans;

3. Trouver le nom et le revenu des hommes de moins de 30 ans;

4. Trouver les parents des personnes qui gagnent plus de 20;

5. Trouver la relation qui montre pour chaque personne ses grands-parents;

6. Trouver des mères de personnes qui gagnent plus de 20;

7. Trouvez la relation qui montre pour chaque enfant les parents respectifs (Père,
Mère, Fils);

Pour écrire et exécuter les requêtes SQL relatives aux interrogations, procédez comme au
point précédent.

5. FAIRE DES REQUETES AVEC LES OPÉRATEURS AGRÉGATS ET GROUP BY

Fournir des requêtes SQL pour répondre aux questions suivantes :

1. Trouver les personnes qui sont parents d'au moins 2 enfants;

2. Trouver l'âge moyen des PARENTS de HIBA;

3. Trouver le revenu total des enfants de HOUDA et ISMAIL;


Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

4. Trouvez le nombre de ses enfants pour chaque personne;

5. Trouvez le revenu des personnes qui sont parents d'au moins 2 enfants.

Fournir une solution sans utiliser le groupement, et utiliser le groupement.

Comment se généralisent les deux solutions au cas où l'on veut trouver le revenu de
personnes ayant au moins 3, 4, 5, ... enfants?

6. REQUETES SUPPLÉMENTAIRES (SELECT-PROJECT-JOIN)

Fournir des requêtes SQL pour répondre aux questions suivantes.

1. Trouver le nom et le revenu des parents de OMAR;

2. Trouvez les grands-parents d'OMAR;

3. Trouver les enfants (en commun) de DRISS et NOURELHOUDA;

4. Trouvez les grands-parents de ALI et YOUSSEF;

5. Trouver la relation qui montre les couple de frères (deux personnes sont frères et
sœurs si elles ont un parent en commun)

6. Trouver les frères de NOURELHOUDA;

7. Trouvez la relation qui montre les couples frère-sœur.


Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

OBJECTIFS

• Connaissance des outils disponibles SGBD mysql

• Configuration MySQL

• Gestion des bases de données (création, modification, etc...)

• Interroger et récupérer des informations à l'aide d'outils de ligne de commande et graphiques

Architecture client-serveur

La suite est principalement composée de 3 catégories de produits :

Serveurs MySQL : logiciels qui opèrent directement sur les bases de données.

Dans nos applications, ils fonctionneront en arrière-plan.

Dans les applications réelles, ils sont hébergés dans des machines dédiées (serveurs) capables
de gérer de nombreuses requêtes provenant des applications.

Applications : logiciels et outils nécessaires à l'interface (par exemple, les clients) et à la


gestion des serveurs (par exemple, les utilitaires).

Connecteurs : sont des bibliothèques utilisées par les développeurs pour utiliser et intégrer les
services proposés par le SGBD dans leurs logiciels.

Applications:

CLI Client : client en ligne de commande avec lequel vous pouvez :

• Connectez et gérez un serveur MySQL


Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

• Gérer les bases de données (par exemple, créer ou modifier des bases de données, des tables,
des valeurs d'insertion, etc ..)

• Interroger les bases de données

Workbench : client GUI, étend les fonctionnalités du client texte :

• Gestion graphique des bases de données

• Migration et sauvegarde des données

• Notificateur

• Utilitaires

INSTALLATION

1- MySQL Installer: https://dev.mysql.com/downloads/mysql/

Windows: https://dev.mysql.com/downloads/windows/installer/8.0.html

2- MySQL Tutorial:

• CLI Shell: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/

• Workbench: http://dev.mysql.com/doc/workbench/en/

Ouvrez l'interpréteur de commandes Windows (Démarrer-> Exécuter, entrez "cmd" et


appuyez sur ok). Ouvrez le "shell" déplacez-vous vers le dossier sur le bureau avec la
commande cd (il est pratique d'ouvrir le dossier data_bases et de copier le chemin dans la
partie supérieure de la fenêtre). Tapez la commande

mysql -h ws02 -u <nom d'utilisateur>


Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

Remarque : dans la commande précédente, remplacez le nom d'utilisateur qui vous a été
attribué pour l'exercice par <nom d'utilisateur>, par exemple, l'étudiant avec le nom
d'utilisateur etud1 devra taper : mysql -h ws02 -u etud1

L'utilisateur qui vous sera attribué n'a pas besoin de mot de passe. Sinon, la commande aurait
nécessité l'option -p finale et la saisie ultérieure du mot de passe.

Si aucune erreur ne s'est produite, la connexion a été établie. Il est maintenant possible
d'interagir avec le SGBD et de procéder aux points suivants :

CRÉER UNE BASE DE DONNÉES

L'utilisateur a le droit de créer des bases de données db_votreNom. Il dispose de tous les
droits possibles sur ces bases de données (création de tables, peuplement, modification,
requête).

Une fois la connexion établie, comme décrit au point précédent, pour créer la base de données
db_votreNom, opérer depuis l'invite de commande comme décrit ci-dessous

1. exécutez la commande : create database db_VotreNom ;

2. sélectionnez la base de données créée avec la commande : use db_VotreNom;

Il est maintenant possible d'interagir avec le SGBD pour opérer sur la base de données créée
et passer aux prochains points de l'exercice.

1- CRÉER ET SUPPRIMER DES TABLEAUX

Considérez la table PERSONNE, qui contient les attributs suivants

• Nom (chaîne de 20 caractères, clé primaire) ;

• Revenu (entier de 10 caractères) ;

• Âge (entier à 3 chiffres) ;

• Genre (« M » ou « F ») ;

et la table PARENTS, contenant les attributs suivants

• Enfant (chaîne de 20 caractères, clé étrangère sur PERSONNE) ;

• Parent (chaîne de 20 caractères, clé étrangère vers PERSONNE).

Fournissez les instructions SQL pour créer les deux tables.


Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

Pour écrire des instructions SQL, vous pouvez procéder directement à partir de la ligne de
commande (en tapant Entrée pour soumettre des commandes SQL au SGBD), ou utiliser
n'importe quel éditeur de texte. Si vous choisissez la deuxième option, une fois que vous avez
écrit le code, enregistrez-le dans un fichier, par exemple personnes.sql, et appelez le script
créé par MySQL à l'aide de la commande : sources personnes.sql.

Si le fichier ne se trouve pas directement à l'emplacement à partir duquel vous avez démarré
mysql, remplacez le nom du fichier par le chemin relatif. Notez qu'à chaque utilisation de la
commande source, toutes les instructions contenues dans le fichier sont exécutées.

Pour vérifier que vous avez bien créé les tables, exécutez la requête suivante

selcet table_name, table_schema from information_schema.tables ;

qui interroge (sur les attributs table_name et table_schema) les tables prédéfinies du catalogue
(information_schema) qui stocke des informations sur toutes les tables de la base de données.
Aussi, étant donné le nom d'une table il est possible d'obtenir ses attributs (nom et type) avec
la commande :

describe <nom-table> ;

2- REMPLIR LA BASE DE DONNÉES

Pour remplir la base de données, copiez le fichier contenusSQL-db.sql qui représente le script
de remplissage des tables et exécutez la commande

source contenusSQL-db.sql

3- FAIRE DES QUESTIONS (SELECT-PROJECT-JOIN)

Fournissez des requêtes SQL pour répondre aux questions suivantes.

1. Retrouver les enfants de « Otmane » ;

2. Trouvez le nom et les revenus des personnes de moins de 30 ans ;

3. Trouvez le nom et le revenu des hommes de moins de 30 ans ;

4. Trouver les parents des personnes qui gagnent plus de 20 ans ;

5. Trouvez la relation qui montre les grands-parents pour chaque personne ;

6. Trouvez les mères de personnes qui gagnent plus de 20 ans ;

7. Trouvez la relation qui montre les parents respectifs (Père, Mère, Fils) pour chaque enfant ;
Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

Pour écrire et exécuter les instructions SQL relatives aux requêtes, procédez comme au point
précédent. En créant un scripte.

Les résultats des requêtes seront confrontés aux résultats du l’enseignant.

4- FAIRE DES QUESTIONS AVEC AGREGAT ET GROUP BY OPERATORS

Fournissez des requêtes SQL pour répondre aux questions suivantes.

1. Trouvez des personnes qui sont parents d'au moins 2 enfants;

2. Trouvez l'âge moyen des parents de Kenza ;

3. Trouvez le revenu total des enfants de Nadia et Youssef;

4. Trouvez pour chaque personne le nombre de ses enfants ;

5. Trouvez les revenus des personnes qui sont parents d'au moins 2 enfants.

Proposez une solution sans regroupement et une autre avec regroupement.

Comment généralisez-vous les deux solutions au cas où vous voulez trouver les revenus des
personnes ayant au moins 3, 4, 5, ... enfants ?

Les résultats des requêtes seront confrontés aux résultats du l’enseignant.

5- QUESTIONS SUPPLÉMENTAIRES (SELECT-PROJECT-JOIN)

Fournissez des requêtes SQL pour répondre aux questions suivantes.

1. Trouvez le nom et le revenu des parents d'Omar;

2. Trouver les grands-parents d'Omar ;

3. Retrouver les enfants (en commun) de Otmane et Hiba ;

4. Retrouver les grands-parents d'Adam et d'Abdoullah ;

5. Trouvez la relation montrant des paires de frères et soeurs (deux personnes sont frères et
soeurs si elles ont un parent en commun)

6. Trouver les frères de Hiba ;

7. Trouvez la relation montrant les paires frère-soeur.

Instance de la base de données Instance de la base de données :


Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

PERSONNES
Nom Revenu Age Genre
'Adam' 25 1 'M'
'Abdoullah' 27 21 ‘M'
'Ismail' 44 40 'M'
'Omar' 11 10 'M’
'Ali' 26 30 ‘M'
'Otmane' 60 20 'M'
'Driss' 79 30 'M’
'Youssef' 50 40 'M’
'Mohammed' 79 30 'M'
'Hamza' 85 35 'M’
'Houda' 79 28 'F'
'Nadia' 50 29 'F'
'FatimaZouhra' 41 30 'F'
'Zeinab' 79 30 F'
'Ghita' 75 87 'F'
'Hiba' 55 42 ‘F’
'Kenza' 30 41 ‘F’
PARENTS
Enfant Parent
'Adam' 'Otmane'
'Adam' 'Hiba'
'Abdoullah' 'Otmane'
'Abdoullah' 'Hiba'
'Ismail' 'Zeinab'
'Ismail' 'Driss'
'Omar' 'FatimaZouhra'
'Omar' 'Ismail'
'Ali' 'Nadia'
'Ali' 'Youssef'
'Otmane' 'Hamza'
'Youssef' 'Ghita'
'FatimaZouhra' 'Houda'
'FatimaZouhra' 'Mohammed
'Hiba' 'Ghita
'Kenza' ‘Nadia’
'Kenza' 'Youssef'
Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

Atelier autoguidé Microsoft Access

Considérons la base de données relationnelle composée des relations suivantes :

EMPLOYE
Matricule Nom Salaire Service
101 NOM1 60 NO
102 NOM2 40 NO
103 NOM3 40 NO
201 NOM3 40 SU
202 NOM4 50 SU
301 NOM5 70 IS

PROJET
Thème Intitulé Budget Responsable
Alpha Vente 30 202
Beta Inventaire 50 301
Gamma Distribution 18 301

PRATICIPATION
Employé Projet
101 Alpha
101 Beta
103 Alpha
103 Beta
201 Beta
202 Beta

avec les contraintes de référence suivantes :

• entre l'attribut Service de la relation Employé et la relation Service

• entre l'attribut de la relation Directeur de Service et la relation Employé

• entre l'attribut Responsable de la relation Projet et la Relation Employé

• entre l'attribut Salarié de la relation Participation et la relation Employé

• entre l'attribut Projet de la relation Participation et la relation Projet

Formulez les requêtes suivantes en SQL.


Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

1. Trouver le numéro de Matricule et le nom des employés qui gagnent plus de 50.

2. Trouvez le nom et le salaire des employés qui travaillent à Kenitra.

3. Trouvez le nom de famille des employés et le nom du service dans lequel ils travaillent.

4. Trouvez les noms des employés qui sont des directeurs de département.

5. Trouvez les noms des projets et les noms de famille des responsables.

6. Trouvez les noms des projets dont le budget est supérieur à 100 et les noms de famille des
employés qui y travaillent.

7. Trouvez les noms des employés qui gagnent plus que leur chef de service.

8. Trouvez les noms des directeurs de service et des chefs de projet.

9. Trouvez les noms des services où travaillent les employés qui gagnent plus de 60.

10. Trouvez les noms des services où tous les employés gagnent plus de 60.

11. Trouvez le nom de famille des employés au salaire maximum.

12. Trouvez le numéro de matricule et le nom de famille des employés qui ne travaillent sur
aucun projet.

13. Trouvez le numéro de matricule et le nom de famille des employés travaillant sur plus
d'un projet.

14. Trouvez le numéro de matricule et le nom de famille des employés travaillant sur un seul
projet.

15. Trouvez le salaire moyen des employés qui y travaillent pour chaque service.

16. Trouvez le numéro de matricule et le nom des employés dont le salaire est supérieur d'au
moins 10 % au salaire moyen de leur service.
Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

Atelier Autoguide Oracle SQLPLUS

Objectif :

Cet atelier comporte deux parties. La partie 1contient certaines requêtes à exprimer en SQL
sur une base de donnée existante. La partie II a comme objectif de créer à partir du schéma
logique d’une base de données, et depuis un scripte de création et de chargement de la base de
données et d’exprimer des requêtes de mise à jour, de suppression en utilisant le langage SQL.

Etapes préliminaires de déroulement de l’atelier

Connexion au serveur Oracle

Les requêtes SQL sont exécutées dans le software SQL Developer qui permet de se connecter
à la base de données Oracle et soumet des requetes SQL

1- Connexion à la base de données

 Ouvrir le programme Oracle SQL Developer


 Cliquer sur New Connexion

2- Login
 S’authentifier
 Connection name :
 Username :
 Password :
 Hostname :
 Port :
 SID :xe
3- Un exemple d’une machine numéro 23 du réseau avec un Username dbdata23 et come
password orac23
Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

Ecrire et exécuter des requêtes SQL

Exprimer la requête SQL à exécuter dans l’espace de travail (Woksheet) et exécuter la requête
/script en cliquant sur « Run script »

4- Description de la base de données Delivery

La base de données Delivery rassemble des informations sur les activités d'une
entreprise livrant et collectant des marchandises pour diverses entreprises clientes.

La table DELIVERERS contient les données personnelles des livreurs travaillant dans
l'entreprise. Pour chaque livreur, les informations suivantes sont disponibles : code
d'identification (DELIVERERID), nom, prénom, année de naissance, sexe, année où il
a commencé à travailler pour l'entreprise, rue, numéro de maison, ville, code postal de
résidence, le numéro de téléphone et le numéro de téléphone du bureau.

La table COMPANIES rapporte, pour chaque société cliente, le code d'identification


de la société (CompanyID) et le code d'identification du livreur qui est la personne de
référence actuelle de l'entreprise. De plus, il rapporte le nombre de fois (MANDAT)
que le livreur a occupé ce poste.

La table COMPANYDEL rapporte le nombre total de bonnes livraisons


(NUMDELIVERIES) et collectes (NUMCOLLECTIONS) effectuées par chaque
livreur pour chaque société cliente. Notez que le table ne rapporte que les paires
Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

livreur-société telles que le livreur a effectué au moins une livraison ou une collecte
pour la société.

Le tableau PENALITES rapporte les amendes reçues par chaque livreur. Pour chaque
amende, le code amende (PENALTYID), le code livreur, la date de l'amende et le
montant à payer sont mémorisés.

Le schéma de la base de données est illustré dans la figure suivante.

5- L’instance de la base de données Delivery

La clé primaire est soulignée, les attributs optionnels sont dénotés par *.
Table DELIVERES

DELIV NAME INIT YEA SE YE STREET HOU P TOW CELL PHONE


ERERI IA R_ X AR SEN OSTCO N NO NO*
D LS OF_ JOI O DE
BIRT NE
H D

2 Everett R 1978 M 197 Stoney 43 3575NH Stratf 070- 2411


5 Road ord 237893
6 Parmenter R 1984 M 197 Haseltine 80 1234KK Stratf 070- 8467
7 Lane ord 476537

7 Wise GWS 1983 M Edgecombe 39 9758VB Stratf 070- NULL


Way ord 347689
8 Newcastle B 1982 F Station 4 6584W Ingle 070- 2983
Road O woo 476573
d
27 Collins DD 1984 F Long Drive 804 6584W Ingle 070- 2983
O woo 476573
d

28 Collins C 1983 F Old main 10 1294QK Midh 010- NULL


Road urst 659599
39 Bishop D 1976 M Eaton 78 9629CD Stratf 070- NULL
Square ord 393435
44 Baker E 1973 M Lewis 23 4444LJ Ingle 070- 1124
Street woo 368753
d

57 Brown M 1971 M Edgecombe 16 4377CB Stratf 070- 6409


Way ord 473458
83 Hope PK 1976 M Magdalene 16A 1812UP Stratf 070- 1608
Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

Road ord 353548


95 Miller P 1964 M High Street 33a 5746OP Dougl 070- NULL
as 867564
100 Parmenter P 1983 M Haseltine 80 1234KK Stratf 070- 6524
Lane or 476537
104 Moorman D 1980 F Stout Street 65 9437AO Eltha 079- 7060
m 987571
112 Bailey IP 1983 F Vixen Road 8 6392LK Plymo 010- 1319
uth 54874

Table COMPANYDEL

COMPANYID DELIVERERID NUMDELI NUMCOLLEC


VERIES TIONS

1 2 4 8
1 6 9 1
1 8 0 1
1 44 7 5
1 57 5 0
1 83 3 3
2 8 4 4
2 27 11 2
2 104 8 4
2 112 4 8

Table PENALTIES

PAYMENTID DELIVERER DATA AMOUNT


ID

1 6 12/08/2017 100
2 44 05/05/2018 75
3 27 10/09/2020 100
4 104 08/12/2021 50
5 44 08/12/2017 25
6 8 08/12/2017 25
7 44 30/12/2022 30
8 27 12/11/2021 75

Table COMANTES
COMPANYID DELIVERERID MANDATE
1 6 First
2 27 Second

6- SQL Queries

1. Afficher toutes les informations sur tous les livreurs.


Université Ibn Tofeil Module Système d’information & Bases de données
Ecole Nationale des Sciences Appliquées Responsable : Prof. H. Chaoui
Kenitra

2. Indiquez les codes d'identification de toutes les entreprises pour lesquelles les
livreurs ont livré ou récupéré des marchandises.

3. Pour chaque livreur dont le nom de famille (nom d'attribut) commence par la lettre
« B », indiquez le nom du livreur et le code d'identification.

4. Pour chaque livreur dont le numéro de téléphone au bureau (attribut PHONENO)


est différent de 8467 ou non disponible, indiquez le nom, le sexe et le code
d'identification du livreur.

5. Indiquez le nom et la ville de résidence des livreurs qui ont reçu au moins une
amende.

6. Pour chaque personne de référence de l'entreprise qui a reçu au moins une amende
après le 31/12/2017 indiquez le nom et les initiales du prénom. Triez le résultat par
ordre alphabétique croissant par rapport au nom de famille.

7. Pour chaque livreur résidant à Stratford, recherchez toutes les entreprises où le


livreur a effectué au moins deux collectes et une livraison, en présentant les résultats
par paires (code d'identification du livreur, code d'identification de l'entreprise).

8. Afficher les codes d'identification des livreurs nés après 1982 ayant effectué au
moins une livraison à une entreprise dont la personne de référence a été désignée pour
la première fois (attribut MANDATE='First'). Trier le résultat par ordre décroissant
des codes d'identification.

9. Indiquez le nom de famille des livreurs vivant à Inglewood ou à Stratford qui ont
livré ou collecté des marchandises pour au moins 2 entreprises clientes.

10. Pour chaque livreur vivant à Inglewood qui a reçu au moins deux amendes,
indiquez le code d'identification du livreur et le montant total (attribut AMOUNT) des
amendes reçues.

11. Pour chaque livreur qui a reçu entre 2 et 4 amendes (c'est-à-dire au moins 2 mais
pas plus de 4 amendes), indiquez le nom de famille et le montant de la plus petite
amende reçue.

12. Pour chaque livreur qui n'habite pas à Stratford et dont le nom de famille (nom
d'attribut) commence par la lettre « B », indiquez le nombre total de livraisons et le
nombre total de collectes.

Vous aimerez peut-être aussi