I Introduction II Villes III Pokedex

Transcription

I Introduction II Villes III Pokedex
HX
Nom :
I
Introduction
Devoir sur machine
I Réponse 2 :
Vous devez vous rendre sur le site http://h4.tourniaire.org. Là, votre enseignant
vous aura indiqué le numéro de la base de donnée à récupérer. Attention à ne surtout
pas vous tromper sur cette question :
I Question 3 Quelle est la première ville par ordre alphabétique ?
? Réponse 3 :
I Question 1 Quel est le numéro de votre base de donnée ?
I Réponse 1 :
SELECT
Le sujet doit se faire en deux heures. Les lignes des bases ci-dessous sont données à
titre indicatif pour situer les tables.
I Question 4 Combien y a-t-il de régions au total ? Quelle est celle qui contient le
plus de villes ?
Les réponses marquées d’une étoile vous invitent à préciser une requête qui donnerait
exactement le résultat demandé, si vous l’avez. Si vous avez la réponse (mais sans
pouvoir y répondre par une unique requête), indiquez-la tout de même.
II
I Réponse 4 :
Villes
III
L’univers se situe dans des villes, réparties en régions, stockées dans la table lieu,
dont le schéma est :
On dispose également d’un pokedex, qui décrit les différentes espèces de pokemon dans
l’univers, et dont le schéma est 1 :
lieu
id
nom
region
1
...
Canalave City
...
Sinnoh
...
Pokedex
pokedex
I Question 2 Combien y a-t-il de villes au total ?
id
espece
genus
taille
poids
1
...
Bulbizarre
...
Graine
...
7
...
69
...
1. Nous n’utiliserons pas le champ genus dans ce sujet.
1/4
HX
Nom :
Devoir sur machine
— Un id_parent, identifiant du parent du pokemon 2 dans la table elevage ellemême, ou bien NULL si le pokémon n’a pas de parent connu dans la table.
— Une date_naissance (flottant compris entre 0 et 100).
— Une date_mort (idem, ou NULL si le pokémon est encore vivant).
— Un lieu_naissance, identifiant du lieu de naissance dans la table lieu.
I Question 5 Combien y a-t-il d’espèces au total ?
I Réponse 5 :
elevage
I Question 6 Quelle est le nom de la troisième espèce la plus grande ?
id
1
...
87
...
? Réponse 6 :
SELECT
prenom
Ordroba
...
Vardrone
...
id_espece
217
...
217
...
id_parentdate_naissance
NULL
...
1
...
0.02
...
10.67
...
date_mort
36.46
...
46.67
...
lieu_naissance
178
...
592
...
I Question 8 Combien y a-t-il de pokemons enregistrés dans l’élevage ?
I Réponse 8 :
I Question 7 Si on devait construire un bateau avec un individu de chaque espèce,
combien ce bateau devrait-il supporter en poids ?
I Réponse 7 :
I Question 9 Combien y a-t-il de pokemons encore vivants dans l’élevage ? Quel est
le prénom du plus vieux pokemon encore vivant ?
IV
I Réponse 9 :
Élevage
On construit un élevage à l’instant t = 0 (t est compté en années avec une précision
importante pour éviter les égalités). On y note les pokemons qu’on acquiert, ainsi que
les éventuelles naissances. Pour chaque pokemon de l’élevage, on indique :
I Question 10 Combien y a-t-il d’espèces distinctes représentées dans l’élevage ?
— Un id
— Un prenom associé à chaque pokemon.
— Un id_espece, identifiant de l’espèce dans la table pokedex.
2. Les pokémons se reproduisent par division cellulaire asexuée, disons.
2/4
Nom :
HX
Devoir sur machine
I Question 14 Combien y a-t-il eu de mutations (c’est à dire d’enfants n’ayant pas
la même espèce que leur parent) ?
? Réponse 10 :
I Réponse 14 :
SELECT
I Question 15 Combien un pokemon peut-il avoir d’enfant au maximum ? Quel est le
prénom du plus vieux pokemon (mort ou vivant) à avoir atteint ce nombre d’enfants ?
I Question 11 Dans quelle région y a-t-il eu le plus de naissances ?
I Réponse 15 :
I Réponse 11 :
V
I Question 12 Quel est le poids total des pokemons encore vivants dans l’élevage ?
Évènements
? Réponse 12 :
Il arrive parfois qu’un pokemon fasse gagner de l’argent à son propriétaire (en accomplissant un travail, ou en gagnant un combat). La table events donne la liste de ces
évènements sous la forme suivante :
SELECT
— id est un identifiant unique
— id_pokemon est l’identifiant du pokemon ayant gagné l’argent (dans la table
elevage)
— type est le type de gain (« combat » ou « boulot »)
— gain est le montant gagné à cette occasion.
— date est le moment où l’argent a été gagné
— id_lieu est l’identifiant du lieu où l’argent a été gagné (dans la table lieu)
I Question 13 Quel a été le plus jeune age auquel un pokemon a eu un enfant ?
Quels étaient les prénoms du parent et de l’enfant ?
I Réponse 13 :
events
3/4
id
id_pokemon
type
gain
date
id_lieu
1
...
2
...
combat
...
56.96
...
1.71
...
70
...
Nom :
HX
I Question 16 Combien d’argent a-t-on gagné au total ? Comment se répartit-il entre
les catégories boulot et combat ?
Devoir sur machine
I Question 20 Quel est le prénom du pokemon qui a gagné le plus d’argent dans sa
région natale ?
? Réponse 20 :
I Réponse 16 :
SELECT
I Question 17 Quel est le prénom du pokemon de l’élevage ayant eu son combat le
plus jeune ? Le plus vieux ?
I Réponse 17 :
VI
En bonus. . .
I Question 21 Une lignée est une suite de pokemons (P1 , P2 , . . . Pn ) tel que Pk soit le
parent du pokemon Pk+1 . La longueur de cette lignée est alors n. Quel est la longueur
de la plus longue lignée ? Donner le prénom d’un pokemon P1 ayant engendré une plus
longue lignée.
I Question 18 Quel est le prénom du pokemon qui a effectué le plus de combats
dans sa carrière ?
I Réponse 18 :
I Réponse 21 :
I Question 19 De tous les pokemons morts, quel est le prénom de celui qui avait
gagné le plus d’argent par an ?
I Question 22 La descendance d’un pokemon P est l’ensemble des pokemons Q qui
sont dans une lignée (P, . . . , Q) (P inclus). Quel est le prénom du Pokemon ayant la
plus grande descendance ? Quelle est la taille de sa descendance ?
? Réponse 19 :
I Réponse 22 :
SELECT
4/4