les bdd relationnelles et leurs sg
Embed Size (px)
TRANSCRIPT
-
!"
#!$
-
% &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'
!" #$% &
''
((
) "(
*(+
,
" (-
"" ." $%(/
." $% (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
+ &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'')89"7: ((+
", .((-
"" "" ((/
/" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''( " (1
;"!" ((
#", (
3!'"" (/
4 (&
-
$$% ' ,
?,,""
E
F ."
"! G "7
,, !H
" , ""77 7"!"
4"
4I
F 77 " ''!"., 7"""","
I
F , '
," "" I
F * "' "I "7"""
I
F "
,
"
' , '"","",,
C#$% 'D
-
@A5" $
"
# "
56 7 85+
3(&0-", , !" ? "".4"
."E
"
9
"
9
"
"
&&& "
9
-
@A5" $
"
# " +
"
:
!, , "
,,
$%
89
F "C9DE,
I".
F , , "C "DE" ". I ,
F ""E,
".
F ' 'E , ,
F "E,
I",
89
F ( ' "E
!" !"C5$5D
C%$)#8%JD
F ' "E
"
F ' "E
"9
9K "
-
@A5" $
"
# " -
;9
"$% ". ""! 8,,
". ""7", ,
!
Livre(Cote: Chane, Titre: Chane)
Auteur(Nom: Chane, Cote: Chane)
Personne(Nom: Chane, Prnom: Chane, Anne_naissance: Entier)
Livre
Cote Titre
BD/46 Les BD en BD
Personne
Nom Prnom Anne_naissance
Dupont Jean 1960
Durand Pierre 1953
Auteur
Nom Cote
Dupont BD/46
Durand BD/46
-
@A5" $
"
# " /
!
classe Livre
attribut Cote: Chane
attribut Titre: Chane
attribut Auteurs: liste(Personne)
classe Personne
attribut Nom: Chane
attribut Prnom: Chane
attribut Anne_naissance: Entier
mthode Age(): Entier
{anne_courante - self->Anne_naissance}
livres: ensemble(Livre)
personnes: ensemble(Personne)
P1: {Nom = "Dupont", Prenom = "Jean", Anne_naissance = 1960}
P2: {Nom = "Durand", Prenom = "Pierre", Anne_naissance = 1953}
L1: {Cote = "BD/46", Titre = "Les BD en BD", Auteurs = [P1,P2]}
livres = {L1}
personnes = {P1, P2}
-
@A5" $
"
# " 0
"9
B"9 , 7L"" 7", '
,,"".", "$%"
4"' ," 4 , >$%
!,$%,> ,4!4
4"" ."",",!
!4 , ", ' $% ","
" "I! "
? """
-
@A5" $
"
# " 2
"
-
@A5" $
"
# " &
5" %1
5"
,,""
#$%
$% $% $%
,,"" ,,""
-
@A5" $
"
# " (1
5"7#
#$%C, ""D
,,""
#$%C, ""D
,,""
#$%C, " . D
$% $% $%
#
-
@A5" $
"
# " ((
. ''!".,,
" "I" '"","$%,
,""''
M ''
", 0
""", ,"7"
! !
F %7"""
E!,I!4 I!"
4
F 5","
E
"I"7"",, "I
","
4, " , ,I
" '"I
'" "I
N
F ''!*CIIA.INDI
F
-
@A5" $
"
# " (
;90
:
8,"""
*
34"
$%
-
@A5" $
"
# " (
!
#$%" "
B "7 ', ' "7", $%
! ? ! I, """
B4," ", "" 7
," ?," $
dbut transaction
solde(A) = solde(A) - S
solde(B) = solde(B) + S
fin transaction
" , "",> " , "
"$
-
@A5" $
"
# " (+
+:
O$%". , "
""B#$%" ""' "
,
+
3' ," "" , '>$%" "
,.4 >,B#$%" .
7" ",$%"!
, ,
I" "'"'"" "I#$%">
, $%! I>,, !"
, ,
+
B#$%", " " ? ",
" "
, " , " $%
-
@A5" $
"
# " (-
7
7"
",, ,." 7" .
7" '""'",!:"$%" !"
"#$%"'
"
,
", ""E
F "7" '"",!:"C, 4,9 "
4,
, ,"D"7" !,, '
,,""I
F "7" !,C, 4,9 .:,"
""D"7" , ' ,,""
8, ""
-
@A5" $
"
# " (/
-#14
F C,
",DE
7""!,$%7".
7"4, '"",!:"7L?,""
, 7
' "" "
F E
7""!4 ", ' ""
4,"$%.,,"", ""
"", ''
#$%I.
,.'', ' ""
F E
?$% . " ", , '
,,"", ,. " . '' >
-
@A5" $
"
# " (0
+#1
$%, ""77""3":
,, 7
"
"""7 ""
%!,"$%.,,EB5I, 4,
! ,!".I"
,
#$%, "" E "9I, 4,
B7"!,!"."I" "
,#$%!""
-
@A5" $
"
5 "
(&
-
@A5" $
"
5 "
1
, 3;
$5(&/&I "
7"9'
.4 ! !"I,"
21I!
, " "4E
F %$$5I
F 8 I
F 7 "4I
F :I
F . 5" 7I
N
"
P?E
F , "" E$%.I
F "E' "
'", "
-
@A5" $
"
5 "
(
+1
B1", E
F "I
F "I
F ""' "
-
@A5" $
"
5 "
B. "
8""'E
F "E
!G I
" I
I
I
N
F "E
9I?" . 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 | Rel t et t > 0} Poids = {p | Rel p et p > 0}
,," ' ,,
-
@A5" $
"
5 "
B ", " ""%(INI%E
%(N%
B "7"", I, :,, 4"
!
4, "7 E
C(E%(INIE%D
H!%""!"
""
" *
"%" " 4,E
rel(Nom: Chane, Age: Entier, Mari: Boolen)
:, " " "!GI3" $
, " , I
Q' ""7">
"
;9
9:, C(E%(INIE%D
,E
R(S.(INIS.T
.(%(INI.%
4" ". " ."
4,E
{{Nom = "Dupont", Age = 36, Mari = Vrai}
{Nom = "Durand", Age = 22, Mari = Faux}}
4" ":,E
rel(Nom: Chane, Age: Entier, Mari: Boolen)
-
@A5" $
"
5 "
+
"
,, "4, "E
C(E%(INIE%D
""' ":, C(E%(INIE%D 4,E
Personne(Nom: Chane, Age: Entier, Mari: Boolen)
"
""", "I! ",
" ?4, "E
C(INID
-
@A5" $
"
5 "
-
9#
8,,
"!E
Personne(Nom: Chane, Age: Entier, Mari: Boolen)
4"E
{{Nom = "Dupont", Age = 36, Mari = Vrai}
{Nom = "Durand", Age = 22, Mari = Faux}}
$
4" "!C(E%(INIE%D,> .
,
(INI!"'
, ,4" 4,E
Personne
Nom Age Mari
Dupont 36 Vrai
Durand 22 Faux
$
"!C(E%(INIE%D"", "
". "",,, "?4"7"
4,I "E
Personne {Nom = "Dupont", Age = 36, Mari = Vrai}
. "
-
@A5" $
"
5 "
/
$
, ". ""7 """
, "
4,I7 , 7"4"
, "
, "7 """. , "" E
# Nulle
4,E
{Titre = "L'avenir des bases de donnes",
Confrencier = "Paul Durand",
Date = Nulle}
-
@A5" $
"
5 "
0
+
+
8,, "I.."I
" " 4,{Nom, Age}" "
Personne
B" "? " "
"7 RT
+
B"U ""E
F , !,I. U""7"7L",I
F "U,> ,, " " , , ",
B ",." ,"
"E!""
", 4,I "E
Personne(Nom, Prnom, NumSS, Pays)
",,,
""7", , "
, ""
"{Nom, Prnom}
NumSS " , > !"", ""
.""' ", "" 4,E
Personne(Nom, Prnom, NumSS, Pays)
-
@A5" $
"
5 "
2
+
B"J "( ' ("4" "
,, "" UJ, ".
U8"J "
", 4, "E
Personne(Nom, Prnom, Age)
Livre(Cote, Titre, Nom_Auteur, Prnom_Auteur)
"
" ". ,
I "
{Nom_Auteur, Prnom_Auteur} ' "Livre3
7 "Personne
' "
""' "$% "
,.4, " , E
F ,, . "?"I
F 7"""I
F "" "I
F "I
F
"""4, ""?9
I47 "' "9 *", E
F ". "7"". ", ""
,
F ". "7""!. ' JE
"4". , "" , "J
7 I
"
-
@A5" $
"
5 "
&
;9
$% , " " ,21113
V2111W
8. , 7"".E
F "!B""7",
F ""I?" ,:"
.B, . ," ,:
",, "?
7 " !,:
F , " "7 >
"B, " ""7", 7' ."
F ' ", :" , " E' ",
""7",
-
@A5" $
"
5 "
1
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,2111D
Orientation = {"N", "S", "O", "E", "NO", "SO", "NE", "SE"}
Anne_d_ascension = {a | Entier a et a 1950} C, " 2111"(&-1D
Nom_de_pays = {"Npal", "Chine", "Inde", "Pakistan"}
Sommet(Nom_Sommet: Nom_de_sommet, Altitude: Altitude_de_sommet)
Localisation(Nom_Sommet: Nom_de_sommet, Pays: Nom_de_pays)
Premire(Nom_Sommet: Nom_de_sommet,
Face: Orientation,
Anne: Anne_d_ascension)
Conqute(Grimpeur: Chane,
Nom_Sommet: Nom_de_sommet,
Face: Orientation)
-
@A5" $
"
5 "
(
+
F B" "Sommet
"Nom_Sommet
F B, . 7 " ," ,: "
Localisation7 4 "{Nom_Sommet, Pays}
""" $%"Nom_Sommet
"Localisation ' " 7 "Sommet
F B, " ""7", 7' .""
CNom_SommetIFaceD, "" "Premire
' ." , " "> "$%
"Nom_Sommet ' "Premire"
7 "Sommet
F B, " ,." ", ," ' ", "
Conqute7 " "
{Grimpeur, Nom_Sommet, Face}7"".>
, " "RNom_SommetIFaceT
' "Conqute" 7 "Premire
-
@A5" $
"
5 "
$
Sommet Localisation
Nom_Sommet Altitude Nom_Sommet Pays
Everest 8848 Everest Npal
Manaslu 8163 Everest Chine
Hidden Peak 8068 Manaslu Npal
Hidden-Peak Chine
Hidden-Peak Pakistan
Premire
Nom_Sommet Face Anne
Everest S 1953
Manaslu S 1972
Hidden-Peak NO 1975
Everest SO 1975
Manaslu O 1981
Conqute
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
Bghin Manaslu O
-
@A5" $
"
5 "
$
F 4" "Sommet7
RNom_SommetSIAltitudeST4, "7"
,"
F 4" "Localisation7
RNom_SommetSIPaysS,T4, "7" .
,:,
F 4" "Premire7 ",
RNom_SommetSIFaceS7IAnneST4, "7", "
"7777
F 4" "Conqute7 ",
RGrimpeurS'INom_SommetSIFaceS7T4, "7"' ",
'' ." , " "77
-
@A5" $
"
'' "
-
-
@A5" $
"
'' "
/
8""'4:,'' "
E
(D ' "
E4,".""
"$% "
D "
E4,".""
"
$% "
4:,''>,"
-
@A5" $
"
'' "
0
5
, "",4"
"I?" ,
), ' "
,,"?," "
, " "
", ""'E
F , ""E"I" "I"77 I, "
"I
F , ,"7"4
E"I, 9"I9" I
-
@A5" $
"
'' "
2
F E
II4, ":, . "I
I$I "I
UIJIX"I
. ", I
"CUD ""UI
(INIE7"4, "(INI:,
S.7"4, ". .
F "USR(INIT"" ,"7(INI
%(INI% " '". ""E
UE%, (E%(INIE%
U, R(S (INIS T
F " " 4, "", :,:,
, . 4"
-
@A5" $
"
'' "
&
/
>
"E
IE CUE%D
E
CIDE CUE%D
CIDSR Y T
CIDE CUE%D
CIDSR Y T
CIDE CUE%D
CIDSR Y T
4,E
minus(
Sommet AltitudeHiddenPeak 8086Everest 8848Manaslu 8163
,
Sommet AltitudeEverest 8848Manaslu 8163
) =
Sommet AltitudeHiddenPeak 8086
-
@A5" $
"
'' "
+1
8
"E
E CUE%UD
E CJE%JD
"CUD "CJDS
E
CIDE CUE%UIJE%JD
CIDSR,Y,IT
4,E
pc(Sommet1 AltitudeEverest 8848
,
Sommet2 PaysEverest NpalEverest Chine
) =
Sommet1 Altitude Sommet2 PaysEverest 8848 Everest NpalEverest 8848 Everest Chine
-
@A5" $
"
'' "
+(
, 4 ", "". "7"
""
"E
E CUE%D
7ERUE%T>$
E
CI7DE CUE%D
CI7DSR Y 7C DS6 "T
%7 H7"7, . "
, " ","7"".E
CI.DCI7 .D
4,E
sel(
Sommet AltitudeEverest 8848Manaslu 8163HiddenPeak 8086
, Altitude > 8500) =
Sommet AltitudeEverest 8848
-
@A5" $
"
'' "
+
8?
, ?4 ". "
"
"E
E CUE%UIJE%JD
E
?CIUDE CUE%UD
?CIUDSR UY T
4,E
proj(
Grimpeur Sommet FaceHillary Everest STensing Everest SMessner Manaslu SHabeler HiddenPeak NOMessner HiddenPeak NOBeghin Manaslu O
, {Sommet, Face}) =
Sommet Face
HiddenPeak NOManaslu SEverest S
Manaslu O
-
@A5" $
"
'' "
+
, 9" 7"
4 ", ""
, ,"7". "7" " "
"E
E CUE%UD
E CJE%JD
"CUD "CJDS 7ERUE%UIJE%JT>$
E
?CII7DE CUE%UIJE%JD
?CII7DSR,Y,II7C,DS6 "T
" " , ","7"7?,
" '"4"
8E
@?CIIUSJD?CII7C9D9US9JD
HUJ" ,"7","
4,E
equi_join(
Sommet1 FaceEverest N
Manaslu SHiddenPeak NOManaslu O
,
Sommet2 AltitudeEverest 8848Manaslu 8163
,
Sommet1 = Sommet2) =
Sommet1 Face Sommet2 AltitudeEverest N Everest 8848Manaslu S Manaslu 8163Manaslu O Manaslu 8163
-
@A5" $
"
'' "
++
9
,> " . 9" I,!
4 "",.> 9"",> , , "
?9
"E
E CUE%UD
E CJE%JD
"CUD "CJDS USRU(INIUT
JSRJ(INIJT
E
[email protected]?CII7DE CUE%UIJE%JD
[email protected]?CII7DSC4IAI4D
HE
AS?CII7D
4SCCI, 9CAIUDDIRRJ(SNulleINIJSNulleTTD
4SCRRU(SNulleINIUSNulleTTICI?CAIJDDD
4,E
ext_equi_join(Sommet1 AltitudeManaslu 8163Everest 8848
,
Sommet2 FaceEverest S
Annapurna N
,
Sommet1 = Sommet2) =
Sommet1 Altitude Sommet2 FaceManaslu 8163 Nulle NulleEverest 8847 Everest SNulle Nulle Annapurna N
-
@A5" $
"
'' "
+-
7?
, "9" 4 ", "
".",
". "7" "
" 4, ""7""4""
"E
E CUE%UD
E CJE%JD
"CUD "CJDS 7ERUE%UIJE%JT>$
E
@?CII7DE CUE%UD
@?CII7DSR,Y,I7C,DS6 "T
4,E
equi_semi_join(
Sommet1 FaceEverest N
Manaslu SHiddenPeak NOManaslu OK2 NEAnnapurna N
,
Sommet2Annapurna
Manaslu,
Sommet1 = Sommet2) =
Sommet1 FaceAnnapurna N
Manaslu SManaslu O
-
@A5" $
"
'' "
+/
#
, ".""4, ""7""".
"E
E CUE%UIJE%JD
E CXE%JD
"CJD "CXDS 7ERUE%UIJE%JIXE%JT>$
E
".CII7DE CUE%UD
".CII7DS
R4Y4, 9CIUDCI,I,US47C,DS6 "DT
4,E
equi_div(
Sommet Face1Everest S
Manaslu SEverest N
Everest O
Manaslu OEverest E
,
Face2N
E
S
O
, Face1 = Face2) =Sommet
Everest
-
@A5" $
"
'' "
+0
..I, "" ' "
",
" ",
C"9"
""D,> " " ".
,," , E *,
"E
E CNIE%IND
E
CII$DE CNI$E%IND
CII$DS
">:,>4"I
4, ' ", $
4,E
rename(
Nom AltitudeEverest 8848Manaslu 8163HiddenPeak 8086
, Nom, Nom_Sommet) =
Nom_Sommet AltitudeEverest 8848Manaslu 8163HiddenPeak 8086
-
@A5" $
"
'' "
+2
;9
8 Nom_Sommet_Conquis "Nom_Sommet "ConquteE
Conqute := rename(Conqute, Nom_Sommet, Nom_Sommet_Conquis)
C := sel(Conqute, Grimpeur = "Messner")
SC := equi_join(Sommet, C, Nom_Sommet = Nom_Sommet_Conquis)Rponse := proj(SC, {Nom_Sommet, Face, Altitude})
L := sel(Localisation, Pays = "Pakistan")
V := equi_semi_join(Conqute, L,
Nom_Sommet_Conquis = Nom_Sommet);
Rponse = proj(V, Grimpeur)
C = proj(Conqute, {Grimpeur, Nom_Sommet_Conquis})S = proj(Sommet, Nom_Sommet)Rponse = equi_div(C, S, Nom_Sommet_Conquis = Nom_Sommet)
!"##
$
S = sel(Sommet, fun(s) s.Altitude > 8500);
L1 = sel(Localisation, Pays = "Npal")
L2 = sel(Localisation, Pays = "Chine")
Rponse = inter(proj(S, Nom_Sommet), minus(proj(L1, Nom_Sommet), proj(L2, Nom_Sommet)))
-
@A5" $
"
'' "
+&
"
CI7D 7
7
?CII7D
U?CIUD
-
@A5" $
"
'' "
-1
+
4"4:, , . "E
F 7E. ""',C"'
D
F E. ""'. "
CD
-
@A5" $
"
'' "
-(
+7
B7 "
,7"", '".E
F !. ""? ""',"Z
F "4. "I4. ",4Z
F 4 ". ""4, "Z
F CH" D(( ". "", ", "C[S\]D. "7"I74"Z
F 7 Z
F "77 C7D77 Z
F "7'7 7'I7'I7'7 Z
F "77 4. "" 47477 4". "" 7
" Z
F '", " 7
B4, " "
,7 E
RR$(S4((INI$S4TY7T
H77 "
,I$(INI$
"4(INI4. "" 7
3"E ^ ,R$(S((INI$ST7
. ", 4(S(INI4S
-
@A5" $
"
'' "
-
;9
!%##
{{S = s.Nom_Sommet, A = s.Altitude} | Sommet s ets.Altitude > 8100}
{{S = c.Nom_Sommet, F = c.Face, A = s.Altitude} | Conqute c etSommet s et c.Nom_Sommet = s.Nom et c.Grimpeur = "Messner"}
{{G = c.Grimpeur} | Conqute c et l (Localisation l etl.Pays = "Pakistan" et l.Nom_Sommet = c.Nom_Sommet)}
{{G = c.Grimpeur} | Conqute c et s (Sommet s c' (Conqute c' et c'.Nom_Sommet = s.Nom_Sommet et
c'.Grimpeur = c.Grimpeur))}
-
@A5" $
"
'' "
-
+
B7 "
"7"", '".E
F !. ""?""'. ""Z
F C(S.(INIS.DH.(INI."
. "I ". ""4", ":.(
, . "(INI., . "Z
F .(.H.(." . "I ". "", ", "C[S\]D. "7"74"Z
F ' 7 >, ,Z
F '", " 7
B4, " "
"7 E
RR(S4(INIS4TY7T
H77 "
"I(INI
".(INI.. "" 7
3"E ^ ,R(S.(INIS.T7
. ", 4(S.(INI4S._
-
@A5" $
"
'' "
-+
34,
!%##
{{S = s, A = a} | Sommet(Nom_Sommet = s, Altitude = a) eta > 8100}
{{S = s, F = f, A = a} |Conqute(Grimpeur = "Messner", Nom_Sommet = s, Face = f)
et Sommet(Nom_Sommet = s, Altitude = a)}
{{G = g} | s (Conqute(Grimpeur = g, Nom_Sommet = s) etLocalisation(Nom_Sommet = s, Pays = "Pakistan")}
{{G = g} | s (Sommet(Nom_Sommet = s) Conqute(Grimpeur = g, Nom_Sommet = s)}
-
@A5" $
"
'' "
--
#
, .. ,","7""
', ","
" " " "". . "
Indfini
'".E
F . Nulle . :
, "Nulle, . Indfini
F # "
'""7"7L
".E
Vrai Faux Indfini
Vrai Vrai Faux Indfini
Faux Faux Faux Faux
Indfini Indfini Faux Indfini
Vrai Faux Indfini
Vrai Vrai Vrai Vrai
Faux Vrai Faux Indfini
Indfini Vrai Indfini Indfini
Vrai Faux
Faux Vrai
Indfini Indfini
-
@A5" $
"
'' "
-/
$
B# "." I4, " '' "
., 7"" 4
,,I, 4,I .". , "
,8, 7"" .".E
Premire_au_Npal(Nom_Sommet, Face, Altitude, Anne) =
{{Nom_Sommet = s, Face = f, Altitude = h, Anne = a} | Premire(Nom_Sommet = s, Face = f, Anne = a)
et Sommet(Nom_Sommet = s, Altitude = h)
et Localisation(Nom_Sommet = s, Pays = "Npal")}
", > "","" "7""
4"
4,,",2-11' ."(&-+
, > , >E
{{S = s} | Premire_au_Npal(Nom_Sommet = s, Altitude = h,Anne = 1954) et h > 8500}
-
@A5" $
"
,"! "
-0
+"
-
@A5" $
"
,"! "
-2
B>$%,> , , "77 "
, "!""I ", ,., "?9
$%" , 4, "E
Nom_Sommet Face Altitude Anne
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,
"
" ,:" .
-
@A5" $
"
,"! "
-&
6
: "U"J
"", 4"I?!. U" ,
9 >. J8"U
J
E
U>J
B,
7"
U\J"#"J.""
U 4,I,
E
{Nom_Sommet, Face} -> Face
{Nom_Sommet, Pays} -> {}
"."
%$%V2111W,
7"
"."".E
Nom_Sommet > Altitude
{Nom_Sommet, Face} > Anne
-
@A5" $
"
,"! "
/1
8
, " ,
7"
I,"
4,I?, " ,
Grimpeur \ VilleC.""D
Ville \ Pays," ,
Grimpeur \ PaysC,:
"D
3
,
; " "
"I; ?, " " '
".C4" 'DE
C9#D"JU U\J
CD"U\JX UX\JX
C#D"U\JJ\X U\X
%4" '," 4 ',, ",
; ,4 "E
Grimpeur Ville Ville Pays
Compagnoni Cortina Cortina Italie
Lacedelli Cortina Innsbruck Autriche
Buhl Innsbruck
"7 , .,
7"
-
@A5" $
"
,"! "
/-
17+
B "17+C1+6D", !
,
7"
"."U\JIU,
7 $:
","7
7 " ", " ,,
, "
,
", "
4,I "
Adresse(Rue, Ville, Code_postal)
.,
7"
{Rue, Ville} \ Code_postal
Code_postal \ VilleI4
"{Rue, Ville}
{Rue, Code_postal}
3,$; ,
{Rue, Code_postal} \ VilleICode_postal,,
3,> ,4 "E
RC(Rue, Code_postal)
CV(Code_postal, Ville)
"7 $:
,
,"", .,,
7"
{Rue, Ville} \ {Code_postal}.
-
@A5" $
"
,"! "
//
6#
#
8"":# "U
"J "CUIJIXD", 4"I?!.
U" ,
9 >. J
. ,
,. X8"U
J
E
U\\J
% "Localisation,
".E
Nom_Sommet ->> Pays
"ConquteE
{Nom_Sommet, Face} ->> Grimpeur
-
@A5" $
"
,"! "
/0
8
#
3
,
%I7"
".I
" " "I7 % , ' "!".E
(D8, !" "I"#I
, "%,
"B
D)"4" "",+7 I
! !% "
>B,> B >
">
", ,
SELECTNFROMNWHERE ,.> B
", AS
-
@A5" $
"
2
EES
*
Y''.*
Y"C''aASbD
''EES
+
Y
+EES
(
Y''
Y+'$
N
(EESY$4''
''EESa''.b
EES
COUNT(*)
'*(aDISTINCTb+)
'*EES
CCOUNTYSUMYAVGYMAXYMIND
-
@A5" $
"
2
EES
'
YNOT
YCANDYORD
Y()
'EES
''
Y''('
Y
Y',''(
Y',''
Y'*'(
''EES+aNOTbLIKE''$4
''('EES''(ISaNOTbNULL
EES
''C=YY>YY
-
@A5" $
"
2+
C
,? >
SELECTNFROMNWHERENGROUP BYNHAVINGNORDER BYN
)/ "7L".E
(8 ", " ""FROM8"
)(
8 ")(4"'". "7"
""WHERE8"
)
8 ' ,"') " (INIOGROUP BY8
")!"'7 [.(INI.OI'\H'
C' ,D"')". .(INI.O,
" (INIO
+8 "!' ,)4"'". "7"
""
HAVING8")+
-8, 9)+
7""SELECT !"'I
, "' '",,"' ,' , "
,[.(INI.O\8")-
/8 ")- " SORT BY8")/ ,?
>
-
@A5" $
"
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;
-
@A5" $
"
2/
9$!%##*
(
SELECT SOMMET.NOM_SOMMET, SOMMET.ALTITUDE, PREMIERE.FACE
FROM PREMIERE, SOMMET
WHERE PREMIERE.NOM_SOMMET = SOMMET.NOM_SOMMET
AND SOMMET.ALTITUDE > 8100;
""'PREMIERESOMMET, ::PS
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');
-
@A5" $
"
20
!!"#$%&'$($(%)$* +
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
-
@A5" $
"
22
,"-+.
/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);
-
@A5" $
"
2&
,"/+
$-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 = 'Npal')
AND NOM_SOMMET NOT IN (SELECT NOM_SOMMET
FROM LOCALISATION
WHERE PAYS = 'Chine');
-
@A5" $
"
&1
,"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'));
-
@A5" $
"
&(
,"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);
-
@A5" $
"
&
'!!
9
-
@A5" $
"
&
&?)@
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;
-
@A5" $
"
&+
!"##(
0$
(SELECT NOM_SOMMET
FROM SOMMET
WHERE ALTITUDE > 8500)
INTERSECT
(SELECT NOM_SOMMET
FROM LOCALISATION
WHERE PAYS = 'Npal')
EXCEPT
(SELECT NOM_SOMMET
FROM LOCALISATION
WHERE PAYS = 'Chine');
-
@A5" $
"
&-
D?
INSERT INTO''a("'')b
VALUES("()
Y;
(EES
+
YNULL
YUSER
YCURRENT_DATE
N
UPDATE''
SET"''S+
WHERE;
DELETE FROM''
WHERE;
-
@A5" $
"
&/
;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';
-
@A5" $
"
&0
9
B"
4, ,"4"' ", ,, 4.
"
3' "
4 , "" '
" .9"
" . "
"
+9
CREATEaUNIQUEbINDEX'*'+ON
''("'');
9
DROP INDEX'*'+;
;9
0+D/1-&E)0-F-.--A
CREATE UNIQUE INDEX PSF ON PREMIERE(NOM_SOMMET, FACE);
0+?/1-&E)[email protected]&-A
CREATE INDEX CSF ON CONQUETE(NOM_SOMMET, FACE);
/*+0/EA
DROP INDEX CSF;
-
@A5" $
"
&2
$
B.." >
B.,> "" >>" ,
I"?9 . . " "
""
+#
CREATE VIEWa("'')bAS;
#
DROP VIEW''(;
-
@A5" $
"
&&
;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 = 'Npal'
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;
-
@A5" $
"
(11
D?##
> "", "?9 .". "7"
""".E
F ."," DISTINCT
F !SELECT">
F FROM"" I>"7"
F WHERE"," >
F ."" "GROUP BYI"HAVING
-
@A5" $
"
(1(
-
) """"4"E
F
F
B",", ,
, !" ", ,,,
, '
F
" "," 4, ' !*I
, 4,"" ", , ,"
""'
-
@A5" $
"
(1
-
, "",".E
F !" ", 7"4, EXEC SQL
F " ",." . ", ' "E
, 7"4, E
. ." :,,".. ""
77
F B" , , " "', "'
77 . !"'?. ", '
F , ' ", . " "SQLCODE.
4"I " I" "
-
@A5" $
"
(1
.42
EXEC SQL BEGIN DECLARE SECTION
''(
EXEC SQL END DECLARE SECTION
1
EXEC SQL DECLARE '' CURSOR
FOR ;
-
@A5" $
"
(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 ;
-
@A5" $
"
(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;
-
@A5" $
"
(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 = 'Npal');
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;
-
@A5" $
"
c5"""' " (10
-
@A5" $
"
c5"""' " (12
;9
4"," 7L4, " ""' "$%E
F 7"""":, "I
F
"" . ",CCHECKDI
F 7""", "" ' "I
F "' I
F !
.9?" ", "
B7 '"""> . ""4"
$%. "7"" ", "PI . "7""
"> 7", !"?9 $%4"!",
""" PI",4? M.
B" 'I"#I7 E
V.
"""W
"!?"."
"". "7"B
",> . "7"""?9
!," ?4, " "!
-
@A5" $
"
c5"""' " (1&
5
B " ,
E
CREATE ASSERTION CHECK (
"")
", 4,$% "
".,:,
" ."E
EMPLOYE(NUM_EMP, NUM_DEPT, SALAIRE)
DEPARTEMENT(NUM_DEPT, NOM_DEPT, NB_EMP)
""' "EV),:, d! !"
, " ?(1111I4, ", "".E
CREATE ASSERTION CHECK
(NOT EXISTS
(SELECT *
FROM EMPLOYE
WHERE SALAIRE
-
@A5" $
"
c5"""' " ((1
"
3! "., >"?9
7"" ! I"7E
F ,"7" ."!""
":,"?9
CINSERTIUPDATEIDELETEDI ".
""?9 Z
F "
" "" ".I, ?,"?9 Z
F
?".,C".
" """,, "DZ
F "
""!.7
4, "
I?4, ",.> ,
WHEREZ
F " "? " 7 , Z
F "
" "" ", !,"?9 7"
, >
-
@A5" $
"
c5"""' " (((
+"
EES
CREATE TRIGGER
''$
(
ab
ab
;;
''$EES
BEFOREAFTERINSTEAD OF
(EES
CINSERTDELETEUPDATEaOF"''bDON''
EES
REFERENCINGCOLD ASNEW ASDEES
WHEN+'
EES
(")
aFOR EACH CROWSTATEMENTDb
-
@A5" $
"
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;
-
@A5" $
"
c7""" ((
+
-
@A5" $
"
c7""" ((+
/?
B$%"> , '."
",""?"" ?77
?"C#D
""7"""" 7"' , ,
,%, ,,!"",.> "" ?,
", ""'" ""
%#$% "
I9?, ' .
, "", >I" "I"7""
,, ",
"" ",> E
F "E"" " 9$%,
" "? ""
F "E"" " 9 " 9,
", "? ""
-
@A5" $
"
c7""" ((-
8#
.9 *", , 7""", ,"7"
7L 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" "
,
-
@A5" $
"
c7""" ((/
5
-
B"" , , "."'? "" ,
GRANT"," " ,
REVOKE
:44
".E
GRANTCALL PRIVILEGES"DON''''(TO CPUBLIC'*DaWITH GRANT OPTIONb
REVOKECALL PRIVILEGES"DON''''(FROM PUBLIC'*EES
CINSERTDELETEUPDATEa"''bDWITH GRANT OPTION " , "."'
-
@A5" $
"
c7""" ((0
;9
,,"" "" "EMPLOYEDEPARTEMENT""
.AFFECTATION3, 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
CA%,, " ,:D
-
@A5" $
"
8 '"",!:" ((&
/"
-
@A5" $
"
8 '"",!:" (1
,,$% "
" ""
!4"",
!:",O," 7"!" ",.
> , " ," "C$%" "D7
O'!""", E""","" I
,""?9 7"
,",, ,,""".> , 7
" 7 " . e, ""
" ,,V,WV!W """ ,I
":" >I,"I?"" " ,
"7 ",
7" , ,","?,. "7"
"
""I$% "
""
4",
" !. "?,",
. , "
-
@A5" $
"
8 '"",!:" ((
"
B"O ",
,"
""
B7"!" ,", "
,,, 7"!" . " ,8""' ,!E
(E7"!" "
9E,," 7 ? "
",> 7"E
, I?, " ,"" I
, ' ,"'E, ' , ,!:"
,. "C4 ""4,
. ""D
E","" " ""
,> 7"E
, ,"" I
, ' ," "'E, ." , ,"
"
+E , ," " ",,, G
,!
-
@A5" $
"
8 '"",!:" (
%7
,$% "
','
BO7"!" ,, "
,'
,!:", ,CI7II DHE
F ""7" "I
F 7""7" 7"!" I
F " ,""7
"' ,,' '"
7"!" 7
"
, ",H$%"7"!"
%I , "?CI D
-
@A5" $
"
8 '"",!:" (
/
B,',4,E
(e,E,:",
B , " "",?, " 7",'"
, " "
",,', '"
'"", "."",,'
""" "7"
O " (
,CI"D
,'OO,
-
@A5" $
"
8 '"",!:" (+
7
" ""7" !,7"E
F ""' ,I
F ,." : ?, " "
4
) "!""7"",.> ""E
( E""7" , ,!:"
!",",," "."H,
"> !','?""?9 '"
"
" E""7" , " "
? "!"",
,
, , ""7" ,?
,!:"
B"
4, "" , ,
,!:",
8
( !,77"E
F "(", ?,I":,,"
".""":
F ", ,
C"D
CD
,CI"D," "."
-
@A5" $
"
8 '"",!:" (-
7
$
3,.> , E
F 7 4 I
F 7 "", , ' ,,""
7
3. , " "I",M "
3 '" (,(,
, ,', ,I"",". ,I
, , "
,, " "
-
@A5" $
"
8 '"",!:" (+1
;9H51E9I)
"". '" E"IIeIIO:O
"
"
"
e
"
e
O:O
"
"
e
"
-
@A5" $
"
8 '"",!:" (+(
"". '" EeI"I
"
"
ee
O:O
O:O
"
"
e
"
e
O:O
"
"
"
ee
O:O
"
"
"
ee
-
@A5" $
"
8 '"",!:" (+
,, "". '" EO:O
"
e
"
"
e
"
"
"
e
"
e
-
@A5" $
"
8 '"",!:" (+
8
8,,"
4, "" " '" ,S
4(
F 4"M! !C?" !
D'KCD ! ! '"
", " 'KCDM"I,"
!M,'O "
F ",,E
,'"+111I
' ," "2
":(1/ '" "
4
S(11'-1C(1/DS+7+", .
'" %!"H " "" I
"77"
F ,IP" ",, "
, , "
?'KCDI?" ?!
-
@A5" $
"
8 '"",!:" (++
F"
B"
4?, !!',> '"47L"77 E
F . , " I
F , "
, " '"". , " ,"I 4,I
'"" , "
/
B"
4?, !!'". , " ,CI=IID
HE
F " ,""7
F =""",,"?, " "
, " 1(I,,""CV!!WD
F ,'IO "I '"
!?7 CDHE
I
"7 ""
F , " !"C1g"g(D
!GC.."D,' '"
=CDS"
-
@A5" $
"
8 '"",!:" (+-
'"" , 7"' ".E
1
(
(
-
@A5" $
"
8 '"",!:" (+/
""
7"!!',,"?I,, > !G
I? " 3 " , "
1(
%' IH,". " "
. ": ":,
,!I",," " 7"!!'
"9".I?" IE
(]=C(D]=CD
8 "7""""" "" , "
"7
4!","""."","'%4I
"?, " I O'
.
. =CD "E
J #=CD ".""O, " >
?!"" , "
J 8&8, , """ O !"=CD
'V4"7W "" ""
-
@A5" $
"
8 '"",!:" (+0
/
""
C'" ! ! '"
D
" ,'"?=CD9? . ,'""
'" E '" ! !
!G"
'" ! !4",
&
-
@A5" $
"
8 '"",!:" (+2
C'"" . '" "7 ""D
! ! '"
"4"
"'
" ,'"?=CD9? . ",
,77", . '"
"4"
J" '" E" " "
C!G"D
.,'
9 !G,'"?=CD
J" '"
&
&
-
@A5" $
"
8 '"",!:" (+&
C'",, " '" D
! ! '"
"4",
"'
,, " '" ,'""
,'."."
,, " ?9 !G,'
&
&
-
@A5" $
"
8 '"",!:" (-1
;9
8 ""
4, "" "Dictionnaire.,
".E
F S-E , " -I
F ,' '" 4"I
F =CDSC D-
".
!!""
"
"
-
@A5" $
"
8 '"",!:" (-(
, " " , I"
4, ""
"Dictionnaire7 ".E
+
1
(
O:Oe
e
"
"
-
@A5" $
"
8 '"",!:" (-
/
8,." """ , " "
4,'"'
!!
" ?,'
'" ! !"
4, "" "Dictionnaire
".E
O:Oe
e
"
"
1
(
+
-
@A5" $
"
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" '"
-
@A5" $
"
c" > (--
0
-
@A5" $
"
c" > (-/
?$% "
" . '' >C"
I,.D, 7 . >
"
,,'' > "7E"" 4, " >
",7L: ,
8 , >
I"4"'
," '", " ,#$%!"" '"
,"
" > ",!E
(! > , "
C"I
9" I, 9"ID,, 0
/'" " ,4"P""%4
, , "","M. E
) 7 " > ".I
, , """.""."' "
3."P "!,
;#,4", ", ,!
!," ?,""" >
,""" >, ,4I"
,
,, " ' , >" "
!," "?,""" >,
",SELECTFROMWHERE
-
@A5" $
"
c" > (-0
"
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"".> ""
-
@A5" $
"
c" > (-2
+K
8
, ,'
3 , " ,'
, ' CD,'
CD "" "
.CIUD ' :
"U
"
CDS.CIR(INITD ' :
,
"C(INID
,CDS"C,KCDD :,, ,'
, "C,,,'
",>
"D
,CDS"C CDK,CDD ,',, "
.CIUD . "77
"U "
!"CIUD ! "
4 $<
"U "
."C4DS,,"" , " '?4
-
@A5" $
"
c" > (-&
"
SCI7D
" +K
-G / + DCDC
7S,C,US.D"
4 $
<
U
-G /
H(
H$ ++ DCD
DIC
DCDICC
AS?C(II7D
" +K
( ) GI DCDC(DC ( ++ 7S9C9US9JDC"9" ."
4 $
(/1
;#
, "","77"P"9"
" " 3"
G I E
F " "". "! "3
",, "I,," """7
F . """
F 7 ".", "
C, "
4"
'"D
-
@A5" $
"
c" > (/(
50
B > E
F 7" " , >I
F M "4, ' "
I
F " """ ,? >
" >,.> "?> >"
".
4,I >E
>,", >E
SELECT Q.D
FROM P, Q
WHERE P.A = 'a'
AND P.B = C.D
,
$S
%
Shh
-
@A5" $
"
c" > (/
8
!'H;
!2H8?7
"UU(U
7CU(D
U(U
U
7CU(D
7(7
7(
7
-
@A5" $
"
c" > (/
!)H87?
!AH8?7?
U(U
J(J
"J(U(
JU
U(U
UJU(J(
J(J
'CUD
7CU(D
'CUD7CU(D
-
@A5" $
"
c" > (/+
!*H+#?
!3H5#?
( (
(
(
-
@A5" $
"
c" > (/-
+"99
3! "I!"4,4",> 777L".E
() " >7 , "
" ".,,", , "
".""".",
, " ! ' ,4","
"?!, !! ",,"
3. P!,4"
+!"" ,P""
"."9 ! ,4"?
4" " .". " , >
4,I, 9" "E
C C (DDi
C (Di
" ."
''?(, SI(/21
, S-I//-21, S0I
3, "I"" '! "", "" ,
4"?.
-
@A5" $
"
c" > (//
?
9"7!,"""""" ""
", " ' ,
" >
8" > ""?, " E
F "
"""9", " ". I
F , 9"I
F 9" , , ". "
,4"' 7L".E
(5 >7 "9" I".""I
".", 9"
%, """ ,," 7 "
)(
%
"",",," 7 "
))I," ' , , > ",,"
7 ")(
+%
, 9"9" ?" 7 ")+
-3"" , 9"""
-
@A5" $
"
c" > (/0
;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 "
-
@A5" $
"
c" > (/2
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'DS+j
CLIVRE.ANNEE > 1985DS1j
CBIBLIOTHEQUE.NOM = 'Marseille'DS(1j
-
@A5" $
"
c" > (/&
)(
. " , ",E
C ""I' ,I ,'D
PS(2+-/+?,'
C2I(&I(D
C(1111I00I2-D
C2I1I(D
C(1111I(&I&/-D
C1I0I(D
C-1111I0&I(&0-D
C11111II+211DC(1111I+-I-D
E P L B
E.COTE = P.COTEKI'.L.3'.
P.ISBN = L.ISBNKI,3'*A.
E.DATE = 05/10/1996 ANDL.ANNEE > 1985 AND
B.VILLE = MarseilleKI(33
P.NOBIB = B.NOBIBKI2*2*
E.NOMKI2
-
@A5" $
"
c" > (01
)
PS00&?,'
E.NOMKI2
E.COTE = P.COTEKI))32'
P.ISBN = L.ISBNKI'.3L
{E.NOM, P.NOBIB}KI*
P.NOBIB = B.NOBIBKI)
{E.NOM, E.COTE}KI'3
E.DATE = '15/10/96'KI2)A
L.ANNEE > 1985KI2),.
B.NOM = 'Marseille'KI2
L.ISBNKIA,.
B.NOBIBKI2
E P L B
C(1111I+-I-D C-1111I0&I(&0-D C1I0I(D
C+11I+-I&D C(1111I0&I&-D CI0I(D
C11111II+211D
C(1111I(-I0-D
C21I2I+D
CII(D
C2I+I(D
C2I1I(D
C21II(D
C+11I/0I(+D
C+11I-I0D
-
@A5" $
"
c" > (0(
/?
!,""", ",, 9" 8
. 9" ,",",""" >
"
.. 9" "" 7 .
"?9"
""" 9" ?
" , "
4"?CV7
?WD"!9" , ,
'! "
E
, "":i "" '!9" "
," 9" 4,I":(/21
9" - "(1 "" '!
B "" '!9" " "4""
4
"9" "V,","W
8,,"" 9" ""
, " "I
, "' P.
(
+
-
@A5" $
"
c" > (0
""9
! ! " ,4"","
,, !I!#$%, , !6"" "!"E
F 8 ",4" "" '!
9" I9" , "." "
!,> "."9"
F 8 ",4"": "!,
"" '!9" . "
"77 9" "" ".!""?!
,I" "?9"
, " " I?,
P9" .9" 9? """8
!""",P""
F 8 ! !" ,, !, ' ":"
-
@A5" $
"
c , " (0
+
-
@A5" $
"
c , " (0+
+
B7 ', ' 4"7", $%
! ? !
B ""#!,> E"
, " I" ' > "
, "" , '"
" "
, "
. I#
#
B
7 '$%E. "I,II
" :,.".E
#
start ' "
read D
%
write D "
%
rollback
" "
commit 7" " "
-
@A5" $
"
c , " (0-
-+=&*/*)(LA
!
start
read A
A = A - S
write A
read B
B = B + S
write B
commit
),
-
@A5" $
"
c , " (0/
8
" ",. >,E"
B#$%" ",, , "".C"
, , "5+D
5"" ""7""77, "
'" $%I"" "
7" CcommitD"7""77
'" $%
.""4 "" "
"" , "7""
'" $%
+! B "7", $%! ?
! B! "
"' ". "7"
" B " > , , "
E," "
"" B7" "7" #$%' "
"7""77 ,
""" ."
E" ,"I,
:
4,""IV !W"I
-
@A5" $
"
c , " (00
8D
" * "",I,"
, ,. E
F , "?9 I
F ", , E
"! I
7" I
F , "
-
@A5" $
"
c , " (02
8?
1!' !2
S(1
read A
read A
A = A + 10
write A S1
A = A + 50
write A S/1
, " , ). "." S01,")(9-1?)
"9(15" , "S/1
-
@A5" $
"
c , " (0&
-
@A5" $
"
c , " (21
-
@A5" $
"
c , " (2(
1!' !2
S(1
read A
C(1D
A = 20
write A S1
read A
C1D
)""7","" ?! >. ,
5" , ")"(1,"1
-
@A5" $
"
c , " (2
;9
, "", , * "
4" "
377I "4, I":,
, 5! I"",,"
P,
","?4 "
7L? "".?4" "
"E4""
"""",7"" 7L".E
F 4" """I, ,
"I., .
F %44"> "#"
"E
">.I
, ">7"$%
F B4" """
""4"4" "".
-
@A5" $
"
c , " (2
+
! !4" "".?4"
"I,7" 4," '".
, " "
"8,(, " ")(8,, " "
)
F "8,(8,, , >
I 8,(8,
,
F "8,(8,, >
%E
8,(Sread D8,Sread DE8,(8,, 4
)()">. %
8,(Sread D8,Swrite DE8,(8,,,
)(". D."7"", ) I.
D"7", )
8,(Swrite D8,Sread DE8,(8,,, ,
"""" ,
8,(Swrite D8,Swrite DE8,(8,,, I
, !", " " ,>. %C ",
)( ", ) D
%4, """,, "
?4 "
"77 ",, &
%, '"I4, ",, ?4 "
"77 7""", >
4", " "
B4" """,> 7
4" ""., ", ", "
7"
-
@A5" $
"
c , " (2+
;9
4" C(D "" ,> 7 CD"
4" "I, ", ", "7"
".E
F , "read B)(.read A)I
F , "write B)(.write A)I
F , "write B)(.read A)I
C(D CD
!' !2
read A
write A
read A
read B
write A
write B
read B
write B
!' !2
read A
write A
read B
write B
read A
write A
read B
write B
-
@A5" $
"
c , " (2-
#
'"
" "#$% ,, , "
! ""
!",",, ." , ?
#E! ". "
" ",
" " 4 ":
. "'' , 7 #$%",,
:" >?"" "
?. " IH,
#8, " , 7
, " , ", . "' "C
" , 4,D
"7"""#
%
8,. " E
F . "I
F ,. I
F ,'7"!" ,I
F "'I
F $%
-
@A5" $
"
c , " (2/
#
. "'. "#$%? %49
7""E
F C DE
."
I
F 9CMDE
."7"
'" '"4".E
(B. , ',>
". 9?
,
4>, '
B. 4"7,>
".
9?,
'" '". "',.> 4, ",
U "".E
+ U
"
U
H5C"I9D"
"". ",>
. 9:9?,
-
@A5" $
"
c , " (20
/#
4, "".' . "'94, "
" "E
/
lock m D
.
%
unlock D . "'
%
-
@A5" $
"
c , " (22
$D9"
B ""E
F ".
." "
I
F " . . "
B "?9"""7 ", ." "
. " ,E""'".
,!#
, !""?. . , 7" "
"CcommitD
4" "?4,!
""I?".?4" " """
"""" " .
3",:." ", "?9 I" ", , I"
, "
-
@A5" $
"
c , " (2&
;
8?
1!' !2
S(1
lock X A
read A
lock X A
A = A + 10
write A
S1
unlock A
read A
A = A + 50
write A
unlock A S01
. "', )("')?
)(" ""?9
. "
:,, "?9
-
@A5" $
"
c , " (&1
-
@A5" $
"
c , " (&(
!)(" .)"
)(
"". .".)
-
@A5" $
"
c , " (&
1!' !2
S(1
lock S A
read A
C(1D
lock X A
read A
C(1D
unlock A
A = 20
write A S1
. "', ) ,4 ,>!)(?
"7" 4 )""47">.
"(1
-
@A5" $
"
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
-
@A5" $
"
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", %CD")"
)9" .
%, :, .
' ,!4,"".E
":"7" " '
$CD
CD
)
)(
-
@A5" $
"
c , " (&-
%4!",.> "", " 'E
F #E,, ".". I, 4,
? ". ".
'I"7"4
",4
" ,
.
F
E"""" ', " ",?
" . '" ' ,!, "" '
, "%7" "
,,
" ' ". I!"".
,"
-
@A5" $
"
c , " (&/
,
#$%,.> "' "E
F 5, ." ?" , ' I
4,"""" > , ., '"
"
"
F 8I, 4,?",
'" " , ",
'" "
F 8B, "
'" "
,
'"
" , "#$% ,, , """
"" "
"" , ",
" >
" , "V?!WI,> ""
,"I,,: 9 "' "
. "
, ", ,
",'? M. 3"
" ," '" $% !".'"?9 4
,"
-
@A5" $
"
c , " (&0
/
-
@A5" $
"
c , " (&2
-+
!' !2
start
(T1 start)
lock X A
read A
CS(-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
-
@A5" $
"
c , " (&&
8
B 9 ""
"H
7"E
F "" I
F
", " " ," , "
." 7 "
" ," , "I"7E
(" " . "I
" " " I
" "C,D
, "
I
+ " (checkpoint)9 I
- " " 9 "
-
@A5" $
"
c , " 11
;
!' !2
C(D start
CD lock X A
CD 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
-
@A5" $
"
c , " 1(
5
)(" ,I, ", " ,
, , """)("> 7"I"",", "".E
F . )(, $"> ., $""
F " . . ."."?9 , )(C-D
F . , )C(1D ,
I,
"?9 7", ), > " E"77" )
F % "," E. "> 7"C
"?7" D
-
@A5" $
"
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, commitB
"7" " "$%
-
@A5" $
"
c , " 1
+
,
."I, " "' "E
(# "?
9 '" "I, 7"""," , "
#..
,. "
,." " "7 7" "?9
" "...
". ."
"9
, , """
"," 77"
%"?9 ""I
"7 7" "?9 " "."
.
". ." "9
-
@A5" $
"
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 " .. %$%
-
@A5" $
"
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 " . %$%
-
@A5" $
"
c$""' ,!" 10
1"
-
@A5" $
"
c$""' ,!" 12
% 4. '
' "
, "" I","6""4" ."?, , "
$AI: "
E,I , "I
= I(&&0
%AI "4
I ")!"!"'I
; I(&&2
%I%! "?,,""I%$OB". "I(&&-
# "#I$%
9k "
I3: I "I(&&&
# :AI I) " "',
)!"I5 '
l7I(&&
" !eIl !=;I !I%:,I5# m
="I(&&0
BA%I%
lm'$Cm.DI, "
IC(&22I(&2&D