Enoncé
Exercice 1 :
Soit la base
de données suivante correspondant à la gestion d'un éleveur d'animaux de
compagnie :
Animaux
(n°animal, nom animal, race, sexe, date_de_naissance)
Filiation
(n°animal enfant, n°animal mère, n°animal père)
Aliments_autorisés
(race, n°aliment)
Aliments_interdits
(race, n°aliment)
PlatMenu
(jour, race, n°aliment, quantité)
Aliment
(n°aliment, nom, calories, protéines, lipides, glucides)
Dans la
relation "PlatMenu", les quantités sont données en grammes. Dans la
relation "aliments" les calories, les
protéines,
les lipides et les glucides sont donnés pour 1 gramme .
Dans la
relation filiation, il ne peut pas y avoir de valeur nulle.
Ecrire les
requêtes suivantes en SQL :
R1 : Quels
aliments a mangé Félix le 31 décembre 1999 ?
R2 : Combien
Dolly a t-elle eu d'enfants ?
R3 : Quels
aliments interdits a mangé Postit ?
R4 : Quelle
race d'animaux n'a aucun aliment interdit ?
R5 : Sachant
que le 25
décembre 2000 les chiens n'ont eu qu'un seul repas où ils n'ont
mangé qu'un seul aliment (du chocolat), quelle quantité de glucides ont-ils
absorbé chacun ce jour là ?
R6 : Ecrire
la requête SQL permettant de voir s'il n'y a pas eu d'erreur avec l'insertion
d'un animal femelle comme "père" dans la relation
"filiation", ou d'un animal mâle comme mère dans la relation
filiation.
Exercice 2 :
Soit la base
de données suivante :
PERSONNE
(n°personne, nom, prénom, date_naissance)
INVITE
(n°personne invitante, n°personne invitée, âge_anniversaire)
SOUHAIT
(n°personne, âge_anniversaire, cadeau)
OFFERT
(n°personne offrant, n°personne recevant, âge_anniversaire, cadeau)
La relation
INVITE contient les personnes invitées à fêter un anniversaire.
La relation
SOUHAIT contient les cadeaux qu'une personne souhaite recevoir pour son anniversaire.
La relation
OFFERT contient les cadeaux qu'une personne a reçu pour son anniversaire.
Ecrire les
requêtes suivantes en SQL :
R1 : Quelles
personnes ont reçu comme cadeau "Astérix au pays des BD" ?
R2 : Quelles
personnes n'ont jamais reçu aucun cadeau ?
R3 : Quelles
personnes de plus de 12 ans reçoivent des peluches (par exemple "lapin en
peluche", "pingouin peluche") ?
R4 : Combien
de cadeaux différents a reçu la personne n°23 pour son 20ième anniversaire ?
R5 : Donner
la liste des personnes (n°, nom, prénom), avec leurs cadeaux souhaités, dans un
ordre facilitant la lecture.
R6 : Quelles
personnes ont reçu plus de 4 cadeaux pour leur 30ième anniversaire ?
R7 : Qui a
reçu tous les cadeaux qu'il avait souhaité ?
Exercice 3 :
Soit la base
de données suivante :
Pathologie
(code, libellé, famille)
Médicament
(code, nom, prix_d_une_dose, laboratoire)
Composition_médicament
(code_médicament, code_ingrédient, qté)
Ingrédient
(code, libellé, famille)
Patient (nss,
nom, prénom, sexe, âge, adresse)
Diagnostique
(nss, code_pathologie)
Prescription
(nss, code_médicament, qté, périodicité)
Exemples de
pathologies : <21, rougeole, maladie infectieuse>,
<24,
appendicectomie, opération>,
Exemple de
médicament : <34, Antadiol, 2, Aventis>,
Exemple
d'ingrédient : <54, pénicilline, antibiotique>,
Exemple de
Composition_médicament <34,54,25>,
Exemple de
prescription : <2831075089076, 34, 2, 3) (le patient 2831075089076 doit
prendre le médicament 34 à raison de 2 doses 3 fois par jour).
Ecrire les
requêtes suivantes en SQL :
a) Quels
patients ne reçoivent aucun médicament ?
b) Quels
patients reçoivent des antibiotiques ?
c) Quels
patients de moins de 12 ans reçoivent des antibiotiques ?
d) Combien de
médicaments différents prend le patient n° 123456789 ?
e) Donner la
liste des patients (nss, nom, prénom), avec leurs pathologies.
f) Quels
patients ont plus de 4 pathologies ?
g) Quel
patient est le plus âgé ?
Exercice 4 :
Soit la base
de données suivante de la maternité e-Choux :
ADMISSIONS
(n°mère, nom mère, prénom mère, adresse )
NAISSANCES
(n°bébé, sexe, prénom, nom, poids, taille, heure-naissance, jour-naissance,
mois-naissance, année-naissance, n°mère)
STATISTIQUES
(mois, année, nombre de filles, nombre de garçons, poids moyen filles, poids
moyen garçons)
Ecrire les
requêtes suivantes en SQL :
a) Quels sont
les mois où il naît plus de filles que de garçons ?
b) Quelles
mères (numéro) ont eu des naissances multiples ?
c) Quel est
le garçon le plus grand né en 2003 ?
d) Quels sont
les bébés qui ont le même prénom que leur mère ?
e) Combien de
bébés a eu Madame Mélanie Vincent à la maternité e-Choux ?
f) Quels sont
les prénoms de filles plutôt rares (c'est à dire donnés moins souvent que la
moyenne) ?
Exercice 5 :
Soit la base
de données suivante correspondant à la gestion d'un site en ligne de
tamagotchis (des poissons rouges).
Chaque membre
internaute doit nourrir tous les jours son poisson, ce qui le fait grossir de
S'il est
nourri plus de 2 fois par jour, il tombe malade, ce qui a pour effet de le
faire maigrir de 10g à chaque fois.
S'il part en
vacances, l'internaute peut laisser son poisson à la garderie, où le poisson
est automatiquement nourri 2 fois par jour.
Poisson (n°
poisson, nom poisson, âge, poids)
Internaute
(n°internaute, nom, prénom, adresse email)
Propriété
(n°poisson, n°internaute)
Repas
(n°poisson, jour, heure, minute)
Garderie
(n°poisson, date_début, date_fin)
Ecrire les
requêtes suivantes en SQL :
a) Combien de
poissons ont plus de 40 jours ?
b) Combien de
noms de poissons peut-on répertorier sur ce site ?
c) Quel est
le poids moyen des poissons laissés à la garderie ?
d) Quel est
l’internaute vainqueur, c'est-à-dire celui dont le poisson a le poids le plus
élevé (il peut y en avoir plusieurs en cas d’égalité de poids) ?
e) Quels sont
les internautes ayant tous leurs poissons à la garderie ?
f) Donner
tous les couples d’internautes ayant donné le même nom à leur poisson.
0 commentaires:
Enregistrer un commentaire