Você está na página 1de 212

!

"
# ! $
% &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'

!" #$% &


'' ((
) " (
* (+
, " (-
"" ." $% (/
. " $% (0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'(
" 1
" " $% " (
% "
"
'" 2
34 , &
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&)*
" /
' " 0
" -1
5 ", " . --
6 -/
+ " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*,
" -2
" " "" , 7 " -&
" " "" , ". //
," , "" /&
% , "" ! " + 7 01
- &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&,)
" 0+
% 7" " " 0-
5 ", " 2(
4 &0
6 &2
, ' (1(
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'.,
34, " " '" (12
" (1&
% ! ((1
+ &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'')
8 9 "7 : ((+
" , . ((-
" " " " ((/
/ " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''(
" ( 1
;" !" ( (
# " , (
3 ! ' " " ( /
4 ( &
$< (
= !' " (++
0 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'**
" (-/
" , " (-0
> (/(
," , " (/
! "4 , 4 " (/-
% " , 9 " (//
8 9 " (0(
! ! " , 4 " (0
+ &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&',)
, " (0+
," " (0/
? (00
34 " " " (2
. " ' (2-
6 " ' ? 4 ,! (22
," , , (&/
8 " , ," (&0
3 11
, " ?, " 9 1
1 " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2.3
%

@A 5 " $ " # " (


- 4
B C$% 'D " 7 " !".
" " ? " . , "
". ,, " " , . ,

" > $% ' , ? ,, " "


E

F ." " ! G " 7


,, ! H " , " "77 7" !" 4"
4I
F 77 " '' ! ". , 7" " " ", "
I
F , ' , " "" I
F * " '" I " 7" " " I
F " , "

' , '" " , " " ,,


C #$% 'D

@A 5 " $ " # "


56 7 85 +
3 (&0- " , , !" ? " ". 4 "
. " E

" " "


&&&
9 9 9

"

"

@A 5 " $ " # "


"

! , , " ,,
$%

8 9

F " C 9 DE , I ".
F , ," C " DE " ". I ,
F " " E, ".
F ' ' E , ,
F " E , I " ,

8 9

F ( ' " E

!" !" C5 $5 D
C%$)# 8% J D

F ' " E

"

F ' " E

" 9
9 K "

@A 5 " $ " # " +


;9

" $% ". " " ! 8 ,,


". " "7" , ,

!
Livre(Cote: Chaîne, Titre: Chaîne)
Auteur(Nom: Chaîne, Cote: Chaîne)

Personne(Nom: Chaîne, Prénom: Chaîne, Année_naissance: Entier)

Livre

Cote Titre

BD/46 Les BD en BD

Personne

Nom Prénom Année_naissance

Dupont Jean 1960

Durand Pierre 1953

Auteur

Nom Cote

Dupont BD/46

Durand BD/46

@A 5 " $ " # " -


!

classe Livre

attribut Cote: Chaîne


attribut Titre: Chaîne

attribut Auteurs: liste(Personne)

classe Personne

attribut Nom: Chaîne

attribut Prénom: Chaîne


attribut Année_naissance: Entier
méthode Age(): Entier

{année_courante - self->Année_naissance}

livres: ensemble(Livre)

personnes: ensemble(Personne)

P1: {Nom = "Dupont", Prenom = "Jean", Année_naissance = 1960}

P2: {Nom = "Durand", Prenom = "Pierre", Année_naissance = 1953}


L1: {Cote = "BD/46", Titre = "Les BD en BD", Auteurs = [P1,P2]}

livres = {L1}

personnes = {P1, P2}

@A 5 " $ " # " /


" 9
B " 9 , 7 L "" 7" , '
,, " " . " , " $% "

4" ' , " 4 , > $%

! , $% , > , 4 ! 4
4 "" ." " , " , !

! 4 , " , ' $% ", "


" " I ! " ? " ""

@A 5 " $ " # " 0


" < " =

! " " ' " " " " C


" D

' " " !" " " , E

F , ," , " ? . "7"


" "" I

F I "7" ,, " . ' " " " "


"" " ," , ", "

F " I

F !G C, " DI

F " 4

@A 5 " $ " # " 2


5 " %1
5 "

,, " " ,, " " ,, " "

#$%

$% $% $%

@A 5 " $ " # " &


5 " 7 #

,, " " ,, " "

#$% #$%
C, " " D C, " " D

#$%
C, " . D

$% $% $%

@A 5 " $ " # " (1


. '' ! ". ,,
" " I " ' " ", " $% ,
, "" ''

M '' " , 0
" "" , , "7" ! !

F % 7" " " E ! , I ! 4 I ! "


4

F 5 ", " E

" I "7" " ,, " I


" , " 4, " , , I
" ' " I
' " " I
N

F ' ' !* C I I A . I NDI

@A 5 " $ " # " ((


;9 0

8, " " "

34 "

$%

@A 5 " $ " # " (


!
#$% " "

B " 7 ' , ' "7 " , $%


! ? ! I, " " "

B 4 , " " , " " 7


, " ? , " $

début transaction

solde(A) = solde(A) - S
solde(B) = solde(B) + S

fin transaction

" , " " , > " , "


" $

@A 5 " $ " # " (


+ :

O $% ". , "
" " B #$% " " " '"
,

+
3 ' , " "" , ' > $% " "
, . 4 > , B #$% " .
7" " , $% " !

, , I " "'" '" " " I #$% " >


, $% ! I > , , ! "
, ,

+
B #$% " , " " ? " , " "
, " , " $%

@A 5 " $ " # " (+


7
7 " ", , , . " 7 " .
7 " ' " " '" ,!: " $% " !"
" #$% " '

" , " , " " E

F "7" ' " " ,!: " C, 4 , 9 " 4,


, ," D "7" ! , , '
,, " " I

F "7" ! , C, 4 , 9 . :, "
" " D "7" , ' ,, " "

8 , " "

@A 5 " $ " # " (-


- # 1 4
F C , ", D E
7" " ! , $% 7 " .
7"4 , ' " " ,!: " 7 L ? ," "
, 7
' " " "

F E
7" " ! 4 " , ' " "
4, " $% . ,, " " , " "
"" , '' #$%I .
, . '' , ' " "

F E
? $% . " " , , '
,, " " , , . " . '' >

@A 5 " $ " # " (/


+ # 1
$% , " "77" " 3 " :
,, 7 " " " " 7 ""

% ! ," $% . ,, E B5 I , 4 ,
! , ! ". I" ,
#$% , " " E " 9 I, 4 ,

B 7 " ! , ! ". "I " "


, #$% ! " "

@A 5 " $ " # " (0


@A 5 " $ " 5 " (&
, 3; $5 (&/&I " 7 " 9 '
. 4 ! ! "I , " 21I !
, " " 4E

F %$ $5 I
F 8 I
F 7 "4I
F : I
F . 5" 7I
N

" P? E

F , "" E $% . I
F " E ' " '" , "

@A 5 " $ " 5 " 1


+ 1
B 1 " , E

F " I
F " I
F " " '"

@A 5 " $ " 5 " (


B . "

8 " " ' E

F " E

!G I
" I
I
I

F " E

9 I ? " . 4 , E

Couleur = {"rouge", "vert", "bleu", "jaune"}

I ? " 7 " . "7" ! . I


, 4 , E

Mois = {m| m ∈ Entier et 1 m 12}

% 4 " " " . "


, 4 , I " E

Taille = {t | Réel t et t > 0}

Poids = {p | Réel p et p > 0}

, , " ' , ,

@A 5 " $ " 5 "


B " , " " " %(I N I % E

⊆ %( × N × %

B " 7" " , I, :, , 4 "

!
4, " 7 E

C (E %(I NI E%D

H ! %" " ! " "" " *


" %" " 4 , E

rel(Nom: Chaîne, Age: Entier, Marié: Booléen)

:, " " " !G I 3 " $


, " , I Q' "" 7 " >
"

;9
9 :, C (E %(I NI E%D
, E

R ( S .(I N I S. T

.( ∈ %(I NI . ∈ %

4 " " . " ."

4 , E

{{Nom = "Dupont", Age = 36, Marié = Vrai}

{Nom = "Durand", Age = 22, Marié = Faux}}

4 " " :, E

rel(Nom: Chaîne, Age: Entier, Marié: Booléen)

@A 5 " $ " 5 "


"
,, " 4, " E

C (E %(I NI E%D

" "' " :, C (E %(I NI E%D 4 , E

Personne(Nom: Chaîne, Age: Entier, Marié: Booléen)

" " " " , " I ! " ,


" ? 4, " E

C (I NI D

@A 5 " $ " 5 " +


9#
8 ,, " ! E

Personne(Nom: Chaîne, Age: Entier, Marié: Booléen)

4 " E

{{Nom = "Dupont", Age = 36, Marié = Vrai}


{Nom = "Durand", Age = 22, Marié = Faux}}

4 " " ! C (E %(I NI E%D, > .


, (I NI ! "'
, , 4 " 4 , E

Personne

Nom Age Marié

Dupont 36 Vrai

Durand 22 Faux

" ! C (E %(I NI E%D" " , "


" . " " , ,, " ? 4 " 7 "

4 , I " E

Personne {Nom = "Dupont", Age = 36, Marié = Vrai}

. "

@A 5 " $ " 5 " -


$
, ". " " 7 " " " , "
4 , I 7 , 7"4 "
, "

, " 7 " "" . , " " E


# Nulle

4 , E

{Titre = "L'avenir des bases de données",

Conférencier = "Paul Durand",


Date = Nulle}

@A 5 " $ " 5 " /


+

8 ,, " I . ." I
" " 4 , {Nom, Age} " "
Personne

B " " ? " " "7 R T

B " U " "E

F , ! , I . U" "7" 7 L " , I


F " U , > ,, " " , ," ,

B " , . " , " " E !" "

" , 4 , I " E

Personne(Nom, Prénom, NumSS, Pays)

" ,, , " "7" , , "


, " " " {Nom, Prénom}

NumSS " , > !" " ," "

. " "' " ," " 4 , E

Personne(Nom, Prénom, NumSS, Pays)

@A 5 " $ " 5 " 0


+

B " J " ( ' ( " 4" "


, ," " U J , " .
U 8 " J "

" , 4 , " E

Personne(Nom, Prénom, Age)

Livre(Cote, Titre, Nom_Auteur, Prénom_Auteur)

" " ". , I "


{Nom_Auteur, Prénom_Auteur} ' " Livre 3
7 " Personne

'"

" " '" $% " , . 4, " , E

F ,, . " ? " I
F 7" " " I
F " " " I
F " I
F "" " 4 , " " ?9

I 47 " '" 9 * " , E

F " . "7" " . " ," "


,

F " . "7" " ! . ' JE

" 4" . ," " , " J


7 I
"

@A 5 " $ " 5 " 2


;9
$% , " " , 2111 3
V 2111W

8 . , 7 " ". E

F " ! B " "7" ,

F " " I ? " , : "


. B , . , " , : " ,, " ?
7 " ! , :

F , " " 7 >


" B , " " "7" , 7 ' ."

F '" , : " , " E '" ,


" "7" ,

@A 5 " $ " 5 " &


Nom_de_sommet =

{"Everest", "K2", "Kangchenjunga", "Lhotse", "Makalu",


"Cho Oyu", "Dhaulagiri", "Manaslu", "Nanga Parbat",

"Annapurna", "Hidden Peak", "Broad Peak",


"Gasherbrum II", "Shisha Pangma"}

Altitude_de_sommet = {a | Entier a et a > 8000}


C " 4 , 2111 D

Orientation = {"N", "S", "O", "E", "NO", "SO", "NE", "SE"}

Année_d_ascension = {a | Entier a et a 1950}


C , " 2111 " (&-1D

Nom_de_pays = {"Népal", "Chine", "Inde", "Pakistan"}

Sommet(Nom_Sommet: Nom_de_sommet, Altitude: Altitude_de_sommet)

Localisation(Nom_Sommet: Nom_de_sommet, Pays: Nom_de_pays)

Première(Nom_Sommet: Nom_de_sommet,

Face: Orientation,
Année: Année_d_ascension)

Conquête(Grimpeur: Chaîne,
Nom_Sommet: Nom_de_sommet,

Face: Orientation)

@A 5 " $ " 5 " 1


+
F B " " Sommet

" Nom_Sommet

F B , . 7 " , " , : "


Localisation 7 4 " {Nom_Sommet, Pays}
" " " $% " Nom_Sommet

" Localisation ' " 7 " Sommet

F B , " " "7" , 7 ' ." "


CNom_SommetI FaceD ," " " Première
' ." , " " > " $%
" Nom_Sommet ' " Première "
7 " Sommet

F B , " , . " " , , " '" , "


Conquête 7 " "
{Grimpeur, Nom_Sommet, Face} 7 " ". >
, " " RNom_SommetI FaceT
' " Conquête " 7 " Première

@A 5 " $ " 5 " (


$

Sommet Localisation

Nom_Sommet Altitude Nom_Sommet Pays

Everest 8848 Everest Népal

Manaslu 8163 Everest Chine

Hidden Peak 8068 Manaslu Népal

Hidden-Peak Chine

Hidden-Peak Pakistan

Première

Nom_Sommet Face Année

Everest S 1953

Manaslu S 1972

Hidden-Peak NO 1975

Everest SO 1975

Manaslu O 1981

Conquête

Grimpeur Nom_Sommet Face

Hillary Everest S

Tensing Everest S

Messner Manaslu S

Messner Everest SO

Habeler Everest SO

Habeler Hidden Peak NO

Messner Hidden Peak NO

Béghin Manaslu O

@A 5 " $ " 5 "


$
F 4 " " Sommet 7
RNom_Sommet S I Altitude S T 4, " 7 "
, "

F 4 " " Localisation 7


RNom_Sommet S I Pays S ,T 4, " 7 " .
, : ,

F 4 " " Première 7 ",


RNom_Sommet S I Face S 7I Année S T 4, " 7 " , "
" 7 7 77

F 4 " " Conquête 7 ",


RGrimpeur S 'I Nom_Sommet S I Face S 7T 4, " 7 " '" ,
' ' ." , " " 7 7

@A 5 " $ " 5 "


@A 5 " $ " '' " -
8 " " ' 4 :, '' " E

(D ' " E 4, " ." "


" $% "

D " E 4, " ." "


" $% "

4 :, '' > , "

@A 5 " $ " '' " /


5
, " ", 4 "
" I ? " ,

) , ' " ,, " ? , " "


, " "

" , " " ' E

F , " " E " I" " I "77 I, "


" I

F , , "7" 4 E " I, 9 " I9 " I

@A 5 " $ " '' " 0


F E

I I 4, " : , . " I
I $I " I
UI JI X " I
. " , I
" CUD " " UI
(I NI E 7 " 4, " (I NI :,
S. 7 " 4, " . .

F " U SR (I NI T " " , "7 (I NI


%(I NI % " ' ". "" E

UE % , (E %(I NI E%
U, R ( S (I NI S T

F " " 4, " " , :, :,


, . 4 "

@A 5 " $ " '' " 2


/

>

" E

I E CUE %D
E

C I DE CUE %D
C I D SR Y ∈ ∈ T

C I DE CUE %D
C I D SR Y ∈ ∈ T

C I DE CUE %D
C I D SR Y ∈ ∉ T

4 , E
Sommet Altitude
Sommet Altitude
Hidden Peak 8086
minus( , Everest 8848 ) =
Everest 8848
Manaslu 8163
Manaslu 8163

Sommet Altitude
Hidden Peak 8086

@A 5 " $ " '' " &


8

" E

E CUE %UD
E CJE %JD
" CUD ∩ " CJD S ∅

C I DE CUE %UI JE %JD


C I D S R, ∪ Y,∈ I ∈ T

4 , E
Sommet2 Pays
Sommet1 Altitude
pc( , Everest Népal ) =
Everest 8848
Everest Chine

Sommet1 Altitude Sommet2 Pays


Everest 8848 Everest Népal
Everest 8848 Everest Chine

@A 5 " $ " '' " +1


, 4 " , " " . "7"
""

" E

E CUE %D
7 E RUE %T −> $

C I 7D E CUE %D
C I 7D S R Y ∈ 7C D S 6 "T

% 7 H 7 " 7 , . "
, " " , "7" ". E

C I θ .D ≡ C I7 θ .D

4 , E
Sommet Altitude
Everest 8848
sel( , Altitude > 8500) =
Manaslu 8163
Hidden Peak 8086

Sommet Altitude
Everest 8848

@A 5 " $ " '' " +(


8 ?
, ? 4 " . "
"

" E

E CUE %UI JE %JD

?C I UD E CUE %UD
?C I UD S R U Y ∈ T

4 , E
Grimpeur Sommet Face
Hillary Everest S
Tensing Everest S
proj( Messner Manaslu S , {Sommet, Face}) =
Habeler Hidden Peak NO
Messner Hidden Peak NO
Beghin Manaslu O

Sommet Face
Hidden Peak NO
Manaslu S
Everest S
Manaslu O

@A 5 " $ " '' " +


, 9 " 7 " 4 " , " "
, , "7 " . "7" " "

" E

E CUE %UD
E CJE %JD
" CUD ∩ " CJD S ∅
7 E RUE %UI JE %JT −> $

? C I I 7D E CUE %UI JE %JD


? C I I 7D S R, ∪ Y , ∈ I ∈ I 7C, ∪ D S 6 "T

" " , " , "7" 7? ,


" ' " 4 "

8 E

@? C I I U S JD ≡ ? C I I 7 C9D 9 U S 9 JD

HU J " , "7 " , "

4 , E
Sommet1 Face
Everest N Sommet2 Altitude
equi_join( Manaslu S , Everest 8848 ,
Hidden Peak NO Manaslu 8163
Manaslu O

Sommet1 Face Sommet2 Altitude


Everest N Everest 8848
Sommet1 = Sommet2) =
Manaslu S Manaslu 8163
Manaslu O Manaslu 8163

@A 5 " $ " '' " +


9
, > " . 9 " I , !
4 " " , . > 9 " ", > , , "
? 9

" E

E CUE %UD
E CJE %JD
" CUD ∩ " CJD S ∅
U S RU(I NI U T
J S RJ(I NI J T

9 @? C I I 7D E CUE %UI JE %JD


9 @? C I I 7D S C 4I AI 4D

HE

AS ? C I I 7D
4 S C C I , 9CAI UDDI RRJ( S NulleI NI J S NulleTTD
4 S CRRU( S NulleI NI U S NulleTTI C I ?CAI JDDD

4 , E
Sommet1 Altitude Sommet2 Face
ext_equi_join( Manaslu 8163 , Everest S ,
Everest 8848 Annapurna N

Sommet1 Altitude Sommet2 Face


Manaslu 8163 Nulle Nulle
Sommet1 = Sommet2) =
Everest 8847 Everest S
Nulle Nulle Annapurna N

@A 5 " $ " '' " ++


7?
, "9 " 4 " , "
" . " , " . "7" "
" 4, " "7" " 4" "

" E

E CUE %UD
E CJE %JD
" CUD ∩ " CJD S ∅
7 E RUE %UI JE %JT −> $

@? C I I 7D E CUE %UD
@? C I I 7D S R, Y , ∈ ∃ ∈ I 7C, ∪ D S 6 "T

4 , E
Sommet1 Face
Everest N
Manaslu S Sommet2
equi_semi_join( Hidden Peak NO , Annapurna ,
Manaslu O Manaslu
K2 NE
Annapurna N

Sommet1 Face
Annapurna N
Sommet1 = Sommet2) =
Manaslu S
Manaslu O

@A 5 " $ " '' " +-


#
, "." " 4, " "7" " ".

" E

E CUE %UI JE %JD


E CXE %JD
" CJD ∩ " CXD S ∅
7 E RUE %UI JE %JI XE %JT −> $

".C I I 7D E CUE %UD


".C I I 7D S
R4 Y 4 ∈ , 9C I UD C∀ ∈ I ∃, ∈ I , U S 4 7C, ∪ D S6 "DT

4 , E
Sommet Face1
Everest S Face2
Manaslu S N
Sommet
equi_div( Everest N , E , Face1 = Face2) =
Everest
Everest O S
Manaslu O O
Everest E

@A 5 " $ " '' " +/


. . I , " " ' " " ,
" " , C "9 "
" " D , > " " " .
,, " , E * ,

" E

E CNI E %I ND

E
C I I $D E CNI $E %I ND
C I I $D S
" > :, > 4 " I
4 , ' " , $

4 , E

Nom Altitude
Everest 8848
rename( , Nom , Nom_Sommet) =
Manaslu 8163
Hidden Peak 8086

Nom_Sommet Altitude
Everest 8848
Manaslu 8163
Hidden Peak 8086

@A 5 " $ " '' " +0


;9
8 Nom_Sommet_Conquis " Nom_Sommet " Conquête E

Conquête := rename(Conquête, Nom_Sommet, Nom_Sommet_Conquis)

C := sel(Conquête, Grimpeur = "Messner")


SC := equi_join(Sommet, C, Nom_Sommet = Nom_Sommet_Conquis)

Réponse := proj(SC, {Nom_Sommet, Face, Altitude})

L := sel(Localisation, Pays = "Pakistan")

V := equi_semi_join(Conquête,

L,

Nom_Sommet_Conquis = Nom_Sommet);

Réponse = proj(V, Grimpeur)

C = proj(Conquête, {Grimpeur, Nom_Sommet_Conquis})

S = proj(Sommet, Nom_Sommet)
Réponse = equi_div(C, S, Nom_Sommet_Conquis = Nom_Sommet)

!"##
$

S = sel(Sommet, fun(s) s.Altitude > 8500);

L1 = sel(Localisation, Pays = "Népal")


L2 = sel(Localisation, Pays = "Chine")

Réponse = inter(proj(S, Nom_Sommet),

minus(proj(L1, Nom_Sommet),

proj(L2, Nom_Sommet)))

@A 5 " $ " '' " +2


"

C I 7D 7

?C I UD U

? C I I 7D
7

@A 5 " $ " '' " +&


+
4" 4 :, , . " E

F 7 E . " "' , C "'


D
F E . " "' . "
C D

@A 5 " $ " '' " -1


+ 7
B 7 " , 7" " , ' ". E

F ! . " " ? " "' , "Z


F "4 . " I 4 . " , 4Z
F 4 " . " "4 , " Z
F θ C H " D ( ( θ "
. " " , " , " θ C[ S \ ]D . "7" I 7 4 " Z
F 7 Z
F "7 7 C7D 7 7 Z
F "7 ' 7 7 'I 7 'I 7 ' 7 Z
F "7 7 4 . " " ∃4 7 ∀4 7
7 4 " . " " 7
" Z
F ' ", " 7

B 4, " " , 7 E

RR$( S 4( (I NI $ S 4 T Y 7T

H7 7 " , I $(I NI $
" 4(I NI 4 . " " 7

3 " E^ , R$( S ( (I NI $ S T 7
. ", 4( S (I NI 4 S

@A 5 " $ " '' " -(


;9

!%##

{{S = s.Nom_Sommet, A = s.Altitude} | Sommet s et


s.Altitude > 8100}

{{S = c.Nom_Sommet, F = c.Face, A = s.Altitude} | Conquête c et


Sommet s et c.Nom_Sommet = s.Nom et c.Grimpeur = "Messner"}

{{G = c.Grimpeur} | Conquête c et ∃l (Localisation l et

l.Pays = "Pakistan" et l.Nom_Sommet = c.Nom_Sommet)}

{{G = c.Grimpeur} | Conquête c et ∀s (Sommet s

∃c' (Conquête c' et c'.Nom_Sommet = s.Nom_Sommet et


c'.Grimpeur = c.Grimpeur))}

@A 5 " $ " '' " -


+
B 7 " " 7" " , ' ". E

F ! . " " ? " "' . " "Z


F C ( S .(I N I S. D H.(I NI . "
. " I " . " " 4" , " : .(
, . " (I NI . , . " Z
F .( θ . H.( . " . " I "
. " " , " , " θ C[ S \ ]D . "7" 7 4 " Z
F ' 7 > , , Z
F ' ", " 7

B 4, " " " 7 E

RR ( S 4(I NI S 4 T Y 7T

H7 7 " " I (I NI
" .(I NI . . " " 7

3 " E^ , R ( S .(I NI S. T 7
. " , 4( S .(I NI 4 S . _

@A 5 " $ " '' " -


34 ,

!%##

{{S = s, A = a} | Sommet(Nom_Sommet = s, Altitude = a) et


a > 8100}

{{S = s, F = f, A = a} |
Conquête(Grimpeur = "Messner", Nom_Sommet = s, Face = f)
et Sommet(Nom_Sommet = s, Altitude = a)}

{{G = g} | ∃s (Conquête(Grimpeur = g, Nom_Sommet = s) et

Localisation(Nom_Sommet = s, Pays = "Pakistan")}

{{G = g} | ∀s (Sommet(Nom_Sommet = s)

Conquête(Grimpeur = g, Nom_Sommet = s)}

@A 5 " $ " '' " -+


#
, . . , " ," 7" "
' , ", "

" " " "" . . "


Indéfini

' ". E

F . Nulle . :
, " Nulle , . Indéfini

F # " '" "7" 7 L


". E

Vrai Faux Indéfini

Vrai Vrai Faux Indéfini

Faux Faux Faux Faux

Indéfini Indéfini Faux Indéfini

Vrai Faux Indéfini

Vrai Vrai Vrai Vrai

Faux Vrai Faux Indéfini

Indéfini Vrai Indéfini Indéfini

Vrai Faux

Faux Vrai

Indéfini Indéfini

@A 5 " $ " '' " --


$
B # " ." I 4, " '' "

. , 7" " 4

,, I, 4 , I . " . , "
, 8 , 7" " . ". E

Première_au_Népal(Nom_Sommet, Face, Altitude, Année) =


{{Nom_Sommet = s, Face = f, Altitude = h, Année = a} |
Première(Nom_Sommet = s, Face = f, Année = a)
et Sommet(Nom_Sommet = s, Altitude = h)

et Localisation(Nom_Sommet = s, Pays = "Népal")}

", > " ", " " " 7" "


4 "

4 , , " , 2-11 ' ." (&-+


, > , > E

{{S = s} | Première_au_Népal(Nom_Sommet = s, Altitude = h,

Année = 1954) et h > 8500}

@A 5 " $ " '' " -/


+ "

@A 5 " $ " ," ! " -0


B > $% , > , , "77 "
, " !" " I " , , . , " ?9
$% " , 4 , " E

Nom_Sommet Face Altitude Année

Everest S 8848 1953

Manaslu S 8125 1972

Hidden-Peak NO 8068 1975

Everest SO 8848 1975

" ?9 " , , ". E

E , > " " , " "

E " " 3. "7" " 7 "7"


, "
E " " , " ,, " " 7 "
" ,

" ? , " ? ! $%
, " "

, "" ,, " " 4" "


" 4 , I , "
" , : " .

@A 5 " $ " ," ! " -2


6

: " U " J
" ", 4 " I? ! . U" ,
9 > . J 8 " U J
E

U −> J

B , 7 " U \J " # "J ." "


U 4 , I , E

{Nom_Sommet, Face} -> Face

{Nom_Sommet, Pays} -> {}

"."

% $% V 2111W , 7 " "." ". E

Nom_Sommet −> Altitude

{Nom_Sommet, Face} −> Année

@A 5 " $ " ," ! " -&


8
, " , 7 " I , "

4 , I?, " , Grimpeur \ Ville C." " D


Ville \ Pays , " , Grimpeur \ Pays C, :
" D

3 , ; " "
" I ;< C ;D ,
7 " '" " ," , ;, > ?, " " '
". C 4" 'D E

C 9# D " J ⊆ U ⊆ U \J

C D "U \J X⊆ U∪X \J∪X

C # D "U \J J \X U \X

% 4" ' , " 4 ' , , " ,


;< E

C D "U \J U \X U \J∪X

C D "U \J∪X U \J U \X

@A 5 " $ " ," ! " /1


8 , 7" " " " "
"

B " U " C (I NI D " "


"E

F U \R (I NI TI

F " 4" , " J" U J \R (I NI T

3 " I ,, " "


,, " ? I " " : ,, " ,

8 ,, 7 " ""

4 , " Premiere(Nom_Sommet, Face, Année)


{Nom_Sommet, Face} E

F {Nom_Sommet, Face} {Nom_Sommet, Face} \ Année ,


' " {Nom_Sommet, Face} \ {Nom_Sommet, Face, Année}I

F Nom_Sommet Face " , I

F Année " ,

@A 5 " $ " ," ! " /(


'
B " ' " " . "
7 " " " " " " ,"
" ( 7

4 , I " ". , ( 7 " Pays

, . "

Nom_Sommet Pays

Everest Chine, Népal

K2 Chine, Pakistan

" 7 " ! ? ! , : "


,, "

Nom_Sommet Pays

Everest Chine

Everest Népal

K2 Chine

K2 Pakistan

@A 5 " $ " ," ! " /


2
B " 2 " ( 7 " !
" , , " ," "

4 , I " ". E

Nom_Sommet Face Altitude Année

Everest S 8848 1953

Manaslu S 8125 1972

Hidden-Peak NO 8068 1975

Everest SO 8848 1975

, 7 ,
Nom_Sommet \ Altitude " Altitude , "
Nom_Sommet ," "

3 , > , 4 " E

Nom_Sommet Face Année Nom_Sommet Altitude

Everest S 1953 Everest 8848

Manaslu S 1972 Manaslu 8125

Hidden-Peak NO 1975 Hidden-Peak 8068

Everest SO 1975

" 7 , . , 7 "

8 " " ," " " 7

@A 5 " $ " ," ! " /


)
B " ) " 7 ",
! " " 4" , , " ,,
, ?

4 , I " ,, , 7 " Grimpeur \ Ville

Ville \ Pays " ". E

Grimpeur Ville Pays

Compagnoni Cortina Italie

Lacedelli Cortina Italie

Buhl Innsbruck Autriche

, 7 , Ville Pays "


,, " , ?

3 , > , 4 " E

Grimpeur Ville Ville Pays

Compagnoni Cortina Cortina Italie

Lacedelli Cortina Innsbruck Autriche

Buhl Innsbruck

" 7 , . , 7 "

@A 5 " $ " ," ! " /+


1 7+
B " 1 7+ C1+6 D " , !
, 7 " "." U \ JI U ,

7 $ : " ," 7

7 " " , " , , , "


, " , "

4 , I "

Adresse(Rue, Ville, Code_postal)

. , 7 " {Rue, Ville} \ Code_postal

Code_postal \ VilleI 4 " {Rue, Ville}


{Rue, Code_postal}

3 , $ ; ,
{Rue, Code_postal} \ VilleI Code_postal , ,

3 , > , 4 " E

RC(Rue, Code_postal)

CV(Code_postal, Ville)

" 7 $ : ,
, "" , . , , 7 "
{Rue, Ville} \ {Code_postal}.

@A 5 " $ " ," ! " /-


6
#
#
8 " " : # " U
" J " CUI JI XD " , 4 " I? ! .
U" , 9 > . J
. , , . X8 " U J
E

U \\ J

% " Localisation , ". E

Nom_Sommet ->> Pays

" Conquête E

{Nom_Sommet, Face} ->> Grimpeur

@A 5 " $ " ," ! " //


8 #
3 , %I 7 " ". I
" " " I 7 %<
, '" " ," , %, > ?, " 4"
' - ' ". E

C D " U \\ J U \\ U J

C # D " U \\ J 6⊆ ` ⊆6
6 ∪ U \\ ` ∪ J

C # # D " U \\ J J \\ X U \\ X J

C D "U \J U \\ J

C D " U \\ J X⊆ J " " 4" ` ⊆ "9 " J


` \ XI U \X

% 2 ' , " ' , " , , %< E

C # D " U \\ J U \\ X U \\ J ∪ X

C D " U \\ J U \\ X U \\ J ∩ X

C D " U \\ J U \\ X U \\ J − X U \\ X J

@A 5 " $ " ," ! " /0


A
B " + 7 I ", ! , ".
"." U \\ J U∪J " , " IU ,

+ 7 " ," 7 $ : , "


, 7 " , " " , ".

4 , I " ".

Grimpeur Nom_Sommet Pays Face

Hillary Everest Népal S

Hillary Everest Chine S

Tensing Everest Népal S

Tensing Everest Chine S

, + 7 , ". Nom_Sommet \\ Pays


" , , I " , "

3 , > , 4 " E

Nom_Sommet Face Grimpeur Nom_Sommet Pays

Everest S Hillary Everest Népal

Everest S Tensing Everest Chine

" + 7 ,
{Nom_Sommet, Face} ->> Grimpeur " " , "
" , Nom_Sommet \\ Pays " "
4" "

@A 5 " $ " ," ! " /2


8
" ! " (I NI " " , "" %
E

F % " " , > , , 9 " "


(I NI

F % # " , 7 "
" ," , , 7 " (I NI

F ) " " , "" 7 ", .


, 7 " " ,

F ) " " , "" + 7 "


, " ", , , . , 7 "

"

Adresse(Rue, Ville, Code_postal)

" "

@A 5 " $ " ," ! " /&


" A

, "" ! " + 7 I $ ; " :


, , ". I, > , ' "! ". E

(D 8 , ! " " I " # I


, " % ,
" B

D) " 4" " " , + 7 I


! ! %< , U \\ J CUI JI XD U ,
, , 4 " (CUI JD CUI XD

D8 " " , , " CUD CJD


, CUD " U ⊂ J

" , "" ", . , 7 " %I "


7 77 I? , I , "" ", .
,

@A 5 " $ " ," ! " 01


;9 '
S = {R(Nom_Sommet, Altitude, Pays, Face, Année, Grimpeur)}

D = {Nom_Sommet -> Altitude,


Nom_Sommet ->> Pays,

{Nom_Sommet, Face} -> Année,


{Nom_Sommet, Face} ->> Grimpeur}

_____
S = {R1(Nom_Sommet, Altitude),

R2(Nom_Sommet, Pays, Face, Année, Grimpeur)}

_____
S = {R1(Nom_Sommet, Altitude),

R3(Nom_Sommet, Pays),
R4(Nom_Sommet, Face, Année, Grimpeur)}
_____

S = {R1(Nom_Sommet, Altitude),

R3(Nom_Sommet, Pays),

R5(Nom_Sommet, Face, Année),

R6(Nom_Sommet, Face, Grimpeur)}

! + 7 C 7 D
, , .

@A 5 " $ " ," ! " 0(


;9 2
S = {R(NCom, NLig, COpt, CVoit, PCat, PFac)}

D = {{NCom, NLig} -> CVoit,


{NCom, NLig, COpt} -> PFac,

{CVoit, COpt} -> PCat}

# #

S = {R1(CVoit, COpt, PCat),


R2(NCom, NLig, COpt, CVoit, PFac)}

_____

S = {R1(CVoit, COpt, PCat),

R21(NCom, NLig, CVoit),


R22(NCom, NLig, COpt, PFac)}

! $ ;C 7 D ,
7 " , .

S = {R1(NCom, NLig, CVoit),

R2(NCom, NLig, COpt, PCat, PFac)}

! $ ;C 7 D " ,
7 " {CVoit, COpt} \ PCat ,

@A 5 " $ " ," ! " 0


-

@A 5 " $ " 0
'' . " " " ' ' 3 B3 , :,
: . ,, ? $5 A ?, " (&0-

, " 7 " 9 , " , "


, , , , #$% " !

'' ? 7 " ' " "


,

'' " ! ," 7 ?

% ' ' " : ". "" E

Y "9 "
ab ," "
" & ≡ & aI NI &b

@A 5 " $ " 0+
+
CREATE DOMAIN ' ' Z

' ' EES

DEFAULT ( ' '


aCONSTRAINT b CHECK ( )

EES
CHAR a( )b

Y VARCHAR a( )b
Y INTEGER
Y FLOAT
Y DATE
N

( ' ' EES

Y USER
Y NULL
Y CURRENT_DATE
B

@A 5 " $ " 0-
;9

CREATE DOMAIN NOM_DE_SOMMET


CHAR(20);

CREATE DOMAIN ORIENTATION


CHAR(2)

CHECK (VALUE IN ('N', 'S', 'O', 'E', 'NO', 'SO', 'NE', 'SE'))
NOT DEFERRABLE;

CREATE DOMAIN NOM_DE_PAYS


CHAR(10)
CHECK (VALUE IN ('Pakistan', 'Chine', 'Nepal', 'Inde'))

NOT DEFERRABLE;

@A 5 " $ " 0/
+
CREATE TABLE

(" ' '


a" ' ' b);

' ' EES

C ' ' Y D
a" ' ' b
aDEFAULT ( ' ' b

' ' EES


aCONSTRAINT b
' ' ' '
' '

' ' ' ' EES


PRIMARY KEY
Y NOT NULL
Y UNIQUE
Y CHECK ( ' '( )
Y REFERENCES ' ' ( ' ' )

' ' EES


aNOTb DEFERRABLE

@A 5 " $ " 00
' ' EES
aCONSTRAINT b
' ' ' '
' '

EES
PRIMARY KEY ( " ' ' )
Y NOT NULL ( " ' ' )
Y UNIQUE ( " ' ' )
Y CHECK ( ' ' )

Y FOREIGN KEY " ' ' REFERENCES


(" ' ' )

@A 5 " $ " 02
;9

CREATE TABLE SOMMET


(NOM_SOMMET NOM_DE_SOMMET PRIMARY KEY,

ALTITUDE INTEGER CHECK (ALTITUDE > 8000));

CREATE TABLE LOCALISATION

(NOM_SOMMET NOM_DE_SOMMET REFERENCES SOMMET(NOM),


PAYS NOM_DE_PAYS);

CREATE TABLE PREMIERE


(NOM_SOMMET NOM_DE_SOMMET,
FACE ORIENTATION,

ANNEE INTEGER NOT NULL CHECK (ANNEE > 1950),


PRIMARY KEY (NOM_SOMMET, FACE)

FOREIGN KEY (NOM_SOMMET) REFERENCES SOMMET(NOM_SOMMET));

CREATE TABLE CONQUETE

(GRIMPEUR CHAR(20) NOT NULL,


NOM_SOMMET NOM_DE_SOMMET,

FACE ORIENTATION,

FOREIGN KEY (NOM_SOMMET, FACE)

REFERENCES PREMIERE(NOM_SOMMET, FACE));

@A 5 " $ " 0&


3 "7" " " , ALTER ,, " ,
DROP

ALTER DOMAIN ' ' ' ' Z

ALTER TABLE ' ' ' ' Z

' ' EES


ADD COLUMN ' '
ADD CONSTRAINT ' '
DROP COLUMN ' '
DROP CONSTRAINT ' '

DROP DOMAIN ' ' aRESTRICT Y CASCADEb Z

DROP TABLE ' ' aRESTRICT Y CASCADEb Z

;9

) * $ *+ , - .- -

ALTER TABLE PREMIERE

ADD COLUMN CHEF_D_EXPEDITION CHAR(30);

/ 01 23-&-

DROP TABLE CONQUETE;

@A 5 " $ " 21
: 4 C " , "7" D > 7" " , ' ".
". E

EES

SELECT aDISTINCTb
FROM " C ' ' aaASb bD Y C D
WHERE

aGROUP BY " ' '


aHAVING b
aORDER BY " CC ' ' Y ' ' D CASC Y DESCDb;

EES CUNION Y INTERSECT Y EXCEPTD

EES ( )

, SELECTNFROMNWHERE " ?, " , "7"


, FROM , . > "
> B , > B >
" > " , ,
SELECTNFROMNWHERE , . > B
" , AS

@A 5 " $ " 2(
EES
*
Y ' ' .*

Y " C ' ' aAS bD

' ' EES


+
Y

+ EES
(
Y ' '
Y + ' $
N

( EES Y $ 4 ' '

' ' EES a ' ' .b

EES
COUNT(*)
'* (aDISTINCTb + )

'* EES
CCOUNT Y SUM Y AVG Y MAX Y MIND

@A 5 " $ " 2
EES
'
Y NOT
Y CAND Y ORD
Y( )

' EES
' '
Y ' '( '
Y
Y ',' ' (
Y ',' '
Y '* '(

' ' EES + aNOTb LIKE ' '$ 4

' '( ' EES ' '( IS aNOTb NULL

EES
' ' C= Y <> Y > Y < Y <= Y >=D ' '
Y + C= Y <> Y > Y < Y <= Y >=D CALL Y SOMED ' '

' ' EES + Y

',' ' ( EES


+ BETWEEN + AND +

',' ' EES


+ CIN Y NOTIND ( ' '( )

Y(" + ) CIN Y NOTIND ( )


Y CIN Y NOTIND ( )

' '( ES
(" ( ) Y ' '

'* '( EES EXISTS ( )

@A 5 " $ " 2
C

, ? >

SELECT N FROM N WHERE N GROUP BY N HAVING N ORDER BY N

)/ " 7 L ". E

( 8 " , " " " FROM 8 "


)(

8 " )( 4 "' " . "7" "" WHERE 8 "


)

8 ' , "' ) " (I NI O GROUP BY 8


" ) ! "' 7 [.(I NI .OI '\ H'
C ' , D "' ) " . .(I NI .O ,
" (I NI O

+ 8 " ! ' , ) 4 "' " . "7" ""


HAVING 8 " )+

- 8 , 9 )+ 7" " SELECT ! "' I


, " ' ' " ,, " ' , ' , "
, [.(I NI .O\ 8 " )-

/ 8 " )- " SORT BY 8 " )/ , ?


>

@A 5 " $ " 2+
;9

SELECT NOM_SOMMET
FROM SOMMET;

%5"6

SELECT *
FROM PREMIERE
WHERE ANNEE = 1953

AND (FACE = 'S' OR FACE = 'N');

"

SELECT *

FROM PREMIERE

WHERE ANNEE = 1953


AND FACE IN ('S', 'N');

7 8

SELECT NOM_SOMMET, 3.29 * ALTITUDE


FROM SOMMET
WHERE NOM_SOMMET LIKE '%Peak%';

* !%## !"##

SELECT NOM_SOMMET, ALTITUDE

FROM SOMMET

WHERE ALTITUDE BETWEEN 8100 AND 8500;

@A 5 " $ " 2-
9 $ !%## *
(

SELECT SOMMET.NOM_SOMMET, SOMMET.ALTITUDE, PREMIERE.FACE

FROM PREMIERE, SOMMET

WHERE PREMIERE.NOM_SOMMET = SOMMET.NOM_SOMMET


AND SOMMET.ALTITUDE > 8100;

" "' PREMIERE SOMMET , : : P S

SELECT S.NOM_SOMMET, S.ALTITUDE, P.FACE


FROM PREMIERE P, SOMMET S

WHERE P.NOM_SOMMET = S.NOM_SOMMET


AND S.ALTITUDE > 8100;

SELECT DISTINCT GRIMPEUR

FROM CONQUETE;

SELECT DISTINCT P.NOM_SOMMET, P.FACE


FROM PREMIERE P, LOCALISATION L

WHERE P.NOM_SOMMET = L.NOM_SOMMET

AND L.PAYS IN ('Nepal', 'Chine');

@A 5 " $ " 2/
! ! " # $%&'$( $( %)$* +

SELECT COUNT(*)
FROM SOMMET;

" ?, " LOCALISATION

SELECT COUNT(DISTINCT NOM_SOMMET)

FROM LOCALISATION;

) +

SELECT MIN(ALTITUDE), AVG(ALTITUDE), MAX(ALTITUDE)

FROM SOMMET;

SELECT SUM(S.ALTITUDE)
FROM SOMMET S, CONQUETE C

WHERE C.GRIMPEUR = 'Messner'

AND C.NOM_SOMMET = S.NOM_SOMMET;

CB , 7 " " "D

@A 5 " $ " 20
, "-+ .

/1 *-(

SELECT *
FROM PREMIERE
WHERE ANNEE = (SELECT ANNEE

FROM PREMIERE
WHERE NOM_SOMMET = 'Everest'

AND FACE = 'SO');

* ,

SELECT NOM_SOMMET

FROM SOMMET

WHERE ALTITUDE > (SELECT AVG(ALTITUDE)


FROM SOMMET);

@A 5 " $ " 22
, "/+

$ - 1

SELECT DISTINCT GRIMPEUR


FROM CONQUETE
WHERE NOM_SOMMET IN (SELECT NOM_SOMMET

FROM LOCALISATION
WHERE PAYS = 'Chine')

AND FACE IN ('N', 'NE', 'NO');

( 0$

SELECT NOM_SOMMET

FROM SOMMET

WHERE NOM_SOMMET IN (SELECT NOM_SOMMET

FROM LOCALISATION
WHERE PAYS = 'Népal')

AND NOM_SOMMET NOT IN (SELECT NOM_SOMMET

FROM LOCALISATION

WHERE PAYS = 'Chine');

@A 5 " $ " 2&


, "0+ 1 %22 (

* ,

SELECT NOM_SOMMET

FROM SOMMET

WHERE ALTITUDE >ALL


(SELECT ALTITUDE
FROM SOMMET

WHERE NOM_SOMMET =SOME (SELECT NOM_SOMMET

FROM LOCALISATION
WHERE PAYS = 'Pakistan'));

@A 5 " $ " &1


, "3+ 1 .

SELECT DISTINCT C1.GRIMPEUR


FROM CONQUETE C1
WHERE EXISTS (SELECT *

FROM CONQUETE C2
WHERE C2.GRIMPEUR = 'Messner'

AND C2.NOM_SOMMET = C1.NOM_SOMMET);

SELECT C1.GRIMPEUR

FROM CONQUETE C1

WHERE (SELECT NOM_SOMMET

FROM CONQUETE C2
WHERE C2.GRIMPEUR = C1.GRIMPEUR)

(SELECT NOM_SOMMET

FROM SOMMET);

@A 5 " $ " &(


' ! !

9 < $ =

SELECT L.PAYS, AVG(S.ALTITUDE)


FROM SOMMET S, LOCALISATION L
WHERE S.NOM_SOMMET = L.NOM_SOMMET

GROUP BY L.PAYS;

9 < $ =

SELECT S.NOM_SOMMET, S.ALTITUDE, COUNT(*)


FROM SOMMET S, PREMIERE P
WHERE S.NOM_SOMMET = P.NOM_SOMMET

GROUP BY S.NOM_SOMMET, S.ALTITUDE;

* %5>" (

SELECT NOM_SOMMET, COUNT(*)


FROM PREMIERE

WHERE ANNEE = 1975

GROUP BY NOM_SOMMET

HAVING COUNT(*) > 1;

@A 5 " $ " &


& ? ) @

SELECT L.PAYS, S.ALTITUDE, S.NOM_SOMMET

FROM LOCALISATION L, SOMMET S

WHERE L.NOM_SOMMET = S.NOM_SOMMET


ORDER BY L.PAYS ASC, S.ALTITUDE DESC;

) $

SELECT L.PAYS, AVG(S.ALTITUDE)


FROM LOCALISATION L, SOMMET S

WHERE L.NOM_SOMMET = S.NOM_SOMMET

GROUP BY L.PAYS
ORDER BY 1;

"

SELECT L.PAYS, AVG(S.ALTITUDE) AS ALTITUDE_MOYENNE, L.PAYS


FROM LOCALISATION L, SOMMET S

WHERE L.NOM_SOMMET = S.NOM_SOMMET

GROUP BY L.PAYS

ORDER BY ALTITUDE_MOYENNE;

@A 5 " $ " &


!"## (
0$

(SELECT NOM_SOMMET
FROM SOMMET
WHERE ALTITUDE > 8500)

INTERSECT

(SELECT NOM_SOMMET
FROM LOCALISATION
WHERE PAYS = 'Népal')

EXCEPT

(SELECT NOM_SOMMET

FROM LOCALISATION
WHERE PAYS = 'Chine');

@A 5 " $ " &+


D?

INSERT INTO ' ' a( " ' ' )b


VALUES ( " ( )
Y ;

( EES
+
Y NULL
Y USER
Y CURRENT_DATE
N

UPDATE ' '


SET " ' ' S +
WHERE ;

DELETE FROM ' '


WHERE ;

@A 5 " $ " &-


;9

) , 1 %5>!A

INSERT INTO PREMIERE


VALUES ('Nanga Parbat', 'O', 1978);

INSERT INTO CONQUETE


VALUES ('Messner', 'Nanga Parbat', 'O');

) ( A

CREATE TABLE PREMIERE_DE_MESSNER

(NOM_SOMMET NOM_DE_SOMMET,
FACE ORIENTATION);

INSERT INTO PREMIERE_DE_MESSNER


SELECT NOM_SOMMET, FACE

FROM CONQUETE

WHERE GRIMPEUR = 'Messner';

0 ( * $ A

UPDATE SOMMET

SET ALTITUDE = 3.29 * ALTITUDE


WHERE NOM_SOMMET IN
(SELECT NOM_SOMMET

FROM LOCALISATION

WHERE PAYS = 'Pakistan');

/ BCA

DELETE
FROM PREMIERE

WHERE NOM_SOMMET = 'K2';

@A 5 " $ " &/


9
B " 4, ," 4 "' " , ,, 4.
"

3 ' " 4 ," " '


" . 9 " " . "
"

+ 9
CREATE aUNIQUEb INDEX ' *' +ON
' ' (" ' ' );

9
DROP INDEX ' *' +;

;9

0 + D/1 -& E)0-F - .- -A

CREATE UNIQUE INDEX PSF ON PREMIERE(NOM_SOMMET, FACE);

0 + ?/1 -& E)0-@ 01 23-&-A

CREATE INDEX CSF ON CONQUETE(NOM_SOMMET, FACE);

/ * +0/EA

DROP INDEX CSF;

@A 5 " $ " &0


$
B . ." >

B . , > "" > > " ,


I " ?9 . . " "
""

+ #
CREATE VIEW a( " ' ' )b AS ;

#
DROP VIEW ' '( ;

@A 5 " $ " &2


;9

0 ( - .- -')3' - )G
A

CREATE VIEW PREMIERE_AU_NEPAL(NOM_SOMMET, ALTITUDE, FACE, ANNEE)

AS SELECT S.NOM_SOMMET, S.ALTITUDE, P.FACE, P.ANNEE


FROM SOMMET S, PREMIERE P, LOCALISATION L
WHERE L.PAYS = 'Népal'
AND S.NOM_SOMMET = L.NOM_SOMMET

AND S.NOM_SOMMET = P.NOM_SOMMET;

!"## (
%5"6

SELECT NOM_SOMMET

FROM PREMIERE_AU_NEPAL
WHERE ANNEE = 1953

AND ALTITUDE > 8500;

/ ( - .- -')3' - )GA

DROP VIEW PREMIERE_AU_NEPAL;

@A 5 " $ " &&


D? # #
> "" , " ?9 . " . "7" "" ". E

F . " , " DISTINCT

F ! SELECT " >

F FROM " " I > "7"

F WHERE " , " >

F . " " " GROUP BYI " HAVING

@A 5 " $ " (11


-
) " "" " 4" E

B " ," , ,
, ! " " , ,, ,
, '

" " , " 4 , ' !* I


, 4 , " " " , , ,"

" " '

@A 5 " $ " (1(


-
, " ", ". E

F ! " " , 7"4 , EXEC SQL

F " " , . " . " , ' "E

, 7"4 , E
. . " :, , " . . " "
77

F B " , , " "' , "'


77 . ! "' ? . " , '

F , ' " , . " " SQLCODE .


4 " I " I " "

@A 5 " $ " (1
. 42

EXEC SQL BEGIN DECLARE SECTION


' '(
EXEC SQL END DECLARE SECTION

EXEC SQL DECLARE ' ' CURSOR


FOR ;

@A 5 " $ " (1
9

EXEC SQL OPEN ;

EXEC SQL FETCH INTO ( ;

EXEC SQL
UPDATE …

SET …
WHERE CURRENT OF ' ' ;

EXEC SQL

DELETE
FROM …
WHERE CURRENT OF ' ' ;

EXEC CLOSE

EXEC SQL

SELECT …
INTO (
FROM …
WHERE …
GROUP_BY …

HAVING …;

@A 5 " $ " (1+


;9

) , ( une_annee *

une_face *-(

EXEC SQL BEGIN DECLARE SECTION

char une_face[2];

int une_annee;
EXEC SQL END DECLARE SECTION

EXEC SQL
SELECT ANNEE
INTO :une_annee

FROM PREMIERE

WHERE NOM_SOMMET = 'Everest'

AND FACE = :une_face;

@A 5 " $ " (1-


) * $ * ( incr

EXEC SQL BEGIN DECLARE SECTION


char sommet[20];

int altitude, incr;


EXEC SQL END DECLARE SECTION
int SQLCODE;
EXEC SQL DECLARE s CURSOR FOR

SELECT NOM_SOMMET, ALTITUDE

FROM SOMMET
WHERE NOM_SOMMET IN
(SELECT NOM_SOMMET

FROM LOCALISATION

WHERE PAYS = 'Népal');

EXEC SQL OPEN s;


EXEC SQL FETCH s INTO :nom, :altitude;

while(SQLCODE = 0) {

Calcul de incr …

EXEC SQL
UPDATE SOMMET

SET ALTITUDE = ALTITUDE + :incr


WHERE CURRENT OF SOMMET;
EXEC SQL FETCH s INTO :nom, :altitude;

EXEC SQL CLOSE s;

@A 5 " $ " (1/


@A 5 " $ " c5 " " " '" (10
;9
4" , " 7 L 4, " " " '" $% E

F 7" " " " :, " I


F "" . " , C CHECK DI
F 7" " " ," " ' " I
F " ' I
F !

. 9? " " , "

B 7 '" " " > . " " 4 "


$% . "7" " " , " P I . "7" "
" > 7 " , ! " ?9 $% 4" !" ,
" " " PI " , 4 ? M .

B " ' I " #I 7 E

V. "" " W

" ! ? " . " "" . "7" B


" , > . "7" " " ?9

! ," ? 4, " " !

@A 5 " $ " c5 " " " '" (12


5
B " , E

CREATE ASSERTION CHECK ( "" )

" , 4 , $% " ". , : ,


" . " E

EMPLOYE(NUM_EMP, NUM_DEPT, SALAIRE)

DEPARTEMENT(NUM_DEPT, NOM_DEPT, NB_EMP)

" " ' " E V) , : , d ! ! "


, " ? (1 111I 4, " , " ". E

CREATE ASSERTION CHECK


(NOT EXISTS

(SELECT *

FROM EMPLOYE
WHERE SALAIRE <= 10000

AND NUM_DEPT =

(SELECT NUM_DEPT

FROM DEPARTEMENT

WHERE NOM = ’Recherche’)))

@A 5 " $ " c5 " " " '" (1&


"
3 ! ". , > " ?9

7" " ! I" 7 E

F , "7" . " ! " " " :, " ?9


CINSERTI UPDATEI DELETEDI " .
" " ?9 Z
F " " " " " . I , ? , " ?9 Z
F ? " . , C " .
" " " " ,, " DZ
F " "" ! . 7
4, " I ? 4, " , . > ,
WHERE Z

F " " ? " 7 , Z


F " " " " " , ! , " ?9 7 "
, >

@A 5 " $ " c5 " " " '" ((1


+ "
EES
CREATE TRIGGER
' ' $
(
a b
a b
;;

' ' $ EES


BEFORE  AFTER  INSTEAD OF

( EES
CINSERT  DELETE  UPDATE aOF " ' ' bD
ON ' '

EES
REFERENCING COLD AS  NEW AS D

EES
WHEN + '

EES
(" )

aFOR EACH CROW  STATEMENTDb

@A 5 " $ " c5 " " " '" (((


;9

0 * $ ,
$ A

CREATE TRIGGER DIMINUTION_SALAIRE

BEFORE UPDATE OF SALAIRE ON EMPLOYE


REFERENCING OLD AS A NEW AS N
WHEN N.SALAIRE < A.SALAIRE
(ERROR)

FOR EACH ROW;

0 * $ , *
* , * * ( A

CREATE TRIGGER INCREMENTER_NB_EMP

AFTER INSERT ON EMPLOYE


REFERENCING NEW AS E

(UPDATE DEPARTEMENT

SET NB_EMP = NB_EMP + 1

WHERE NUM_DEPT = E.NUM_DEPT)


FOR EACH ROW;

@A 5 " $ " c5 " " " '" ((


+

@A 5 " $ " c 7" " " ((


/ ?
B $% " > , ' . "

" , " " ? "" ? 77


? " C # D

" "7" " "" 7 " ' , ,


, % , , ,!" " , . > "" ?,
" , " "'" " "

% #$% " I 9 ?, ' .


, " " , >I " " I "7" "
,, " ,

" " " , > E

F " E " " " 9 $% ,


" " ? ""

F " E "" " 9 " 9 ,


" , " ? ""

@A 5 " $ " c 7" " " ((+


8 #
. 9 * " , , 7" " " , , "7"
7 L 7" 4 "" "

"I, 4 , I $% , 4 " ". E

EMPLOYE(NOM_EMP, NUM_DEPT, SALAIRE)

DEPARTEMENT(NUM_DEPT, NOM_DEPT, DIRECTEUR)

8 , , "7" ? 77 " , : ,
7" " . ". E

CREATE VIEW AFFECTATION(NOM_EMP, NOM_DEPT) AS

SELECT E.NOM, D.NOM

FROM EMPLOYE AS E, DEPARTEMENT AS D

WHERE E.NUM_DEPT = D.NUM_DEPT

B "" " " " ? . AFFECTATION ,


G " " , :I " "
,

@A 5 " $ " c 7" " " ((-


5 -
B "" , , "." ' ? "" ,
GRANT " , " " , REVOKE

: 4 4 ". E

GRANT CALL PRIVILEGES  " D


ON ' '  ' '(
TO CPUBLIC  '* D
aWITH GRANT OPTIONb

REVOKE CALL PRIVILEGES  " D


ON ' '  ' '(
FROM PUBLIC  '*

EES
CINSERT  DELETE  UPDATE a " ' ' bD

WITH GRANT OPTION " , "." '

@A 5 " $ " c 7" " " ((/


;9
,, "" " " " EMPLOYE DEPARTEMENT " "
. AFFECTATION 3 , E

F ) ? "" A % , " , :
"7" " , :I , ". E

GRANT SELECT, UPDATE(SALAIRE) ON EMPLOYE TO ’JEAN DUPONT’

F ) ? "" " 77 "


, : I, ". E

GRANT SELECT ON AFFECTATION TO PUBLIC

F " ?A % , " "7" " , :I ,


". E

REVOKE UPDATE(SALAIRE) ON EMPLOYE TO ’JEAN DUPONT’

C A % , , " , : D

@A 5 " $ " c 7" " " ((0


/ "

@A 5 " $ " 8' " " ,!: " ((&


,, $% " " " "
! 4 " " ,

!: " , O , " 7" !" ", .


> , " , " " C $% " " D 7
O ' !" " " , E "" " ," " I
," " ?9 7 "

, ", , ,, " " ". > , 7


" 7 " . e , " "
" ,, V , W V !W " " " , I
" : " >I , " I? " " " ,
" 7 ",

7" , ," , " ? , . "7"


" "" I $% " " " 4 ",
" ! . " ? , ",
. , "

@A 5 " $ " 8' " " ,!: " ( 1


"
B " O " , , "
" "

B 7" !" , " , "

, , , 7" !" . " , 8 " " ' ,! E

( E 7" !" "

9 E ,, " 7 ? "
" , > 7 " E

, I?, " ," " I

, ' , "' E , ' , ,!: "


, . " C 4 " " 4,
. " " D

E " , "" " " "


, > 7 " E

, ," " I
, ' , " "' E , ." , ,"
"

+ E , , " " " , ,, G


,!

@A 5 " $ " 8' " " ,!: " ( (


% 7
, $% " ' , '

B O 7" !" ,, "


, '

,!: " , , C I 7I I D HE

F " "7" " I


F 7 " "7" 7" !" I
F " , " "7

"' , , ' '" 7" !" 7


"

, " , H $% " 7" !"


% I , " ? C I D

@A 5 " $ " 8' " " ,!: " (


/
B , ' , 4 , E

( e , E , : " ,

B , " " " , ?, " 7" , ' "


, " " " , , ' , '"

, C I "D

O " (

, ' O O ,

' " " , " . " " , , '


" " " "7"

@A 5 " $ " 8' " " ,!: " (


7
" " "7" ! , 7" E

F " " ' , I


F , . " : ?, " " 4

) " ! " "7" " , . > "" E

( E " "7" , ,!: "


! " , " , , " "." H ,
" > ! ' , ' ? " " ?9 ' "

, " "." , C I "D

C"D

C D

" " E " "7" , " "


? " ! " " ,
, , , " "7" , ?
,!: "

B " 4, " " , ,


,!: " ,

( ! , 77" E

F " ( " , ? , I " : , , "


"." " " :

F " , ,

@A 5 " $ " 8' " " ,!: " ( +


7

3 , . > , E

F 7 4 I
F 7 "" , , ' ,, " "

7 < D =

47 , " ". E

F 7 7"4 E

. " '" ! , ' 7"4

F 7 . " E

. " , ' I
. " , "

! "4 7 " , , " ". E

F , " "" , " ' . " I


F . "." ! " , 9 ,, " " I
F ," " 4. "

7 < D =

7 ' , " , '

7 ' " , > " , " ' O !


, ' "77 I " O > , '

@A 5 " $ " 8' " " ,!: " ( -


;" 7
! ' " " 7 .
e , " " " ,, CV 77 W ' "D ,"
! ' , ' " " ,

, " ", 4 9 "7 ' " " , E

F , ' , " " "


I
F " , ' " , " .
' " " " I
F " " " "

@A 5 " $ " 8' " " ,!: " ( /


B , 7 " "' ! , "
, ' 3 " , ' , ,
, '

!
(

@A 5 " $ " 8' " " ,!: " ( 0


" "
, " ! ! , ' E

F , ' , , ' ! ! I
F , , ' '

, " , ". E

( " , ' , , I /

" , ' , , , I" 7 " " 8 "


4" " , . " " "I "

" I" 7 " . : , ' , "


% 4 '" , " E . : , ' " ""
CV BWD , ' , "" CV5 BWD "
, '

+ " , ' ? 9 "7" , 9 " I" 7


" " . " ," , , ' " "
"

- ) 7 , ' , "

@A 5 " $ " 8' " " ,!: " ( 2


9
B 9 7" !" " " '" 7
" 7 " " ", " 4 '"
E

F I
F ,, " ? " . .

% $% " I " 7 " " ' " "7"


, " " "7" , I " 4
," " " E

F B 9 " ," " " ?


" "7" ,

F B 9 " " " I


, 4 , " Altitude " Sommet 4
" "7" , . , "

@A 5 " $ " 8' " " ,!: " ( &


9
% " " ? " 4 , I " 4, " " "
" ". " " " " " C
!D

Dictionnaire

Mot Définition

bateau Nom des embarcations, des navires autres que les

navires de guerre…

corde Assemblage de fils tressés ou tordus ensemble…

dessin Représentation sur une surface de la forme d’un objet

ou d’une figure…

école Etablissement où se donne un enseignement collectif…

kayak Embarcation étanche et légère, manœuvrée à la pagaie


double.

mélodie Suite de sons formant un air…

nez Partie saillante du visage, entre la bouche et le


front…

terre Planète habitée par l’homme…

zébu Bœuf à longues cornes et à bosse sur le garrot…

@A 5 " $ " 8' " " ,!: " ( 1


+ 9
F " E

" " 4 I
$

, ! !'

" I
: "

F " " E

O I

, ! !' E

! !' , ""

@A 5 " $ " 8' " " ,!: " ( (


5 1E
F
$ " " , $ : 5 "'! (&0 7 " 9
4 . ,, , "

". . " $E $<I " ' ""


$%

@A 5 " $ " 8' " " ,!: " (


/
B $< 4 C " " , " f D "" ! M
, ' O "

F B 7 " " '" E

C ( (D NC D

" , " B 7 " " ? "" ," E

C 4 < (D K g g 4I

7 " " M " 4

F 7 " !G , "

F B M " " , , " E

Ca (b ,(D N C , D

" , " E
, " (? (I ," , " . "
7 " " '" ' , " ? "

" 7 " ? "<(

, , " . " 7 " "


'" ' , " ?

( ." E , '" , " ,


! !

B M " " ? "" ,"

C 4 < (D K g g 4

7 " " " 4I , " ?E

Ca (b ,(D N C ,D

@A 5 " $ " 8' " " ,!: " (


B $< , > ! " 7 L ". E

( - ". "

(g [ -

+ ". "<(

(g [ +g [ -

C ( (D N C + +D N

'" "

@A 5 " $ " 8' " " ,!: " ( +


/
" $< " ? M " ."

" "

C '" ! ! '" I " 4" , I


M " . " " D

M " $<
! M M "
C,(D C I , DN C I , D
[
M ,( " ." M

! ! " " " " 7 " ' ?


M ," " ." M
&
&
! ! '" M
! ! "

@A 5 " $ " 8' " " ,!: " ( -


C '" " '" " 7 " " D

! ! '"
" 4"
"'

M " > ! ! " ?"


C I D

" , M I" " ?" ,


" ,
' C Dg 4

3 '" ,
" " "

;" " M
&
? D " " " " &
&

C ' '" " , D

@A 5 " $ " 8' " " ,!: " ( /


G

C '" , " 4 M . M ,D

. M ,
% , 4 ( ' ' E , " I
' 4 <( " , "
" ( , "
3 '" ( ,
3 '" , , . " ,, " , " I ", M
"
, 7 "
, ? " , !G 7 "

, "
. M C,D C ( ,D
" " " C ! " 4 ' (D

, , ." M C ( ,D ." " ?"


&

@A 5 " $ " 8' " " ,!: " ( 0


C '" ,, " '" D

! ! '"
" 4" ,
"'

M " " " '"


" ? ,, " '"

" , M I , " " ? ,, "


,, " "
' C D fC 4 < (D K , "
3 '" ,
,, " "

; " M
&
? D ,, " " " &
&

@A 5 " $ " 8' " " ,!: " ( 2


G

C '" 7 " . M .
7 ' ! " 7 " D

7 " 7 " . 7 ' ! M


" , M ,( 7 ' ! ,
" , " , " I ", M "
" " ,( .
C 7 " 7 " . 7 " M D
" ,( M , 7 " ,
" , " , " , I ", M
"
" " . ,
' C Dg 4

3 '" ,(
,, " ,
,( 7" "
,, " , ,(
,, " " C ! " 4 " " (D

, , ." M " M ", " . ,


." h
" ? ,, "

% , 4 (

' ' ? " ,>


3 . , " " I ", M "
3 '" ( ,( ,
, , ' , ,I " ", " . ,I
, , "
,, " "

@A 5 " $ " 8' " " ,!: " ( &


;9 H5 1E 9 I)

" ". '" E " I I eI I O :O

"

"

"
e

"

"
e

"

"
e
O :O

@A 5 " $ " 8' " " ,!: " (+1


" ". '" Ee I " I

"

"
e
O :O e

"

"
" O :O e
e

"

"
" O :O e
e

"

"
O :O e e
"

@A 5 " $ " 8' " " ,!: " (+(


,, " ". '" E O :O

"

"

" "
e e

"

"
" e e

@A 5 " $ " 8' " " ,!: " (+


8
8 ,, " 4 ," " " '" , S
4 (

F 4" M ! ! C ? " !
D ' KC D ! ! '"
" , " ' KC D M " I, "
! M , ' O "

F " ,, E

, ' " +111 I


' , " " 2

" : (1/ '" " 4

S (11 '-1C(1/D S + 7 + " , .


'" % ! " H " " " I
" 77"

F , I P " " ,, "


, , " ? ' KC DI ? " ? !

@A 5 " $ " 8' " " ,!: " (+


F "
B " 4? , ! !' , > ' " 47 L "77 E

F . , " I
F , "

, " ' " " . , " , "I 4 , I


' " " , "

/
B " 4? , ! !' " . , " , C I =I I D
HE

F " , " "7

F = " " " ,, " ? , " "


," 1 (I ,, " " CV! ! WD

F , ' I O " I '"


! ? 7 C D HE

I
" 7 " "

F , " ! " C1 g" g (D


!G C . ." D , ' '"
=C D S "

@A 5 " $ " 8' " " ,!: " (++


' " " , 7"' ". E

1
(

@A 5 " $ " 8' " " ,!: " (+-


" "
7 " ! !' ,, " ? I ,, > !G
I ? " 3 " ,"
1 (

% ' I H , " . " "


. " : " : ,
,! I" , , " " 7 " ! !'
" 9 ". I ? " I E

( ] =C (D ]=C D

8 " 7 " " " " " "" , "


"7

4 !" , "" "." " ," ' % 4 I


" ?, " I O' .
. =C D " E

J # =C D "." " O, " >


? !" " , "

J 8 &8 , , " " " O ! " =C D


' V 4 "7W " " " "

@A 5 " $ " 8' " " ,!: " (+/


/

" "

C '" ! ! '" D

" , ' " ? =C D 9 ? . , ' " "


'" E '" ! !
!G "
'" ! ! 4" ,
&

@A 5 " $ " 8' " " ,!: " (+0


C '" " . '" " 7 " " D

! ! '"
" 4"
"'

" , ' " ? =C D 9 ? . ",


, 77" , . '"
" 4"
J" '" E " " "
C !G " D
. , '
9 !G , ' " ? =C D
J" '"
&
&

@A 5 " $ " 8' " " ,!: " (+2


C '" ,, " '" D

! ! '"
" 4" ,
"'

,, " '" , ' " "


, ' ." ."
,, " ?9 !G , '
&
&

@A 5 " $ " 8' " " ,!: " (+&


;9
8 " " 4, " " " Dictionnaire . ,
". E

F S- E , " - I
F , ' '" 4" I
F =C D S C D -

". ! ! " " "

"<=
" (
(
e
(
O :O +
e +
" (
1
(

@A 5 " $ " 8' " " ,!: " (-1


, " " , I " 4, " "
" Dictionnaire 7 ". E

1 " "
(

O :O
e

@A 5 " $ " 8' " " ,!: " (-(


/
8 , ." "" " , " " 4 , ' "'
! ! " ? , '
'" ! ! " 4, " " " Dictionnaire
". E

" "
(

O :O
+ e

@A 5 " $ " 8' " " ,!: " (-


8
F , " . 9 .
'" , , 'I , ? '" (I( (I
" :

F 8 , " > , . , " , . " " "


"

F , " , , " " " , ' ? ! !


" " C 4 , D I , " , ,
" " , " " ,, "
"

F ! !' " , ? " 4 . "7 "


, " , . . I G "
"" " :, " I !
! !' " : " 4 " , , I "7 .
7 " ! !' 7 " '"

@A 5 " $ " 8' " " ,!: " (-


0

@A 5 " $ " c " > (--


? $% " " . '' > C "
I , . D , 7 . >
"

,, '' > "7 E "" 4, " >


" , 7 L : , 8 , > I " 4" '
, " '" , " , #$% !" " '"
,"

" > " ,! E

( ! > , " C " I


9 " I, 9 " I D ,, 0
/ '" " , 4 " P " " % 4
, , " ", " M . E

) 7 " > ". I


, ," " "." "." ' "
3. " P " ! ,

;# , 4 " , " , ,!

! ," ? ," " " >

," " " > , , 4 I "


, , , " ' , > " "
! ," " ? ," " " > ,
" , SELECT…FROM…WHERE

@A 5 " $ " c " > (-/


"

F C, " DI

F "" " " 4, " " , . ,


,, " ? " . I

F "" " " 4 " , . ,


,, " ? " .

F " E

F 3 "9 " E

" 4 " 9 " E

I
"7 " I
! !'

4 " 9 " E

, " " " 4 ! ! " 4


, ?9 "

8 ?

F I
F ", " I " ". > " "

@A 5 " $ " c " > (-0


+ K

, , '
3 , " , '
, ' C D , '
C D " " "
.C I UD ' : " U
"
C D S .C I R (I NI TD ' : ,
" C (I NI D
,C D S " C , K C DD : , , , '
, " C ,, , '
" , >
" D
,C D S " C C D K ,C DD , ' , , "

. C I UD . "77
" U "
!"C I UD ! " 4 $<
" U "

. " C4D S , , " " , " ' ?4

@A 5 " $ " c " > (-2


"

S C I 7D

" + K
C D× G + C/D× -

7 S λ, C, U S .D
C D
" 4 $< C$ CHI D+ D× G + C/D× -
( CHI D
U

AS ? C (I I 7D

" + K
C (D×((+ C D)× + CID× G

7 S λ9 C9 U S 9 JD
C D
C "9 " . " 4 $< C C (D+ C (D×C$ C IJD+ DD× G + CID× -
( C IJD
JD

8 ?

S ?C I UD

" + K
C D× (C I HD
C D× G + ×-

@A 5 " $ " c " > (-&


;#

, " ", "77" P " 9 "


" " 3 " G I E

F " " " . " ! " 3


" , , " I ,, " " " "7

F . " " "

F 7 "." , " C , " 4"


'" D

@A 5 " $ " c " > (/1


5 0
B > E

F 7 " " , >I


F M " 4 , ' " I
F " " " " , ? >

" > , . > " ? > > "


".

4 , I > E

$S

S hh

> , " , > E

SELECT Q.D

FROM P, Q

WHERE P.A = 'a'

AND P.B = C.D

@A 5 " $ " c " > (/(


8
!' H;

7( 7

7(

!2 H8 ? 7

U " U ⊄ U(

7CU(D

7CU(D

U( ∪ U

@A 5 " $ " c " > (/


!) H8 7?

'CU D

7CU(D

7CU(D 'CU D

!A H8 ? 7?

" J( ⊄ U(
J( ∪ J
J ⊄U
J( ∪ J

U( U

U( U

U( ∪ J( U ∪J

@A 5 " $ " c " > (/


!* H+ # ?

( (

!3 H5 # ?

@A 5 " $ " c " > (/+


+" 9 9
3 ! " I ! "4 , 4 " , > 77 7 L ". E

( ) " > 7 , "


" ". ,, " , ,"
"." " "." ,
, " ! ' , 4 " , "
" ? ! , ! ! " ,, "
3. P ! , 4 "
+ !" " , P " "

" . " 9 ! , 4 " ?


4 " " ." . " , >

4 , I , 9 " " E
C × C − (DDi
C − (Di

" ." ' ' ?( , S I (/21


, S -I //- 21 , S 0I

3 , " I "" ' ! " " , " " ,


4 " ? .

@A 5 " $ " c " > (/-


?
9 "7 ! ," " " " " " " "
" , " ' , " >

8 " > " " ?, " E

F " "" "9 " , " " . I


F , 9 " I
F 9 " , , " . "

, 4 " ' 7 L ". E

( 5 > 7 " 9 " I "." " I


"." , 9 "

% , " " " ,, " 7 "


)(

% " " , " ,, " 7 "


) ) I, " ' , , > " ,, "
7 " )(

+ % , 9 " 9 " ? " 7 " )+

- 3" " , 9 " " "

@A 5 " $ " c " > (//


;9
" ! " ". E

BIBLIOTHEQUE(NOBIB, NOM, VILLE)

LIVRE(ISBN, TITRE, ANNEE, MATIERE)

POSSEDE(COTE, NOBIB, ISBN)

EMPRUNTE(NOM, COTE, DATE)

> ". E

SELECT E.NOM

FROM EMPRUNTE E, POSSEDE P, LIVRE L, BIBLIOTHEQUE B


WHERE L.ANNEE > 1985
AND B.VILLE = 'Marseile'

AND E.COTE = P.COTE


AND P.ISBN = L.ISBN

AND P.NOBIB = B.NOBIB

" 4 " , ". , " , (&2- , ,


" " ! 5 "

@A 5 " $ " c " > (/0


K

F , ? , 'I " ,, ' 4


P , " ? , ' '
, ' 111

F ) " " E

5 #
EMPRUNTE NOM 1 +- ++ (1111
COTE (-
DATE (1
POSSEDE COTE (- / 11111
NOBIB

ISBN (-
LIVRE ISBN (- 0& - -1111
TITRE -1
ANNEE +
MATIERE (1
BIBLIOTHEQUE NOBIB 0 -+ 1
NOM 1
VILLE (-

F "." E

CEMPRUNTE.DATE = '15/10/1996'D S +j
CLIVRE.ANNEE > 1985D S 1j
CBIBLIOTHEQUE.NOM = 'Marseille'D S (1j

@A 5 " $ " c " > (/2


)(

. " , ", E

C " " I ' , I , ' D

P S ( 2+- /+ ? , '

C2I 1I (D

E.NOM
K I2
C2I (& I (D

E.DATE = ’05/10/1996’ AND


L.ANNEE > 1985 AND
B.VILLE = ’Marseille’
K I (33
C(1111I (& I &/-D

P.NOBIB = B.NOBIB
K I 2*2*
C 1I 0I (D

P.ISBN = L.ISBN
K I ,3'*A.
C(1111I 00I 2-D C-1111I 0&I (&0-D

E.COTE = P.COTE
K I '.L.3'.
C(1111I +-I -D C 11111I I +211D

E P L B

@A 5 " $ " c " > (/&


)

P S 0 0& ? , '

C2I 1I (D

E.NOM
K I2
C2I +I (D

P.NOBIB = B.NOBIB
K I)

C21I I (D C I I (D

{E.NOM, P.NOBIB}
K I*
C21I 2 I +D

P.ISBN = L.ISBN
K I '.3L
C+11I /0I (+D C(1111I (-I 0-D

E.COTE = P.COTE
K I ))32'
C+11I -I 0D C 11111I I +211D

{E.NOM, E.COTE} L.ISBN B.NOBIB


K I '3 K I A,. K I2
C+11I +-I &D C(1111I 0&I &-D C I 0I (D

E.DATE = '15/10/96' L.ANNEE > 1985 B.NOM = 'Marseille'


K I 2)A K I 2),. K I2

C(1111I +-I -D C-1111I 0&I (&0-D C 1I 0I (D

E P L B

@A 5 " $ " c " > (01


/ ?
! ," " " , " , , 9 " 8
. 9 " ," , " ," " " >
"

. . 9 " " " 7 .


" ?9 " " " " 9 " ?
" , " 4 " ? CV 7
? WD " ! 9 " , , ' ! "
E

, " " : i " " ' ! 9 " "


, " 9 " 4 , I " :(/21
9 " - " ( 1 " " ' !

B " " ' ! 9 " " " 4" " 4


" 9 " " V,", " W

8 , , " " 9 " " " , " " I


, " ' P .

@A 5 " $ " c " > (0(


" " 9
! ! " , 4 " " , "
,, !I ! #$% , , ! 6 " " " ! " E

F 8 " , 4 " " " ' !


9 " I 9 " , "." "
! , > " . " 9 "

F 8 " , 4 " " : " ! ,


" " ' ! 9 " . "
"77 9 " " " ". !" " ? !
, I " " ?9 " , " " I ? ,
P 9 " . 9 " 9? " " " 8
!" " " , P " "

F 8 ! ! " , , ! , ' " : "

@A 5 " $ " c " > (0


+

@A 5 " $ " c ," (0


+
B 7 ' , ' 4 " 7 " , $%
! ? !

B " " # ! , > E "


, " I " ' > "

, " " , ' " " "


, " . I #
#

B 7 ' $% E . " I , I I

" :, . ". E

#
start ' "
read D %
write D " %
rollback " "
commit 7" " "

@A 5 " $ " c ," (0+


-+ =& * / * )( LA

!
start

read A

A = A - S

) , write A

read B

B = B + S

write B

commit

@A 5 " $ " c ," (0-


8
" " , . > , E "

B #$% " " , , ," ". C "


, ," 5+ D

5 " " " "7" " 77 , "


'" $%I " " "
7" CcommitD "7" " 77
'" $% ." " 4 "" "
" " , "7" "
'" $%

+ ! B " 7 " , $% ! ?
! B ! "
" '" . "7"

" B " > , , "


E , " "

"" B 7 " " 7" #$% ' "


"7" " 77 ,
" " " ." E" ," I, :
4, " " IV !W " I

@A 5 " $ " c ," (0/


8 D
" * " " , I, "
, , . E

F , " ?9 I

F " , , E

" ! I
7" I

F , "

@A 5 " $ " c ," (00


8 ?

!' !2 1
S (1
read A

read A

A = A + 10

write A S 1
A = A + 50

write A S /1

, " , ) . " . " S 01 , " )( 9 -1 ? )


" 9 (1 5 " , " S /1

@A 5 " $ " c ," (02


< " =

!' !2 1

< $ S 11
S( 1
$ S 21
read A

A = A - 50

write A S 01
read A

read B

display A + B
C(-1 77" ! D
read B

B = B + 50

write B $ S( 1

)( " ! I ." ? ." " " '" I , "


! ? 9 ?$ ) . " 77" ! . 11 5 "
, " ) 77" ! (-1

@A 5 " $ " c ," (0&


< =

!' !2 1
S -1
A = 70

write A S 01
read A

(70 est lu)

rollback S -1
C . " "" D

)( . " " , ") . " 9 "


! '

@A 5 " $ " c ," (21


!' !2 1
S (1
read A
C(1 D
A = 20

write A S 1
read A
C 1 D

) " "7" , " " ? ! > . ,


5 " , " ) " (1 , " 1

@A 5 " $ " c ," (2(


;9
, " ", , * "
4 " "

3 77 I " 4 , I" : ,
, 5 ! I " " ,, "
P ,

" , " ? 4 "


7 L ? " ". ? 4 " "
" E 4 " "

" " "" , 7" " 7 L ". E

F 4 " " " "I , ,


" I . , .

F % 4 4 " > " # "


"E

" > . I
, " > 7" $%

F B 4 " " " "


" " 4" 4 " " ".

@A 5 " $ " c ," (2


+
! ! 4 " " ". ? 4 "
" I, 7 " 4, " ' ".
, " "

" 8,( , " " )( 8, , " "


)

F " 8,( 8, , , > I 8,( 8,


,

F " 8,( 8, , > %E

8,( S read D 8, S read D E 8,( 8, , 4


)( ) " > . %
8,( S read D 8, S write D E 8,( 8, , ,
)( " . D . "7" " , ) I .
D "7" , )
8,( S write D 8, S read D E 8,( 8, , , ,
" " " " ,
8,( S write D 8, S write D E 8,( 8, , , I
, !" , " " , > . %C " ,
)( " , ) D

% 4 , " " " ,, " ? 4 "


"77 " , , &

% , ' " I 4 , " ,, ? 4 "


"77 7" " " , >
4 " , " "

B 4 " " " " , > 7


4 " " ". , " , " , "
7"

@A 5 " $ " c ," (2


;9

!' !2 !' !2
read A read A

write A write A

read A read B

read B write B

write A read A

write B write A

read B read B

write B write B

C(D C D

4 " C(D " " , > 7 C D "


4 " " I, " , " , " 7"
". E

F , " read B )( . read A )I


F , " write B )( . write A )I
F , " write B )( . read A )I

@A 5 " $ " c ," (2+


#
' " " " #$% , , ,"
! " "

!" , " , , ." , ?


# E ! " . " " " ,
" " 4 " :

. " ' ' , 7 #$% " , ,


: " >? " " " ?. " I H ,
# 8 , " , 7
, " , " , . " ' " C
" , 4 , D " 7" " " #

%
8 , . " E

F . " I
F , . I
F , ' 7" !" , I
F "' I
F $%

@A 5 " $ " c ," (2-


#
. " ' . " #$% ? % 4 9
7" " E

F C DE . " I
F 9 CMD E . "7"

' " '" 4 ". E

( B . , ' , > " . 9?


, 4 > , '

B . 4 "7 , > " .


9? ,

' " '" . " ' , . > 4, " ,


U " ". E

+ U
"
U

H5 C"I 9D " " " . ", >


. 9: 9? ,

@A 5 " $ " c ," (2/


/ #
4 , " ". ' . " ' 9 4 , "
" " E

/
lock m D .
%
unlock D . " ' %

@A 5 " $ " c ," (20


$ D 9 "
B " "E

F " . . " " I


F " . . "

B " ? 9 " " " 7 " , . " "


. " , E " " ' " .
,! #

, ! " " ? . . , 7" "


" CcommitD

4 " " ? 4 ,!
" " I ? ". ? 4 " " " " "
" " "" " .

3 " , : . " ", " ?9 I " " , , I "


, "

@A 5 " $ " c ," (22


;

8 ?

!' !2 1
S (1
lock X A

read A

lock X A

A = A + 10

write A S 1
unlock A

read A

A = A + 50

write A

unlock A S 01

. " ' , )( "' ) ? )( " " " ?9


. " : , , " ?9

@A 5 " $ " c ," (2&


< " =

!' !2 1

< $ S 11
S( 1
$ S 21
lock X A

read A

A = A - 50

write A S 01
lock S A

lock X B

read B

B = B + 50

write B $ S( 1
unlock A

read A

unlock B

lock S B

read B

display A + B
C 11 77" ! D

. " ' , )( ,> ! ) " . )( " " "


?9 $ ) 77" ! . ! <$ " 11

@A 5 " $ " c ," (&1


< =

!' !2 1
S -1
lock X A

A = 70

write A S 01
lock S A

rollback S -1
C . " ""
. " D
read A
C-1 D

. " ' , ) ,> ! )( " . ) " )(


" " . . " . )

@A 5 " $ " c ," (&(


!' !2 1
S (1
lock S A

read A
C(1 D
lock X A

read A
C(1 D
unlock A

A = 20

write A S 1

. " ' , ) , 4 ,> ! )( ?


"7" 4 ) " " 47 " > .
" (1

@A 5 " $ " c ," (&


#
" " " " , " "7" % " 7 "
. " ' ? 4 ,! I . . 4 "7
% : , , " %
" ?9

7" ' ' I " " , " ""


. ? " 4 , " ". E

/
upgrade D U . %
downgrade D . %

. " 4 > ' "


. U

4 , E

!
lock S A

read A

A = A + 10

upgrade A

write A

downgrade A

@A 5 " $ " c ," (&


" . " !" . " ' " C
# D , " "

6 " " 4 , " " ' E

!' !2
lock X A

lock X B

lock S B

lock S A

B " " " ' " , : "


" ! M ' ,! " " 4" "
M )" . M )9 " , %C D " )" )9 " .
%, :, .

' ,! 4 , " ". E

)
$C D

C D
)(

" : " 7" " '

@A 5 " $ " c ," (&+


% 4 !" , . > "" , " ' E

F # E , , " ." . I, 4 ,
? " . " .
'I " 7"4 " , 4
" , .

F E " " " " ' , " " , ?


" . ' " ' ,! , " " '
, " % 7 " "
, ,

" ' ". I !" " .


, "

@A 5 " $ " c ," (&-


, #$% , . > " ' " E

F 5 , . " ? " , ' I


4, " " "" > , . , ' " "
"
F 8 I, 4 , ? " ,
'" " , " ,
'" "
F 8 B , " '" "
,

' " " ," #$% , , ," " "


"" "

" " ," , " >


" ," V? ! WI , > " "
," I ,, : 9 "' "
. "

," , , " , ' ? M . 3 "


" ," ' " $% !". ' " ?9 4
,"

@A 5 " $ " c ," (&/


/
<N O=
? 7" !" " " " " .
." " "7" " $%I , " "

" . ". E

;#
(T start) " )
(T D a n) % , E
, . ? .
(T commit) " ) 7"
(check point) , " ,"

B 9 '" I ? " "


! " , , > " 4 , I " %
CV : 7 4, ". %" O WD " ? ! " '"
4 " ,!: " " "

@A 5 " $ " c ," (&0


-+

!' !2
start (T1 start)

lock X A

read A
C S (-D
A = A - 1

write A (T1 A 15 14)

lock S B

unlock A

start (T2 start)

lock X A

read A

read B

A = A * 2

write A (T2 A 14 28)

commit (T2 commit)

B = B / A

@A 5 " $ " c ," (&2


8
B 9 "" " H
7 " E

F " " I
F " , " " , " ,"
. " 7 "

" , " , " I" 7 E

( " " . " I

" " " I

" " C , D , "


I

+ " (checkpoint) 9 I

- " " 9 "

@A 5 " $ " c ," (&&


;

!' !2
C(D start

C D lock X A

C D read A

C+D A = A - 1

C-D write A

C/D lock S B

C0D unlock A

C2D start

C&D lock X A

C(1D read A

C((D read B
C( D A = A * 2

C( D write A

C(+D commit

C(-D B = B / A
C(/D " ," i

@A 5 " $ " c ," 11


5
)( " , I , " , " ,
, ," " " )( " > 7 " I "" ," , " ". E

F . )( , $ " > . , $ " "


F " . . . " . " ?9 , )( C-D
F . , ) C(1D , I ,
" ?9 7 " , ) , > " E" 7 7 " )
F % " , " E . "> 7 " C
" ? 7 " D

@A 5 " $ " c ," 1(


D ?
" ? 4 ,!

7" ." . " ? 7 " " I . , ,


" " , 7" " CcommitD

,, " $% 7 " . , B .
" , , " write D , " , > "
" " ,

7 " " ' 4 " ?9 E

F D? " $% 77 " "


B " 7" , " $%

F D? . . O
9 " $% 77 , commit B
" 7" " " $%

@A 5 " $ " c ," 1


+
, ." I , " " ' " E

( # " ?
9 '" " I, 7" " " , " ,"

# . . , . "
, . " " " 7 7 " " ?9
" ". . . " . . "
" 9

, ," " "


" ," 77 " % " ?9 " " I
" 7 7 " " ?9 " ". "
. " . . " " 9

@A 5 " $ " c ," 1


D?

F ! . start " )E " (start T)


9

F ! , " write D " )E

3 " (T D ancienne-valeur nouvelle-valeur) 9 I, "


" " 9 "
3 " % $%

F ! . commit " )E

3 " (commit T) 9 I, " " " 9


"

F 8 9 ? . 9 " , " ," I


" 7"

F 8 9 ? . 9 " , " ,"


! , " (T D a n) " 7" )E

3 " " . % $%

F 8 9 ? "I , " " , " ,"


! , " (T D a n) " 7" )E

3 " . . % $%

@A 5 " $ " c ," 1+


D?

F ! . start " ) " (start T)


9

F ! , " write D " )E


" (T D ancienne-valeur nouvelle-valeur) 9

F ! . commit " )E

3 " (commit T) 9
3 " " 9 " E "
7"
3 " $% "7" , " )

F 8 9 ? . 9 " , " ," I


" 7"

F 8 9 ? " ?, " , " ,"


! , " (T D n) " ) 7" E
3 " . % $%

@A 5 " $ " c ," 1-


1 "

@A 5 " $ " c $" " ' ,!" 10


% 4 . ' ' "
, " " I ", " 6 " " 4 " ." ? , , "

$ A I : " E , I , " I
= I (&&0

% AI " 4 I " )! " !" 'I


; I (&&2

% I % ! " ? ,, " " I% $ O B ". " I (&&-

# " #I $ % 9 k " I 3: I " I (&&&

# :AI I) " " ' , ) !" I5 '


l 7 I (&&

" ! e Il != ; I ! I% : , I5 # m
=" I (&&0

B A% I % l m ' $ Cm . DI , "
I C(&22I (&2&D

@A 5 " $ " c $" " ' ,!" 12

Você também pode gostar