Vous êtes sur la page 1sur 5

Interrogation avec SQL

volcl le scrlpL de creaLlon du schema (dlsponlble sur le slLe) Ces commandes dolvenL
malnLenanL vous Lre famllleres (slnon rellsez les chaplLres correspondanL)

/* uesLrucLlon evenLuelle des Lables exlsLanLes */
u8C 1A8LL noLaLlon
u8C 1A8LL 8ole
u8C 1A8LL lllm
u8C 1A8LL ArLlsLe
u8C 1A8LL lnLernauLe
u8C 1A8LL ays
u8C 1A8LL Cenre

/* CreaLlon des Lables */
C8LA1L 1A8LL lnLernauLe (emall vA8CPA8 (40) nC1 nuLL
nom vA8CPA8 (30) nC1 nuLL
prenom vA8CPA8 (30) nC1 nuLL
reglon vA8CPA8 (30)
CCnS18Aln1 klnLernauLe 8lMA8? kL? (emall))
C8LA1L 1A8LL ays (code vA8CPA8(4) nC1 nuLL
nom vA8CPA8 (30) uLlAuL1 'lnconnu' nC1 nuLL
langue vA8CPA8 (30) nC1 nuLL
CCnS18Aln1 kays 8lMA8? kL? (code))
C8LA1L 1A8LL ArLlsLe (ldArLlsLe ln1LCL8 nC1 nuLL
nom vA8CPA8 (30) nC1 nuLL
prenom vA8CPA8 (30) nC1 nuLL
anneenalss ln1LCL8
CCnS18Aln1 kArLlsLe 8lMA8? kL? (ldArLlsLe)
CCnS18Aln1 unlquenomArLlsLe unlCuL (nom prenom))
C8LA1L 1A8LL lllm (ldlllm ln1LCL8 nC1 nuLL
LlLre vA8CPA8 (30) nC1 nuLL
annee ln1LCL8 nC1 nuLL
ldMLS ln1LCL8
genre vA8CPA8 (20) nC1 nuLL
resume vA8CPA8 (100)
codeays vA8CPA8 (4)
CCnS18Aln1 klllm 8lMA8? kL? (ldlllm)
lC8LlCn kL? (ldMLS) 8LlL8LnCLS ArLlsLe
lC8LlCn kL? (codeays) 8LlL8LnCLS ays)
C8LA1L 1A8LL noLaLlon (ldlllm ln1LCL8 nC1 nuLL
emall vA8CPA8 (40) nC1 nuLL
noLe ln1LCL8 nC1 nuLL
CCnS18Aln1 knoLaLlon 8lMA8? kL? (ldlllm emall))
C8LA1L 1A8LL 8ole (ldlllm ln1LCL8 nC1 nuLL
ldAcLeur ln1LCL8 nC1 nuLL
nom8ole vA8CPA8(30)
CCnS18Aln1 k8ole 8lMA8? kL? (ldAcLeurldlllm)
lC8LlCn kL? (ldlllm) 8LlL8LnCLS lllm
lC8LlCn kL? (ldAcLeur) 8LlL8LnCLS ArLlsLe)
C8LA1L 1A8LL Cenre (code vA8CPA8 (20) nC1 nuLL
CCnS18Aln1 kCenre 8lMA8? kL? (code))
11 S|ect|ons s|mp|es
1 1ous les LlLres de fllms
2 nom eL prenom des lnLernauLes auvergnaLs
3 1lLre eL annee de Lous les drames Lrles par annee ascendanLe uonnez ensulLe le Lrl par
annee descendanLe
4 nom eL annee de nalssance des arLlsLes nes avanL 1930
3 1lLre eL annee de Lous les fllms parus enLre 1960 eL 1980
6 1ous les genres de fllms (ellmlnez les doublons)
7 1lLre genre eL resume des fllms qul sonL solL des drames solL des wesLerns (uLlllsez la
consLrucLlon ln) eL donL le resume conLlenL la chaine de caracLeres vle
8 Les arLlsLes donL le nom commence par 'P' (commande LlkL)
9 Cuels sonL les acLeurs donL on lgnore l'annee de nalssance ? (ALLenLlon cela slgnlfle que
la valeur esL absenLe)
10 renom nom eL ge de chaque arLlsLe (n8 l'ge esL la dlfference enLre l'annee couranLe
eL l'annee de nalssance) nommez ge la colonne obLenue (commande AS)
. )ointures
1 Cul [oue le rle de Sam (nom eL prenom) ?
2 Cul esL le reallsaLeur de Zeus ?
3 renom eL nom des lnLernauLes qul onL donne une noLe de 4 un fllm (donner aussl le
LlLre du fllm)
4 Cuels acLeurs onL [oue quel rle dans le fllm verLlgo ?
3 lllms donL le reallsaLeur esL 1lm 8urLon eL un des acLeurs esL !ohnny uepp
6 1lLre des fllms dans lesquels a [oue 8ruce Wlllls uonner aussl le nom du rle
7 Cuel meLLeur en scene a Lourne dans ses propres fllms ? uonner le nom le rle eL le LlLre
des fllms
8 Cuel meLLeur en scene a Lourne en LanL qu'acLeur (mals pas dans son propre fllm) ?
uonner le nom le rle eL le LlLre des fllms ou le meLLeur en scene a [oue
9 uans quels fllms le meLLeur en scene aLll le mme prenom que l'un des lnLerpreLes ?
(LlLre nom du meLLeur en scene nom de l'lnLerpreLe) Le meLLeur en scene eL l'lnLerpreLe ne
dolvenL pas Lre la mme personne
13 kequtes |mbr|ques
Les requLes sulvanLes peuvenL s'exprlmer avec une lmbrlcaLlon des clauses SLLLC1 mals on
peuL egalemenL uLlllser des [olnLures plaL Sl le cour vous en dlL essayez les deux
verslons
1 uonnez les nom eL prenom des arLlsLes qul on mls en scene un fllm
2 uonnez le LlLre eL annee des fllms qul onL le mme genre que MaLrlx
3 uonnez le nom des lnLernauLes qul onL noLe le fllm Allen uonnez egalemenL la noLe
14 Ngat|on
L encore ll exlsLe souvenL plusleurs manleres d'exprlmer la mme requLe
1 Les fllms sans rle
2 nom eL prenom des acLeurs qul n'onL [amals mls en scene de fllm
3 Les lnLernauLes qul n'onL pas noLe de fllm paru en 1999
. Fonctions de groupe
1 Cuelle esL le nombre de fllms noLes par l'lnLernauLe rlgaux[cnamfr quelle esL la
moyenne des noLes donnees la noLe mlnlmale eL la noLe maxlmale ?
2 Comblen de fols 8ruce Wlllls aLll [oue le role de McClane ?
3 Annee du fllm le plus anclen eL du fllm le plus recenL
4 ld nom eL prenom des reallsaLeurs eL nombre de fllms qu'lls onL Lournes


Cration d'un scbma relationnel
ll s'aglL de denlr un schema de base de donnees d'y lnLegrer des conLralnLes des vues eL
d'y lnserer quelques lnformaLlons verlez le comporLemenL des conLralnLes eL des vues
1 Crat|on des tab|es
Creez les Lables du schema 'Agence de voyages' vues en cours eL rappelees cldessous
SLaLlon (nomSLaLlon capaclLe lleu reglon Larlf)
AcLlvlLe (nomSLaLlon llbelle prlx)
CllenL (ld nom prenom vllle reglon solde)
Se[our (ld sLaLlon debuL nblaces)
ALLenLlon blen denlr les cles prlmalres eL eLrangeres volcl les auLres conLralnLes porLanL
sur ces Lables
1 Les donnees capaclLe lleu nom vllle solde eL nblaces dolvenL Lou[ours Lre connues
2 Les monLanLs (prlx Larlf eL solde) onL une valeur par defauL 0
3 ll ne peuL pas y avolr deux sLaLlons dans le mme lleu eL la mme reglon
4 Les reglons auLorlsees sonL 'Ccean lndlen' 'AnLllles' 'Lurope' 'Amerlques' eL 'LxLreme
CrlenL'
3 La desLrucLlon d'une sLaLlon dolL enLrainer la desLrucLlon de ses acLlvlLes eL de ses se[ours
6 Le prlx d'une acLlvlLe dolL Lre lnferleur au Larlf de la sLaLlon eL superleur 0
7 our une daLe de debuL donnee le nombre LoLal de places reservees dans une sLaLlon dolL
Lre lnferleur la capaclLe de la sLaLlon
Consell donnez des noms vos conLralnLes 8lMA8? kL? lC8LlCn kL? eL CPLCk avec la
clause
CCnS18Aln1
Insert|on de donnes
lnserez dans la base les donnees de la gure 1 avec des ordres lnSL81 ALLenLlon l'ordre des
lnSL81 esL lmporLanL (pourquol ?)

vous pouvez ensulLe LesLer les conLralnLes avec quelques ordres SCL ar exemple
deLrulsez la sLaLlon eL verlflez que les acLlvlLes onL dlsparu lnserez une auLre sLaLlon en
(Cuadeloupe AnLllles) lnserez une sLaLlon dans une reglon 'nulleparL' eLc
. Vues
MalnLenanL ll fauL creer des vues eL LesLer l'lnLerrogaLlon eL la mlse [our Lravers ces vues
1 Creez les vues sulvanLes sur le schema precedenL
(a) une vue AcLlvlLesModlques (SLaLlon AcLlvlLe) donnanL le nom des sLaLlons eL des
acLlvlLes donL le prlx esL lnferleur 140 ll 1ouLe llgne lnseree dans ceLLe vue dolL apparaiLre
dans la vue ensulLe
(b) une vue AcLlvlLesCheres de mme schema avec prlx superleur 140 ll eL la mme
conLralnLe d'lnserLlon
(c) une vue SLaLlonuollars (nom CapaclLe Lleu 1arlfuollar) donnanL le nom d'une sLaLlon
sa capaclLe le lleu eL le Larlf en dollars (meLez le Laux de converslon en dur ou blen
mleux creez une Lable sLockanL le Laux de converslon)
(d) une vue 1arlfs (SLaLlon 1arlf CpLlonMln CpLlonMax) donnanL pour chaque sLaLlon le
Larlf eL les prlx mln eL max des acLlvlLes
(e) une vue 8eservaLlon (nomSLaLlon laces8eservees) donnanL par sLaLlon eL daLe de
debuL de se[our le nombre de places reservees
2 ConsulLez ensulLe le conLenu de ces vues vous pouvez lnserez quelques llgnes
supplemenLalres dans les Lables eL consLaLer qu'elles sonL prlses en compLe dans les vues
3 uans quelles vues peuLon lnserer deLrulre eL meLLre [our ? Lssayez les operaLlons
sulvanLes
(a) lnserez une acLlvlLe 'kayac' pour la sLaLlon 'venusa' dans AcLlvlLesCheres eL
AcLlvlLesModlques Le conLrle sur l'lnserLlon esLll uLlle dans ce cas ?


Programmation
. Procdures stockes
1 Creer une foncLlon nomCllenL qul prend en enLree l'ld d'un cllenL eL qul renvole une
chaine conLenanL le prenom eL le nom du cllenL
2 Creer une foncLlon AcLlvlLes qul prend en enLree le nom du sLaLlon eL produlL une chaine
de caracLeres conLenanL l'enumeraLlon des acLlvlLes de la sLaLlon (par exemple Skl ?oga
Massage")
3 Creer ensulLe une vue qul afflche les sLaLlons avec un aLLrlbuL supplemenLalre donnanL la
llsLe des acLlvlLes (par appel la foncLlon blen sr)
4 Creer une foncLlon AcLuallser qul prend en enLree un pourcenLage eL le nom d'une sLaLlon
eL augmenLe le Larlf de la sLaLlon eL le prlx de chacune de ses acLlvlLes du pourcenLage
lndlque
. Triggers
1 lmplanLez par un Lrlgger la regle sulvanLe sl le prlx d'une acLlvlLe balsse alors le Larlf de la
sLaLlon dolL augmenLer de la dlfference
lndlcaLlon le Lrlgger dolL se declencher sur une modlflcaLlon eL LesLer pour chaque llgne
que la nouvelle valeur esL plus grande que l'anclenne Sl ce n'esL pas le cas falre un uuA1L
de la sLaLlon pour a[ouLer la dlfference enLre l'anclenne eL la nouvelle valeur
2 lalLes l'experlence dlmlnuez le prlx d'une acLlvlLe eL regardez ce qul se passe pour la
sLaLlon
3 Cn veuL dlsposer de l'lnformaLlon nbAcLlvlLes dans la Lable SLaLlon our cela
(a) A[ouLez la colonne nbAcLlvlLes avec pour valeur par defauL 0
(b) Creez un Lrlgger qul malnLlenL ceLLe lnformaLlon
4 lnLerdlsez par un Lrlgger l'lnserLlon d'une llgne dans la Lable Se[our sl le solde du cllenL esL
lnferleur au nombre de places mulLlplle par le Larlf de la sLaLlon

Vous aimerez peut-être aussi