FEC Conception de BD
A.S 2015-2016 MR.SMII ADNEN
TP SQL (1)
Soit la base de données suivante :
A/ Créer la base de données 2016_Gestion_Commandes
B/ Importer la base de données 2016_Gestion_commandes du dossier DATABASE EXPORT.
C/ Créer les requêtes suivantes :
1) Afficher la liste des clients qui habitent à Tunis dans l’ordre décroissant selon le Nom.
2) Afficher le nombre de pantalon vendus en 2015.
3) Afficher le montant total des ventes de pantalon en 2015.
4) Afficher le total d’achat par client
5) Afficher le nombre de commande passé par chaque client 6) Afficher le nombre de commande passé pour chaque produit 7) Afficher le total des ventes par produit
8) Afficher la liste de produit livré par Mr Hajji.
1. Donner le solde moyen des comptes-clients de chaque agence
2. Donner le solde moyen des comptes-clients des agences dont le solde moyen est > “10 000”
3. Donner le nombre de clients de l'agence “Paris-Bastille” n'ayant pas leur adresse dans la relation CLIENT
4. Donner le nombre de clients habitant “Paris”
5. Donner le nombre de clients de l'agence “Paris-Bastille” n'ayant pas leur adresse dans la relation CLIENT
6. Insérer le <176359, Martin, Paris> dans la relation CLIENT 7. Fermer les comptes de “Dupont”
8. Supprimer de la relation AGENCE toutes les agences sans client.
FEC Conception de BD
A.S 2015-2016 MR.SMII ADNEN
//---Création des tables--- CREATE TABLE CLIENT (
CODECLT VARCHAR(4) PRIMARY KEY, MONCLT VARCHAR(20) NOT NULL, PRENOMCLT VARCHAR(20) NOT NULL, ADRESSECLT VARCHAR(20) NOT NULL, TELCLT INT(8) NOT NULL UNIQUE )
//---
CREATE TABLE PRODUIT(
CODEPROD INT(3) UNSIGNED PRIMARY kEY, NOMPROD VARCHAR(20) NOT NULL,
QTESTOCK INT(4) DEFAULT 0 CHECK (QTESTOCK >=0), PRIXUNIT DECIMAL(7,3) NOT NULL CHECK (PRIXUNIT >=0) )
//---
CREATE TABLE FOURNISSEUR(
CODEFOUR INT(4) UNSIGNED PRIMARY kEY, NOMFOUR VARCHAR(20) NOT NULL,
ADRESSEFOUR VARCHAR(20) NOT NULL, TELFOUR INT(8) NOT NULL UNIQUE )
//---
CREATE TABLE LIVRE_PAR (
CODEPROD INT(3) UNSIGNED REFERENCES PRODUIT (CODEPROD) ON DELETE CASCADE,
CODEFOUR INT(4) UNSIGNED REFERENCES FOURNISSEUR (CODEFOUR) ON DELETE CASCADE,
QTELIV INT(4) UNSIGNED NOT NULL CHECK (QTELIV > 0), DATELIV DATE NOT NULL,
PRIMARY KEY(CODEPROD,CODEFOUR))
FEC Conception de BD
A.S 2015-2016 MR.SMII ADNEN
//--- CREATE TABLE COMMANDE (
CODECLT VARCHAR(4) REFERENCES CLIENT (CODECLT) ON DELETE CASCADE,
CODEPROD INT(3) UNSIGNED REFERENCES PRODUIT (CODEPROD) ON DELETE CASCADE,
DATE_CMD DATE NOT NULL,
QUANTITE INT(4) NOT NULL CHECK (QUANTITE > 0), ADRLIV VARCHAR(20) NOT NULL,
PRIMARY KEY(CODECLT,CODEPROD) )
//--- 1) SELECT * FROM CLIENT WHERE ADRESSECLT = 'TUNIS' ORDER BY NOMCLT
DESC
2) SELECT SUM(QUANTITE) AS TOTAL FROM COMMANDE, PRODUIT WHERE NOMPROD = 'PANT'AND PRODUIT.CODEPROD=COMMANDE.CODEPROD
3) SELECT SUM(QUANTITE*PRIXUNIT) AS TOTAL FROM COMMANDE, PRODUIT WHERE NOMPROD = 'PANT'AND
PRODUIT.CODEPROD=COMMANDE.CODEPROD
4) SELECT NOMCLT, PRENOMCLT, SUM(QUANTITE*PRIXUNIT) AS TOTAL FROM COMMANDE, PRODUIT, CLIENT
WHERE PRODUIT.CODEPROD=COMMANDE.CODEPROD AND CLIENT.CODECLT
= COMMANDE.CODECLT GROUP BY NOMCLT
5) SELECT NOMCLT, PRENOMCLT, COUNT(*) AS NB_CMD FROM COMMANDE, CLIENT WHERE CLIENT.CODECLT=COMMANDE.CODECLT GROUP BY NOMCLT
6) SELECT NOMPROD, COUNT(*) AS NB_CMD FROM COMMANDE, PRODUIT WHERE PRODUIT.CODEPROD=COMMANDE.CODEPROD GROUP BY NOMPROD
FEC Conception de BD
A.S 2015-2016 MR.SMII ADNEN
7) SELECT NOMPROD, SUM(QUANTITE*PRIXUNIT) AS TOTAL FROM COMMANDE, PRODUIT WHERE
PRODUIT.CODEPROD=COMMANDE.CODEPROD GROUP BY NOMPROD
8) SELECT NOMPROD, QTESTOCK FROM PRODUIT, FOURNISSEUR, LIVRE_PAR WHERE NOMFOUR='HAJJI' AND
FOURNISSEUR.CODEFOUR=LIVRE_PAR.CODEFOUR AND LIVRE_PAR.CODEPROD=PRODUIT.CODEPROD