faboun_21 a écrit :
Bonjour,
Je voudrais savoir si mes requêtes (à faire en modèle relationnel)sont justes? Je vous remercie beaucoup d'avance,
Agréable journée à vous :
Voici mon schéma relationnel * CLIENT(NoClient, NomC, PrénomC, VilleC)
* ARTICLE (NoArt, NomArt, PoidsArt, Couleur, PrixAchat, PrixVente, NoFourn)
* FOURNISSEUR (NoFourn, NomFourn, Adresse)
* VENTE (NoClient, NoArt, QtéVendue, DateVente)
Lister le numéro des clients auxquels ont été vendus plus de 10 articles:
R1 = RESTRICT (VENTE/ NbVendu=10)
Q1 = PROJET ( R1/ N°Client)
Un même client peut avoir commandé plusieurs articles.
Il faut donc d'abord compter le nombre d'articles qu'il a commandé.
R1= PROJ (VENTE;N°Client,TOTCDE=Somme(Nbvendu)
Il te reste à sélectionner les clients dont le TOTCDE est supérieur à 10
R2= REST (R1;TOTCDE>10) soit la requête SQL:
Q1= SELECT DISTINCT N°CLIENT, SUM(NBVENDU) AS TOTCDE FROM VENTE WHERE SUM(NBVENDU)>10 GROUP BY N°CLIENT
Lister le numéro et le nom des clients qui ont acheté des articles seulement entre le 01/12/04 et aujourd'hui
R1=RESTRICT ( VENTE / DateVente>1/10/2004 )
R2=Join (R1/CLIENT )
Q2=PROJECT ( CLIENT / Nomclient Numclient)
On ne te demande pas depuis le 01/10/2004 mais depuis le 01/12/04 :étourdi!
Dans ta jointure tu dois préciser la condition minimum R1.N°client=CLIENT.N°client
Si tu fais ta requête finale sur la table client, tu obtiens la liste de tous les clients: étourdi 2 fois!!
Il faut la faire sur R2 évidemment.
Lister les noms des clients qui ont acheté l'article N°1 et N°2:
R1 = Restrict (VENTE / NoArt=1) Tu as là les lignes de la table vente ou apparaissent l'article N°1
R2 = Restrict (R1/ NoArt=2) Tu as là les lignes de la table vente ou apparaissent l'article N°2
R3=Join (R2/CLIENT ) Ici tu n'a que les clients qui ont commandé l'article N°2 et il te manque une condition.
Q1= PROJECT (CLEINT, NomC) Ici tu as la liste des noms de tous les clients.
C'est archi faux, tu dois réfléchir un peu avant que je te donne la réponse.
Je n'ai pas l'intention de faire tout le boulot à ta place.
Lister les noms des articles qui ont été vendus au client N°1 ou au client N°2
R1 = Restrict (VENTE/ NoClient=1)
R1'=PROJECT(R1/NoCLient)
R2 = Restrict (VENTE/ NoClient=2)
R2'=PROJECT ( R2/NoClient)
R3 = Union (R1/ R2)
R4=Join (R3/ARTICLE )
Q1= PROJECT (ARTICLE, NomArt)
|