Championnat de Formule 1

[20 min]

La base de données suivante permet de gérer les résultats des courses de Formule 1 dans un championnat.

CTRL+C pour copier, CTRL+V pour coller
1
CHAMPIONNAT(#nom:string, annee:integer)
2
CIRCUIT(#nom:string, ville:string)
3
COURSE(#nom:string,circuit=>CIRCUIT(nom), championnat=>CHAMPIONNAT(nom))
4
SPONSOR(#nom:string)
5
ECURIE(#nom:string, devise:string, couleur:string, sponsor=>SPONSOR(nom))
6
PILOTE(#id:integer, nom:string, prenom:string, ecurie=>ECURIE(nom))
7
TOUR(#pilote => PILOTE(id), #course => COURSE(nom), #num:integer, duree:integer)
CHAMPIONNAT(#nom:string, annee:integer)
CIRCUIT(#nom:string, ville:string)
COURSE(#nom:string,circuit=>CIRCUIT(nom), championnat=>CHAMPIONNAT(nom))
SPONSOR(#nom:string)
ECURIE(#nom:string, devise:string, couleur:string, sponsor=>SPONSOR(nom))
PILOTE(#id:integer, nom:string, prenom:string, ecurie=>ECURIE(nom))
TOUR(#pilote => PILOTE(id), #course => COURSE(nom), #num:integer, duree:integer)

Question

En algèbre relationnel et en SQL, afficher la liste de tous les pilotes dont le nom commence par la lettre 'D'.

Question

En SQL, afficher le nombre de pilotes par écurie en classant les résultats par ordre alphabétique des noms des écuries.

Question

En algèbre relationnel et en SQL, afficher les noms des sponsors qui ne sont pas liés à une écurie.

Question

En SQL, afficher le numéro, nom, prénom et écurie, avec leur temps moyen par tour, des pilotes participant à la course Daytonutc 500 ; mais en ne conservant que les pilotes qui ont effectués au moins deux tours de piste, et en classant le résultat par temps moyen décroissant.