Cours-Gratuit
  • Cours
  • Blog
home icon Cours gratuits » Cours informatique » Cours bases de données » Cours SQL » Exercices SQL »

Exercice Langage SQL : Les livraisons (Partie 3)

Participez au vote ☆☆☆☆☆★★★★★

Enoncé de l'exercice: (Les livraison Suite...)

Soit la base relationnelle de données PUF de schéma :

                                       U (NumU, NomU, VilleU)

                                       P (NumP, NomP, Couleur, Poids)

                                       F (NumF, NomF, Statut, VilleF)

                                       PUF (NumP, NumU, NumF, Quantité)

Décrivant le fait que (avec des DF évidentes) :

           U : une usine est d’écrite par son numéro NumU, son nom NomU et la ville VilleU où elle est située

           P : un produit est décrit par son numéro NumP, son nom NomP, sa couleur et son poids

           F : un fournisseur est décrit par son numéro NumP, son nom NomF, son statut (sous-traitant, client…) et la ville VilleF où il est domicilié

           PUF : le produit de numéro NumP a été délivré à l’usine de numéro NumU par le fournisseur de numéro NumF dans une quantité donnée.

Exprimer en SQL les requêtes suivantes :

17- Donnez les numéros des fournisseurs qui fournissent au moins un produit fourni par au moins un fournisseur qui fournit au moins un produit rouge
18- Donnez tous les triplets (VilleF, NumP, VilleU) tels qu’un fournisseur de la première ville VilleF approvisionne une usine de la deuxième ville VilleU avec un produit NumP
19- Même question que précédemment mais sans les triplets où les deux villes sont identiques
20- Donnez les numéros des produits qui sont livrés à toutes les usines de Paris
21- Donnez les numéros des fournisseurs qui approvisionnent toutes les usines avec un même produit
22- Donnez les numéros des usines qui achètent au fournisseur de numéro 3 tous les produits qu’il fournit
23- Donnez les numéros des usines qui s’approvisionnent uniquement chez le fournisseur de numéro 3


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
17) Donnez les numéros des fournisseurs qui fournissent au moins un produit fourni par au moins un fournisseur qui fournit au moins un produit rouge
 
    P WHERE Couleur=‘Rouge’ AND P.Np=PUF2.Np AND
    PUF2.Nf=PUF1.Nf AND PUF1.Np=PUF.Np
       Ou bien SELECT DISTINCT Nf FROM PUF WHERE Np IN
      (SELECT Np FROM PUF WHERE Nf IN (SELECT Nf FROM
      PUF WHERE Np IN (SELECT Np FROM P WHERE
      Couleur=‘Rouge’)))
 
18) Donnez tous les triplets (VilleF, NumP, VilleU) tels qu"’"un fournisseur de la première ville VilleF approvisionne une usine de la deuxième ville VilleU avec un produit NumP 
 
SELECT DISTINCT PUF.Nf FROM PUF, PUF PUF1, PUF PUF2,
SELECT DISTINCT F.Ville, Np, U.Ville FROM PUF, U, F
    WHERE PUF.Nf=F.Nf AND PUF.Nu=U.Nu
19) Même question que précédemment mais sans les triplets où les deux villes sont identiques
 
SELECT DISTINCT F.Ville, NP, U.Ville FROM PUF, U, F
    WHEREF.VilleU.VilleANDPUF.Nf=F.NfAND
    PUF.Nu=U.Nu
 
20) Donnez les numéros des produits qui sont livrés à toutes les usines de Paris
 
SELECT Np FROM PUF WHERE NOT EXISTS(SELECT Nu
    FROM U WHERE NOT EXISTS (SELECT * FROM PUF WHERE
    NOT (Ville=‘Paris’) OR (P.Np=PUF.Np AND U.Nu=PUF.Nu))
 
21) Donnez les numéros des fournisseurs qui approvisionnent toutes les usines avec un même produit
 
SELECT NF FROM PUF WHERE NOT EXISTS (SELECT Nu
    FROM U WHERE NOT EXISTS (SELECT * FROM PUF PUF1
    WHEREF.Nf=PUF1.NFANDU.Nu=PUF1.NuAND
    PUF.Np=PUF1.Np))
 
22) Donnez les numéros des usines qui achètent au fournisseur de numéro 3 tous les produits qu’il fournit
 
  SELECT Nf FROM F WHERE EXISTS (SELECT Np FROM P
      WHERE NOT EXISTS (SELECT Nu FROM U WHERE NOT
      EXISTS (SELECT * FROM PUF WHERE F.Nf=PUF.Nf AND
      U.Nu=PUF.Nu AND P.Np=PUF.Np)))
 
23) Donnez les numéros des usines qui s"’"approvisionnent uniquement chez le fournisseur de numéro 3
 
SELECT Nu FROM U WHERE Nu NOT IN (SELECT Nu FROM
    PUF WHERE Nf3)
Contenu publié le 12 Décembre 2011

Articles similaires

  • Exercice Langage SQL : Les livraisons (Partie 2)
  • Exercice Langage SQL : Les livraisons (Partie 1)
  • Exercice Langage SQL : Les Fonctions
  • Exercices et Examens Merise : introduction aux systèmes de gestion de base de données relationnelle
  • Comment élaborer un rétro-planning pour le lancement d'un produit?
  • Exercice langage C : Produit Scalaire de deux vecteurs

Documents similaires

  • Cours d’introduction au marketing d un produit

  • Cours Base de Données er ADO.Net

  • Cours Merise : Conception d'une base de données relationnelle

  • Cours d’initiation à l’Algèbre relationnelle et SQL

  • Modèle de tableau de suivi de commande pour fournisseur sur Excel

  • Cours pratique sur l’étude de marche et lancement de nouveau produit

  • Technicien Réparation en Poids Lourds et Autocars

  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Cours commerce
  • Cours électricité
  • Cours finance
  • Cours statistique
  • Cours économie
  • Cours Management
  • Cours comptabilité
  • Cours électronique
  • Cours gestion
  • Cours marketing
id 11354 02