0% ont trouvé ce document utile (0 vote)
23 vues13 pages

Construire des Requêtes SQL

Transféré par

christian n'takpe
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
23 vues13 pages

Construire des Requêtes SQL

Transféré par

christian n'takpe
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours de bases de données,

http://sql.bdpedia.fr

Construction d’une requête SQL

1Philippe Rigaux
Construction d’une requête SQL
Nous savons interpréter une requête SQL

• Le résultat d’une requête est une relation constituée de nuplets.


• Chaque nuplet du résultat est construit à partir d’un ensemble de n nuplets
t1 , t2 , · · · , tn provenant de la base de données.
• Ces n nuplets doivent satisfaire un ensemble de conditions (exprimé par une
formule)

La clause from sert à définir les t1 , t2 , · · · , tn , la clause •where à définir les conditions,
la clause select à construire un nuplet-résultat à partir des t1 , t2 , · · · , tn .
Dans cette session nous étudions le processus (mental) de conception d’une requête.
Ces diapositives correspondent au support en ligne disponible
sur le site http://sql.bdpedia.fr/

2
Etape prélable : comprendre le schéma
Il faut savoir visualiser les tables, et les liens (clé primaire, clé étrangère).

3
Imaginer une requête = visualiser les nuplets
nécessaires
Exemple trivial : quel âge a Gérard Depardieu ?

4
La requête

La requête est une transcription directe de la visualisation.

select annéeNaissance
from Artiste as a
where a.nom=’Depardieu’

Pour l’instant tout est simple.

5
Souvent il faut plusieurs nuplets
Exemple les films avec Gérard Depardieu ?

6
La requête

select f.titre
from Artiste as a, Rôle as r, Film as f
where a.nom=’Depardieu’
and a.idArtiste = r.idActeur
and r.idFilm = f.idFilm

La requête est encore une transcription directe de la visualisation.

7
Les films avec C. Deneuve et G. Depardieu

8
La requête

select *
from Artiste as a1, Artiste as a2, Rôle as r1,
Rôle as r2, Film as f
where a1.nom=’Depardieu’
and a2.nom=’Deneuve’
and a1.idArtiste = r1.idActeur
and a2.idArtiste = r2.idActeur
and r1.idFilm = f.idFilm
and r2.idFilm = f.idFilm

9
Les films réalisés par Q. Tarantino en 1994

10
La requête

select *
from Artiste as a, Film as f
where a.nom=’Tarantino’
and f.année = 1994
and a.idArtiste = f.idRéalisateur

11
Les films réalisés par Q. Tarantino en 1994 dans
lesquels il joue

12
À retenir
La démarche mentale pour construire une requête SQL est (toujours) la suivante

• On détermine les nuplets (et leur table) nécessaires pour construire un nuplet du
résultat
⇒ ça définit le from
• On détermine les conditions que doivent satisfaire ces nuplets
⇒ ça définit le where
Important : une condition peut être définie par une sous-requête (résultat vide ou
non)
• Il ne reste plus qu’à “piocher” dans les nuplets pour constituer le résultat
⇒ ça définit le select et la requête complète.

13

Vous aimerez peut-être aussi