Requtes SQL Exercices corrig©s

  • View
    101

  • Download
    16

Embed Size (px)

DESCRIPTION

Requêtes SQL Exercices corrigés. Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 223 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex. Exercice 1. Les livraisons, la BD. - PowerPoint PPT Presentation

Text of Requtes SQL Exercices corrig©s

  • Requtes SQLExercices corrigsFrdric Gava (MCF)gava@univ-paris12.frLACL, btiment P2 du CMC, bureau 223Universit de Paris XII Val-de-Marne61 avenue du Gnral de Gaulle94010 Crteil cedex

  • Exercice 1

  • Les livraisons, la BD Soit la base relationnelle de donnes PUF de schma : U(NumU, NomU, VilleU) P(NumP, NomP, Couleur, Poids) F(NumF, NomF, Statut, VilleF) PUF(NumP, NumU, NumF, Quantit) dcrivant le fait que (avec des DF videntes) : U : une usine est dcrite par son numro NumU, son nom NomU et la ville VilleU o elle est situe P : un produit est dcrit par son numro NumP, son nom NomP, sa couleur et son poids F : un fournisseur est dcrit par son numro NumP, son nom NomF, son statut (sous-traitant, client) et la ville VilleF o il est domicili PUF : le produit de numro NumP a t dlivr lusine de numro NumU par le fournisseur de numro NumF dans une quantit donne

  • Exprimez en SQL (1)Ajouter un nouveau fournisseur avec les attributs de votre choixSupprimer tous les produits de couleur noire et de numros compris entre 100 et 1999Changer la ville du fournisseur 3 par Toulouse Donnez le numro, le nom, la ville de toutes les usinesDonnez le numro, le nom, la ville de toutes les usines de ParisDonnez les numros des fournisseurs qui approvisionnent lusine de numro 2 en produit de numro 100Donnez les noms et les couleurs des produits livrs par le fournisseur de numro 2Donnez les numros des fournisseurs qui approvisionnent lusine de numro 2 en un produit rougeDonnez les noms des fournisseurs qui approvisionnent une usine de Paris ou de Crteil en produit rougeDonnez les numros des produits livrs une usine par une fournisseur de la mme ville

  • Exprimez en SQL (2)Donnez les numros des produits livrs une usine de Paris par un fournisseur de Paris.Donnez les numros des usines qui ont au moins un fournisseur qui nest pas de la mme villeDonnez les numros des fournisseurs qui approvisionnent la fois des usines de numros 2 et 3Donnez les numros des usines qui utilisent au moins un produit disponible chez le fournisseur de numro 3 (cest--dire un produit que le fournisseur livre mais pas ncessairement cette usine)Donnez le numro du produit le plus lger (les numros si plusieurs produits ont ce mme poids)Donnez le numro des usines qui ne reoivent aucun produit rouge dun fournisseur parisienDonnez les numros des fournisseurs qui fournissent au moins un produit fourni par au moins un fournisseur qui fournit au moins un produit rouge

  • Exprimez en SQL (3)Donnez tous les triplets (VilleF, NumP, VilleU) tels quun fournisseur de la premire ville VilleF approvisionne une usine de la deuxime ville VilleU avec un produit NumPMme question que prcdemment mais sans les triplets o les deux villes sont identiquesDonnez les numros des produits qui sont livrs toutes les usines de ParisDonnez les numros des fournisseurs qui approvisionnent toutes les usines avec un mme produitDonnez les numros des usines qui achtent au fournisseur de numro 3 tous les produits quil fournitDonnez les numros des usines qui sapprovisionnent uniquement chez le fournisseur de numro 3

  • Exercice 2

  • La socit Gavasoft Soit les relations suivantes de la socit Gavasoft Emp(NumE, NomE, Fonction, NumS, Embauche, Salaire, Comm, NumD) Dept(NumD, NomD, Lieu) Exemple

    NomEFonctionNumSEmbaucheSalaireCommNumDGavaPrsidentNULL10/10/197910000NULLNULLGuimezanesDoyen101/10/20065000NULL1TotoStagiare101/10/20060NULL1Al-CaponeCommercial201/10/200650001002

    NumDNomDLieu1DroitCreil2CommerceBoston

  • Exprimez en SQL (4) Donnez la liste des employs ayant une commission (non NULL) class par commission dcroissante Donnez les noms des personnes embauches depuis le 01-09-2006 Donnez la liste des employs travaillant Crteil Donnez la liste des subordonns de "Guimezanes" Donnez la moyenne des salaires Donnez le nombre de commissions non NULL Donnez la liste des employs gagnant plus que la moyenne des salaires de lentreprise

  • Exercice 3

  • Une mdiathque (1) On considre le schma relationnel suivant qui modlise une application sur la gestion de livres et de disques dans une mdiathque Les disques : Disque(CodeOuv, Titre, Style, Pays, Anne, Producteur) Cette relation regroupe un certain nombre dinformations sur un disque : le code douvrage CodeOuv qui est la cl de la relation, le titre, le style (Jazz, Rock etc.), le pays, lanne de sortie et le producteur (par exemple Barclay) ; ces informations sont gnrales et pour un enregistrement de la relation Disque, on aura aura n>1 enregistrements dans la relation E_Disque correspondant aux exemplaires de ce disque possds par la mdiathque Les exemplaires : E_Disque(CodeOuv, NumEx, DateAchat, Etat) Cette relation contient un enregistrement pour chaque exemplaire de disque possd par la mdiathque ; chaque exemplaire est identifi par son code (CodOuv) et un numro dexemplaire (NumEx) ; on trouve galement la date dachat et ltat du disque (intact, abm etc.)

  • Une mdiathque (2) Les livres : Livre(CodeOuv, Titre, Editeur, Collection) Cette relation regroupe un certain nombre dinformations sur un livre : le code de louvrage (CodeOuv) qui est la cl de la relation, le titre, le genre (par exemple polar ou SF), lditeur (par exemple Glnat) et la collection (par exemple livre de poche) ; ces information sont gnrales et pour un enregistrement de la relation Livre, on aura n>1 enregistrement dans la relation E_Livre correspondant aux exemplaires de ce livre possds par la mdiathque Les exemplaires : E_Livre(CodeOuv, NumEx, DateAchat, Etat) Cette relation contient un enregistrement pour chaque exemplaire de livre possd par la mdiathque ; chaque exemplaire est identifi par son code (CodOuv) et un numro dexemplaire (NumEx) ; on trouve galement la date dachat et ltat du livre (intact, abm etc.)

  • Une mdiathque (3) Les auteurs : Auteurs(CodeOuv, Identit) Chaque enregistrement de cette relation correspond lun des auteurs dun ouvrage particulier (livre ou disque) ; lattribut Identit peut avoir pour valeur un nom de personne (par exemple Isaac Asimov) ou un nom de groupe (par exemple Noir Dsir) Les abonns : Abonne(NumAbo, Nom, Prnom, Rue, Ville, CodeP, Tlphone) Cette relation regroupe les informations sur les abonnes de la mdiathque : NumAbo qui identifie tout abonn de manire individuelle, le nom, le prnom de labonn, son adresse et son numro de tlphone

  • Une mdiathque (4) Les prts : Prt(CodeOuv, NumEx, DisqueOuLivre, NumAbo, DatePret) Cette relation contient un enregistrement par prt effectu ; pour chaque prt, on trouve lidentifiant du livre ou du disque (code ouvrage et numro dexemplaire), le numro de labonn effectuant le prt, un attribut explicitant si le prt est celui dun livre ou dun disque (D pour un disque et L pour un livre) et enfin la date du prt ; cette relation ne contient des informations que pour les prts en cours cest--dire pour les emprunts non encore rendus Le Personnel : Personnel(NumEmp, Nom, Prnom, Adresse, Fonction, Salaire) Cette relation contient un enregistrement par employ de la mdiathque ; chaque employ est identifi par un numro et pour chaque employ, la relation donne son nom, son prnom, son adresse, sa fonction et son salaire annuel

  • Une mdiathque (5)Traduisez en SQL les question suivantes :Quel est le contenu de la relation Livre ?Quels sont les titres des romans dits par Gava-Editor ?Quelle est la liste des titres que lon retrouve la fois comme titre de disque et titre de livre ?Quelle est lidentit des auteurs qui ont fait des disques et crit des livres ?Quels sont les diffrents style de disques proposs ?Quel est le salaire annuel des membres du personnel gagnant plus de 20000 euros en ordonnant le rsultat par salaire descendant et nom croissant ?

  • Une mdiathque (6)Suite :Donnez le nombre de prts en cours pour chaque famille en considrant quune famille regroupe des personnes de mme nom et possdant le mme numro de tlphone ?Quel est le code du disque dont la mdiathque possde le plus grand nombre dexemplaire ?Quels sont les diteurs pour lesquels lattribut Collection na pas t renseign ? Quels sont les abonns dont le nom contient la chane ALDO et habitant en Isre ?Quel est le nombre de prts en cours ? Quels sont les salaires minimum, maximum et moyen des employs exerant une fonction de bibliothcaire ? Quel est le nombre de genres de livres diffrents ? Quel est le nombre de disque achet en 1998 ?

  • Une mdiathque (7)Suite : Quel est le salaire annuel des membres du personnel gagnant plus de 20000 euros ? Quel est le nom, prnom et ladresse des abonns ayant emprunt un disque le 12/01/2006 ? Quels sont les titres des livres et des disques actuellement emprunts par Frdric Gava ? Quels sont les titres des ouvrages livres policiers ou disques de Jazz emprunts par Frdric Gava ? Quel est lidentit des auteurs qui nont crit que des romans policiers (genre=policier) ? Quel sont les codes des ouvrages des livres pour lesquels il y a au moins un exemplaire emprunt et au moins un exemplaire disponible ?

  • Correction exercice 1

  • Les livraisons (1) INSERT INTO F VALUES (45, Alfred, Sous-traitant, Chalon) DELETE P WHERE Np>=100 AND Np
  • Les livraisons (2) SELECT DISTINCT Nf FROM PUF, P WHERE Couleur="Rouge" AND PUF.Np=P.Np AND Nu=1 Ou bien SELECT DISTINCT Nf FROM PUF WHERE Np IN (SELECT Np FROM P WHERE Couleur="Rouge") AND Nu=1 SELECT NomF FROM PUF, P, F, U WHERE Couleur=Rouge AND PUF.Np=P.Np AND PUF.Nf=F.Nf AND PUF.Nu=U.Nu AND (U.Ville IN (Paris,Crteil) Ou bien SELECT NomF FROM F WHERE Nf IN (SELECT Nf FROM PUF WHERE Np IN (SELECT Np FROM P WHERE Couleur=Rouge) AND Nu IN (SELECT Nu FROM U WHERE Ville IN (Paris, Crteil)) SELECT DISTINCT Np FROM PUF, F, U WHERE PUF.Nf=F.Nf AND PUF.Nu=U.Nu AND U.Ville=F.Ville

  • Les livraisons (3) SELECT DISTINCT Np FROM PUF, F, U WHERE PUF.Nf=F.Nf AND PUF.Nu=U.Nu AND U.