Bonjour,

je prépare un concours ITRF et j'aimerais savoir si vous êtes d'accord avec mes requêtes.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Le schéma relationnel suivant représente la gestion simplifiée de bandes dessinées (BD) :
 
BD (NumBD, NomAlbum, NBPages, EditeurNumDessinateur, NumScénariste)
Auteur (NumAuteur, Prénom, Nom, Nationalité)
Magasin (NumMag, NomMag, Adresse, Téléphone, NomResponsable)
BDDansMagasin (NumBD, NumMagasin, NbBDDispo, PrixVente)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
En langage SQL :
1. Donnez les noms des auteurs de bande dessinée (en tant que scénariste ou dessinateur) qui sont responsables d’un magasin.
 
2. Donnez les noms des magasins dont le responsable est aussi un des auteurs d’une des BD disponibles dans ce même magasin.
 
3. Donnez la liste des titres d’albums de BD disponibles, regroupés par magasin.
Voici mes propositions, mais j'ai parfois des doutes:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1) SELECT Nom
FROM AUTEUR a, MAGASIN m
WHERE a.Nom = m.NomResponsable;
 
2) SELECT m.NomMag
FROM BD, AUTEUR a, BDDANSMAGASIN bdmag, MAGASIN m
WHERE m.NomResponsable = a.Nom
AND (a.NumAuteur = BD.EditeurNumDessinateur
OR a.NumAuteur = BD.NumScenariste)
AND m.NumMag = bdmag.NumMagasin
AND BD.NumBD = bdmag.NumBD
AND NbBDDispo >0;
(HAVING?)
 
3) SELECT BD.NomAlbum
FROM BD, MAGASIN m, BDDANSMAGASIN bdm
WHERE BD.NumBD = m.NumBD
AND m.NumMag = bdmag.NumMagasin
AND NbBDDispo >0
ORDER BY m.NomMag;
Qu'en pensez-vous?
Etes-vous d'accord?

Merci par avance,
Johnny