la page du cours


TD 2

Si vous n'avez pas fini le TD 1, faites quand même aujourd'hui le TD 2 que voici, car ils sont indépendants, mais terminez ce soir le TD 1... Il est important que chacun aille à son rythme, mail il ne faut pas non plus laisser de côté des aspects importants.

La (re)quête du Graal

On considère la base ci-dessous (fin de page), concernant des livraisons de journaux à des dépositaires. Le préfixe N_ signifie numéro, et le suffixe _J journal. Les attributs QTE_L et QTE_R sont les quantités de journaux respectivement livrées et rendues (invendus).
Contraintes : un journal est déterminé par son code, un dépositaire par son numéro ; et pour un dépositaire, une date et un journal, les quantités sont déterminées.

Sauvez sur votre compte Unix (sans copier-coller !) le fichier suivant, puis chargez-le depuis SQL*Plus par start : ordres SQL pour créer ces tables sur votre compte Oracle.

Exprimer les requêtes suivantes en SQL.
(Une correction se trouve en fin de page, mais appelez d'abord l'enseignant.)

Quelques rappels sur le fragment requetes de SQL ici.

  1. Donner pour chaque journal ses titre, prix, type et périodicité.
  2. Codes des journaux mensuels.
  3. Numeros des depositaires habitant Bures.
  4. Codes des journaux livres au depositaire numero 310.
  5. Codes des journaux livrés à Bures (2 manières).
  6. Codes des journaux livrés au dépositaire Les Brasseurs.
  7. Titre de ces journaux.
  8. Noms des dépositaires qui ne reçoivent pas Libération (2 manieres).
  9. Numéros des dépositaires qui ne reçoivent que des hebdomadaires (2 manieres)
  10. Pour chaque type de journal, prix minimum, moyen et maximum.
  11. Numéros des dépositaires dont la moyenne par livraison de quantité de journaux livrés est supérieure à 15.
  12. Villes où sont domiciliés au moins 5 journaux.
  13. Numéros des dépositaires qui reçoivent plusieurs journaux.
  14. Numéros des dépositaires ayant au moins 3 livraisons d'au moins 50 journaux.
  15. Titres des journaux livrés au moins une fois chez au moins 5 dépositaires parisiens différents.
  16. On veut arriver aux : dépositaires parisiens qui reçoivent tous les mensuels féminins. ; on progresse comme suit. Donner d'abord les journaux.
  17. Donner les journaux que le dépositaire 007 ne reçoit pas (sans minus).
  18. Donner les journaux que le dépositaire 007 reçoit.
  19. On veut les dépositaires recevant tous les journaux.
    1. Quel rapport avec ``les journaux que 007 ne reçoit pas'' ?
    2. Donner ces derniers.
Requetes facultatives, pour approfondir.
  1. Donner les différents journaux triés par ordre alphabétique.
  2. Tous renseignements connus sur journaux ordonnés par type et pour chaque type par prix.
  3. Pour chaque journal repéré par son code la liste des numéros des dépositaires auxquels il est livré.
  4. Prix minimum, moyen et maximum d'un journal.
  5. Nombre de journaux dans la base. De types de journaux.
  6. Codes des journaux dont le type est inconnu.
  7. Nombre de ces journaux (les brasseurs...).
  8. Nombre des villes où sont domiciliés au moins 4 journaux.
  9. Codes et titres des journaux dont le prix est supérieur à deux fois le prix minimum.
  10. Donner les mensuels féminins.
  11. Donner les mensuels féminins que 007 ne reçoit pas.
  12. Dépositaires qui reçoivent tous les mensuels féminins.
  13. Dépositaires parisiens.
  14. Dépositaires parisiens qui reçoivent tous les journaux.
  15. Dépositaires parisiens qui reçoivent tous les mensuels féminins.
  16. Mensuels féminins livrés à tous les dépositaires parisiens.


Voici le contenu des tables (mais attention, je crois qu'il y a une erreur, faites la requête sur machine vous-même pour vérifier...).


================================================================================

JOURNAL:

CODE_J TITRE           PRIX  TYPE     PERIODE    ADR_J     
------ --------------- ----- -------- ---------- ---------
110    LE MONDE        4.5   INFO     QUOTIDIEN  PARIS    
115    LIBERATION      4.5   INFO     QUOTIDIEN  PARIS     
120    LA RECHERCHE    32    SCIENCE  MENSUEL    PARIS    
142    TELERAMA        15    TELE     HEBDO      MONTROUGE 
145    TELE 7 JOURS    15    TELE     HEBDO      PARIS     
147    LE FIGARO        5    INFO     QUOTIDIEN  PARIS     
149    L EXPRESS       20    INFO     HEBDO      PARIS     
153    LE CANARD       20             HEBDO      MONTROUGE 
156    SCIENCE ET VIE  20    SCIENCE  MENSUEL    PARIS     
160    ELLE            15    FEMININ  HEBDO      MONTROUGE 
165    LE POINT        20    INFO     HEBDO      PARIS     
184    LE NOUVEL OBS   20    INFO     HEBDO      PARIS     
194    MARIE CLAIRE    15    FEMININ  MENSUEL    MONTROUGE 

================================================================================
DEPOT:
     N_DEP NOM_DEP              ADR       
---------- -------------------- ----------
       310 CAFE DE LA GARE      BURES     
       311 CAFE DE PARIS        ARCUEIL   
       324 PRESSE_CITY          PARIS     
       325 CAFE DU COMMERCE     ORSAY     
       328 LE MOZARD            PARIS     
       345 CAFE LE FONTENAY     BURES     
       357 CAFE DE LA GARE      PARIS     
       365 CAFE DES AMIS        PARIS     
       378 TABAC DU CENTRE      LIMOURS   
       379 LES BRASSEURS        PARIS     
       381 L'AVENTURE           BREUILLET 

================================================================================
LIVRAISON:
     N_DEP     CODE_J DATE_L         QTE_L      QTE_R                          
---------- ---------- --------- ---------- ----------                          
       310        142 30-APR-92         50          5                          
       310        165 30-APR-92         24          3                          
       310        165 09-APR-92         50          5                          
       324        194 23-FEB-92         10          2                          
       328        110 04-MAY-92         20          0                          
       328        110 09-APR-92         30          1                          
       328        110 11-APR-92         30          3                          
       328        115 05-MAY-92         10          1                          
       328        194 25-JAN-92         12          1                          
       345        110 04-MAY-92         48          1                          
       345        115 03-MAY-92         40          2                          
       345        165 04-MAY-92         10          2                          
       357        194 07-MAR-92         18          3                          
       365        194 04-MAR-92         25          0                          
       379        110 19-APR-92         40          0                          
       379        115 25-APR-92         44          0                          
       379        165 09-APR-92        100          4                          
       379        165 30-APR-92         80          0                          
       379        194 07-APR-92         15          4                          
       381        110 23-JAN-92         20          0                          
       381        115 24-JAN-92         20          0                          
       381        120 25-JAN-92         25          0                          
       381        142 22-FEB-92         50          4                          
       381        145 29-JAN-92         10          0                          
       381        147 23-JAN-92         20          0                          
       381        149 22-FEB-92         40          4                          
       381        153 23-JAN-92         20          0                          
       381        156 25-JAN-92         25          0                          
       381        160 26-JAN-92         24          0                          
       381        165 23-JAN-92         20          0                          
       381        184 07-APR-92         30          1                          
       381        194 24-JAN-92         10          0                         


une correction possible


©S. Abiteboul, E. Waller, B. Amann