• Aucun résultat trouvé

TP SQL (1)

N/A
N/A
Protected

Academic year: 2022

Partager "TP SQL (1)"

Copied!
4
0
0

Texte intégral

(1)

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.

(2)

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))

(3)

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

(4)

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

Références

Documents relatifs

À ce niveau, deux fichiers PostScript sont créés : le premier est compacté (gzip) et rendu disponible sur le serveur, le second est créé en incluant les polices en format Type 1

[r]

Comme arccos donne une valeur entre 0 et π, donc positive, elle donne la bonne valeur d’angle seulement dans le cas où l’image de z est située au dessus de l’axe des abscisses

1) Afficher la liste des clients qui habitent à Tunis dans l’ordre décroissant selon le Nom. 3) Afficher le montant total des ventes de pantalon en 2015. 4) Afficher le total

On désire ecrire un programme qui calcule le discriminant et les éventuelles racines d’un trinôme du second degré ax 2 + bx + c... Première S Programmer

Pour afficher l'heure d'enregistrement des ondes cherchées, déplacer le curseur par un « cliquer- glisser » et lire l’heure en haut à droite. Choisir le nombre de trace

Cliquer sur le lien « Tableau de bord », puis aller dans l’onglet « Cours » pour voir la liste des cours dont vous êtes gestionnaire. Cliquer sur le cours que vous voulez éditer..

En cas de redistribution du document ou d’une version dérivée, il doit être partagé à son tour sous licence Creative Commons BY SA. Le police cursive utilisée est « AA