Professional Documents
Culture Documents
PostgreSQL - Tutorial
PostgreSQL - Tutorial
Editado por
Thomas Lockhart
Tutorial de PostgreSQL
!#"$
%'&()*+,$-/.()
0%132547698;:<>=@?
:2BADCE8;FGC8;:6/H 25478ICEJ%C#KMLENNEOQPRN
S138#:T0192 476/8;:2UT 1GV#CET3WX:;Y
:TZ1RSAD:I[4/U8;1G\S]
Tabla de contenidos
^_`badce fghghghgZghgZghgZghghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZgZghghgZghghghg ghghghgZghghghg ghghghgZghghgZghgZghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZgZghghgZghghghg ghghghgZghghghg ghghghghgZghgZghgZghghghg ghghghgZghghghg ghghghgZghghgZgZghg
??
i g%jkl cfm_n9l eIfkgZghghgZgZghghghgZghgZghgZghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZghgZghgZghghghghg ghghghgZghghghg ghghghgZghgZghgZghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZghgZghghgZghghghg ghghghgZghghghg ghghghgZghgZghgZghghghgZgZg
??
o9"
p , qsrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr ??
t u v()Qw v3Q drZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhr
x d-/Q s t . xyrhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhr ??
??
3Q d3z%{wrZr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhr ??
3Q d!
"D$|r rhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhr
} -9 d->~ v Q~u dErhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhr ??
d-/
rhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhr ??
9 rhrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr ??
rZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr ??
??
& E*+rhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhr ??
%-/rhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhr
!# % *+ d) )5*+ v
d -9
%% r rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr ??
rZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr ??
xE()Qsx-9d 3QE%'r rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhr ??
??
g%^wgZghg ghghghgZghghghg ghghghghgZgZghghgZghghghg ghghghgZghghghg ghghghgZghgZghgZghghghgZgZghghgZghghghg ghghghgZghghghgZgZghghghgZgZghghgZghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZgZghghgZghghghg ghghghghgZghghgZgZghghghgZgZghghgZghghghg ghghghgZghghghg ghg
??
-9)rhrhrhr rhrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr ??
*+
d -9)% r7rZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZr
??
*+)Q,-/) ~&¡ r rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhr ??
¢ -9) d, d d£ Q d-9)rhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhr
¤ d -9)rZrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhr ??
¦¥ -9
d-9)
rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhr ??
¦¥ -9
d-9) &
rZrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhr ??
¤ d -9)-/)QE ¦¥ -9
-9)%rhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhr ??
??
$ d)
§I v!#"$|rZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhr ??
!# -9rZrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr ??
¨)-9 D% 'r7rZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhr rhr ??
)
-9 Qrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhr ??
!#x3Q * Qr rhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhr ??
!#"D$©*+ rhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhr ??
ª g%«c¬_e lIn9l _caXg ghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZghgZghgZghghghg ghghghgZghghghg ghghghghgZghgZghgZghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZghgZghgZghghghg ghghghgZghghghghg ghghghgZghgZghgZghghghgZgZghghgZghghghg ghghghgZghg
??
Q )-9 Q,
Q -9Q
wr rhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhr ??
rZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr
??
® g%¯`+°±%akmfgZghgZghghgZgZghghghgZgZghghgZghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZgZghghgZghghghghg ghghghgZghghgZgZghghghgZghgZghgZghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZgZghghghgZghghghg ghghghgZghghgZgZghghghgZghgZghgZghghghg ghg
??
)¨
) )Q)r7rhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhr
§I -9
-9
) ) -9QuD rZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhr ??
??
} *+)3Q)
) t vQ
rZrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr
d-9©
)w3 QwrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhr ??
} -/-9 d X~
)w rZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhr ??
??
*+)%) , % ²rhrZrZrhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhr ??
³ g%¯´kµ_ad¶ ~m~n9fk·/_´5l ad·²ghghg ghghghgZghghghg ghghghgZghgZghgZghghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZgZghghgZghghghg ghghghgZghghghg ghghghgZghghgZghgZghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZgZg
??
)Q')Q E%-/QurZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhr ??
)-9 QrhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhr
d-9
)w)
duv-/ rhrhrhr rhrhrhrZrhrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhr ??
??
$ )%)
)w-9 -9©)Q)-9²rhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhr ??
)
~
)w-9 ¦rZrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhr
d -9-9)*+ d) -9)
Qs!#$ &rZrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr ??
¸ ),
)) d )Q -9 'rhrZrZrhrhrhrZrZrhrhrZrhrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhr ??
} -9Q
¹d-/) r7rhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhr ??
t E
r rhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr ??
º
)-9) ds v-9§Q
)QMrZrZrhrhrhrZrhrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhr ??
??
»
¼ g%½acan9lIc¾ ·9l e5n9ad·¦«¦¿ak±adma·sm~^©%k©Àf·9l µc·%ghgZgZghghgZghghghg ghghghgZghghghg ghghghgZghghgZgZghghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZgZghghgZghg
??
Á d)-/r rhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZr
 d à } Q*+-/rhrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZr ??
 -9Q ¦rhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhrhr rhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr ??
&*+ v&
u / Â §I v d dQ *+ rZrhr rhrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhrZrZrhrhrhrZrhrZrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhr ??
??
¥ -/%Ed-9 3Q-9sud)¹%)rZr rhrhrhrZrhrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhrhrhrZrhrZrhrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrhrZrhrhrZrZrhrhrhrZrZrhrhrZrhrhrhr rhrhrhrZrhrhrhr rhr ??
Ä e Å´ e fµca%ƾ asgZghghghgZgZghghghgZghgZghgZghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZgZghghgZghghghg ghghghghgZghghgZgZghghghgZghgZghgZghghghg ghghghgZghghghg ghghghgZghghgZgZghghghgZghgZghgZghghghghg ghghghgZghghghg ghghghgZghgZghgZghghghg ghghghgZghg
??
Ç
Sumario
Q È d3%ERE)*+ )Q D dM ) ²EQ*+ )Q )-9 w *+
Ã
%-/£ º )u E%É %5)M t . x/Ȳ
©) dE| d£*+
-/()
-9)-9 Q ¡ % ¦ -9) ¦ ) %¡d§I Q
()E *+ d¹
%¡3) ~ b
)%v dv Qv-/*+ -9 r ¢ B-9
EQ D )
§I
!
"D$z
Ê !
"D$ È
) dË )-9-9) d3Èx© Ì d)Ë DQv QrdQÃ
d!"$b ¦
| -/ d) )Q w*+)Í-/x-9 dEQy -/y)
t dE. x#r
Î
×
Capítulo 1. Introduction
w-/
*+ d) )*M)
%E d)3Q *+ *+ )*+ d) %3 d¦
QQ !#"D$Ø¡È@E)*+ )Q © %Ù £ º )u dEÉ E)
t . dx
r9 !#"$+ ¥ ÚQ d Ûr
Ü r/x -9 y È
)©¡ ) ¦-9() !
Q E%. QÈ#
)¹¡u dEv%Ã
)*+¨-/% v
ݨ-9 w ºDº©Þ } )-9 x -9Q~ 5)u -9
} u)¹d| ©M )| ºDº } } È ¢ ¨-9)b 5)u Q-9É
} *+)w } ¢ È%
)-9 -/)~ )-9~ ! È%x!#$È5)-#r
¿Qué es Postgres?
$X *+%X '*+) d)*+ )Qw t % X %-/) QE%-/) d t !#Èh
*+ s
v-/)
)w-9 d-/-9 v d-/) s-/)*+Ã
BÈX
-/) d) ß
D
£ ²Ë d-/¨-9Xr
£ *+%-9*+ -9 D-9Ã
d3È
v ²v v)-9
x d)
*+pdE-9~
) ©à %) È d) È-9 )%
-9Ed-9 pd d3Ȳ-/%) %² D*+) QE%x -9()r# ¥ ) *+ )Q ->)-9Ù
d
*+ ¥ ) d-/
)~%s-9-9) ,5
Q
E%, -9 D vQr*+Ã
M d-9)
3Q
xb*+ ² duw dÙ
áâ*+-9%£ Q)á/r
!
M *+È-9*+| D()D*+ )-9)%È d3Q*+-9ËQ*+p+()%-/ *+
x|¨-9²
*+ *+ d) -9 D-9 ²-/%-/) rd3Q dv -9
) d)-/-9)²
Ã
%)-/)-9E%w3
)Q -9
|-/)-9 Q%-/) dw ¥ -9 dË
)u
yw
vs
s
Ì ) dX ¥ -/*+ d) v d
3Q *+
-9
() )-9
)-/)
¢ Q -/%E-9Q BQ-/%s² Q )-9wxà Ì©-9) Þ
ï
El proyecto Postgres de Berkeley
$v*+ d*+ )Q-9 t £!w3Q ds-9*+ )¹D zö%÷r>$ -9)-9 Q,)-9 Ã
E d *+
© )Q¡ d|øù å'úåëÔ ûêyÕüýÕ9ëæhû)Óâåë x ¨)-9| *+ d
)-/%² /-/© +øù å,ýÕ9ëæhû)Óåë¡úDÒ9æ Ò'þÿÕ9ìåè rB² )© ²3Q *+ D
-/QM Ù d3 *+*+ )Qb Ùøù åúDåëÔ û)êbÕüæ ù åýÕ/ëæ7ûÓå ë ÐèÖåë~Ï ëæ åÑ r%$y-9x
d-9
, w*+-9 )%*+ )
© d % dMøù å'ýÕ9ëæhû)Óâåë,Ïæ Õ9ÓÒGû)å
Ï %ëæ åÑ r
Q ¦()%3,us u3) ¦*+² )Q d3 w d) )-9 r/E*M ,3Ã
d*+ y
-9) zö xÙ
*+QE%Ë dÝ ) )-9 } £Ã
!
í ¢ z%öör$)¹*+'  dE Èd -/Qv øù åõ ÑñèåÑåêæ Ò/æ ÔÖÕ/êÕü ýÕ/ëæhû)Óåë Èd
),-/,
s ÌQ E, ¸
) z%öz)r>
d3Qv~
)w-9Q-/v
*+
3Q *+¦ , @ ð Õ/ÑÑDåêæ Ò9
Ó ¦Õ9êæ ù å)ýÕ9ëæhû)Óâåë ,ÐèåëÏ ëæ åÑ È9pd3Q s
s ) )
ê
,Ðèå
ë ýÓÕ9é>åìÐÓâå
ë ð,Ò9é ù ÔÖêûMÒ/ê ì Ôå ë¦Ôê|úDÒ9æ Ò/ãBÒ9ëå¦Ï ëæ åÑë xM  dE
È
| d
¸
)D zz ÈD)-9E%)r$ Â /-9 zz x )
)v*+ d*+ )Ã
%-/s*+Í d@ @ *+-9 )*+ d) È/
D §Q d-/
Q² ,-9)
%@*+ E§IE
xM
Ë3Q *+y -9â
y ~)
duXr%Ë
Ù*+x²EQ È~
)Q ~u dÃ
) s() w d)¹%*+ )Q ~Q z{v5u * ¥ ¡%§Q 3 v-9 d) *+ E§IE%'
EQxw¨¡r
Q , *+w vw*+ *+ d) -9© *+
-/(),-9-9) , v)u d -9
xy
-/-9 r) v d Þ
3Q *+ ~ ¥ ¡ v ¡¨))-9 È#
d v
*+)QE¹%-/Ù d)*+ )QM *+Q d -9-9)È
) w
Ã
*+ )Q ¦ d 'xu 3Q *+%, ¦) *+-9 ¥ ¨-9)rE&*+py (~
Ã
¹~-/*+D
)() *+ )Q d
-/% u¦ u
)u r )%*+ ) dÈ5
QE
5) E*+% M&# d-/()) d
Q *+ )Q %E,5) E*+Ì *+ -9
x++-9*+ d-/%¹@r%Q ~ +y3 dv X²E)-9 v Q²E dXx d-/Q
-9 ) ¨-/ -9*M
-9 !#
d ~¨) ds zz
r
% *+ )~ s-9*+
) s
E ÌQ E)@-9%3 s
²-/
)Q zz râ)
D()¹u|
D ²*+)Q )*+ )QM ²-9©x|%vQ d~ D D d3Q+-9
Ã
)Q *+
¦ ¦ d-/%E s)u -9 r>
d3
¹
-9 d3Q
-9
È% x -9QQ *+)¨-9*+ d) v-9 Â dEÛr
r
Postgres95
zzÛdÈ } )
x ¸ x () ) y
©)Qp Q v )
~!
"D$|wQÃ
dr z{~
-9D~-9)Q)
X-/y d%E
v )-9) ~
|Ã
()
d-9 d+ ²*+
)-/*+
+ -9 ) )Q *+)Í-9©x©-9
-9) s t . x
r
-/+ z{y
%Q| } !# xb3
Ý %*+ )M
-9M dÙ
{ Ùr
-9()~-9*+~ )w*+ E§IE+ )*+ d) |x| -9Ù *+) d)*+ )Ã
XrdQ z{u r r Ìy3 E§I -9
db E)©
à { * ¥ v ¥ © d+ -9)I
t )-9()*+.-9*+²E%²-9 Q uÛr
r } d* ¥ |-/ d-/-9É M dE BÈ@p %
y )-9 ,*+ E§IE Þ
! X d)
-/)
w
d
d *+¹dM-9Ù!#"D$ *+ d*+ ) %+
u r$3
-9)3
Qy)Ý
£3EQ() M d!
"D$ u * ¥
§I È + ¡ *+
% +Q z{-9+
)-/) v!#"$Ë ¨)
@r$%~
)-9) d /v
db *+ d*+ ) %rd&#*MpdË )%
)~*+ *+ )Q-9 v-/ ¥
3
~í ¢ º t r$) ¹ libpq ² E*+%) -9Ã
) vv*+%, d3-9 s d r
! } * ¥ ²²E*+ D*+) E¹%-9)È D)-9
xM
+)
u|*+ psql
%E d¹%-9)3
Q¡!#"D$©)Q E%-/Qu
3)w ví yº readline r
ó"
! º )y)
u dE ) dE ¹È È y-9 )Q ww dË&-9âr º
libpgtcl
() v §Q d*+È -9()ÈEQ~)
u, d) &-9~)Q -9
@-9 *+Ã
Q@Q z{v *+ tcl
! !
v duw)Q ¹~-9©d§I Qs) dr$¡d§I ¦E%) , v5)u ©5
d
,Í)-9£*+ -9)*+ß²E+*+%-/ d)d§I E) dy ,3Q *+b +%-9()u
)u dE
d*+) r
! !# | *+)£Q*+p d¡ *+b | y+)u ¡ M) %)-/%È'¡ Éy
) s-9*+ d3-9
r
! !#
x-9y d
-/
)Q
u Q
E%
)
-/ d)%,-9-Q QÃ
-9 -9*+
) ds v!#"D$©x z{)r
! !
v
Q¹í yº *+. ~5 du ¹w t !
ÿ*+. ~w-9*+²-9 r9 z{~Q*+Ã
pv X-9*+D-/y
y-/-,y-9() ' #()% 3 ¡-9
d*+
) -9 uE% )Q
+ r
PostgreSQL
z%z÷È
3 ()¹ u )Q
²)*+ $#Q z{%) D ) *+Ã
Xr d*+
D)
u)*+ È/Q !#"D$È9¡ à §Q² d-9 )Q s
)²xu dE) * ¥ -9 )Q -9+-9%-/) !#"D$¡r } )*+*+|Q *+È()-9Ã
*+
¦ )Í*+ u ²EQ ÷)r Èduu )Dvv -9
)-93 d
)*+ )Q v' x d-/Q r
E)Q © d3%EÙ ©3Q d3z%{M3 ©()¹%Ý())-9p| £ )Q¨-/%x d) )
d*+¦ M d-9 *+Q¡ wQr + !#"$È
p) ()D%3%y
*+ )Q²-9-9 dâ -9@x-9-9d ÈB%
)
¦ dQE%§Q~-/)Q)Í D @ ¥ /r
$ )-/² *+ E§I, Q !#"D$©)-9
x Þ
! $~
w DQ()%©3
Q
w d²-/)Q D-9)-9
)-9*+
Ã
u )È -/
*+Q ~¦-9-9 ¦ ~3y -9Q
E-9)Q)
, x ) ¦-9)Ã
d)
)Q -9Q
¹-9Ù 3QÈx *+ -9% y d
-9 )Q s ,&
*+*+ )QE%¦3 s s% @ dE*+) d-/ s3) ¡¡-/)Ã
%r
! !
~()©*+ *+ )Qy*+ )Q ¦-9d-/Q Q-/s *+Q¡ w È#)-9
x )
-9)
%3È9u ) -QÈ9 d3Q-/-9) su% X-9*+² -/) )Q
x /,5Q r
! !
¡()' )w
)-9) X ) -9 d3 ¥ )²!
"D$z
Èd)-9
x )-9u
*+È
d) ¨-9 ¦ )Q -9*+%È E¹%² Q-/% ) d3È
-/)Ã
u Qsx ) v )Q s)sx( Ì#% -*+ dr
! $sQ,)Q )s()y*+ E§IÈ%)-/
x ))
u Q, d-/() Ê ()E
)*+²xEQ ~v ², d*+pd -/¡%-9) dr
! $u -/£ d@-9b X*+Qv Qw()©b)-9 d*+ ) %yÌ*+dÃ
*+ d) w M
% Ã Û È
x
bQ *+ wE)
w()D>§Qy ö w
u dÃ
÷r
)¹r
ó9ó
!
3% ¥ ,~ B v~~u 3
~-9*+ !#"$¡r
*+
Dí
} *M)3QE%¦u ¦ % E*+%vEQr
) dE%È ¡
d ~QE v-9
'3Q *+-/*+Q º )Ì Ê Ì-/
v-9*+ ~w -#r
Recursos
*M)
¥ %)¹) y )Q d Þ
&
Q
5)Q
-9-9~)
us
r -/
-9d-/Q -9 u)¹%²r
í
~ º 3
5) *+-9© ) dE
%E
3
%EÈ)-9
x v-9*+),xQ¡ r
í
~ d
E*+%
5) *+-9Ý%u)¹%²²E*M² -9-9) dr5)-9
x )b ²
x Ì#Q )| w
)-/) È# dE ~)Q 5%-/ d¦xy â ) ~-9Ã
-/) r
í
~ } *+)
5) *+-9© ) -9x*+)QE%-/ r$ ~ v
3EQXr
í
~ %²
5) E*+%-/£© G r
y-9
*+ )QÙ d%E
Ã
w dE)
%Ù-9)QE
x )bx -9Q+ ) (²y) E*+%-/
dI #+ -9-9) dw% /-9 Ù+ * ÐÔÒìåèýÓÕGûÓÒ9ÑDÒ9ìÕ9Ó r } -9Ã
*+ d) )-9
d * ÐÔÖÒ¦ìåè
ýÓÕGûÓÒ9ÑDÒ9ìÕ9Ó r
)
/)-/
) *+-9© d ~ v¡-9*+%)r } -9Q
%*+ ) )-/
,* ÐÔÒìåè
- ëÐÒ9ÓÔÕ r
} d*+s vp ~*+%)
%È()x ¡ -9
3,
~ v3 dEu ¥ vx
w~w) %Ã
-9x d
Q Þ
*+y
$ ¥ )% *+)
*+£ -/) d) £*+) *+-9ß -9Ã
*+)r
} "D5 /
)Q
$~ -9-/ v
)
)Q } " -9) d) v
~² d
)Q d)Ã
x ,3
)Q¡
vQ )
vu @-9~Q E*+~ dy
v v r
$ } Ù } £
$¦-9()u¦%*+¦$ } Ë } £ Q|) w
)¦-9)Ã
-/) r
ó.
!#
3Q/ s3Q d10#-9)Q ) )5*+-9
¦
)QE
-9) '))Ã
-/
x r Á x
©-9 ¥ %*+*+())-¦
w-9) d) d()Q-9y vs3Q
-9 D -9QE)-9@r }
¥ )-9)QQ) ) *+-9 r
$ E
$w3Q ~-/ dà d) 32 -9()u Ø54 d ¡
©
d©
'%Ew-9) Q'
)Qr
º Q 76
Q @
-9 w ¡-9 dEQr *+QÈB ) ¡ s-9*+
)
%E
3EQ r } *+ D
*+ d¹
s È *+² ¹ ¥
) d Q%Ey
y%x
d)Ȳx v*+ b -/
*+ d) -9
© bQ~ -9 Xr )3 D-9)Q
¦
)rd!#² ) | dÃ
3-9
|
)M p-9
*+ È -9EMx|-9)QE
x)rd!# ) )
u
-/%Ed-9 Q-/%,%-9È( ¥ Er
}
%
'-/²-9)
dÌ# dE d)-/¦
d ²-/)-9E d-/-9)
x-9*+s*+ ) ,ww-9
*+ )Q-9)È
~ s
)w
d)~ *+w v *+ d¹r
à -9>Ø7Ø) -9()uØ Ü wwQ v-/ , ,
©
d©
'%Ew-9*+ )¹
3
,
r
Terminología
Ý-9
*+ )Q-9Ù3
)Q È ëÔÖæ5ÔÖÕ ëÔæ å
y)Q %v-/*+©* ¥
)
¥ ) %Q r%M
~3 ) %* ¥ ~
Ë-9§Q
w % Q w Ù
)*+*+* ¥
)Ȳ Q p*+)b )QÈ) E*M
* ¥ ¡² d-/È-9
d,-/§I
) -9)-9 Qy ~*+¡)¦x ¡ w ¡
Q ) r
ëÐñåÓÐëÐ)Ò9ÓÔÖÕ ©3Q dy ds
Ý*+ postgres
|
) ©
¨-/() d ¡3 d@ ¡Q@x) ¡ r *+D
E ¡ ¡
QÈ)D ²-/% ¦))
¦,*+ -9)*+ Q -9-/x
¦-9-9
-9
%
s ,@QX , E*+¡%EQE%Er } d* ¥ È/%%
d
~ , @ ,
*+ w E§I -9
QsE%*+ w D
) *+ )Q ) ¥ M)
ErB& )D |-/
d) D
3
d
w êÕ )*+*+
Eb º )Ì©5
-9)-9-9*+ ÓâÕ/Õ9æ r%
3
%Eb dE7
d) @
d) ¨-9'
- õ ú )Q v-/ d¹%) ,
¡r
Ò9ìÑÔêÔëæ ÓÒ9ìÕ9ÓìåèÒ ãBÒ9ëå@ìåìÒ9æ Õ/ë ìÒ9æ Ò/ãBÒ9ëåÒ9ìÑDÔÖêÔÖëæ ÓÒ9æ Õ/Ó t } ÈB ' 3) )Ã
¦ ¦) % '-9y*M -9)*+ ()%-/ d-9
*+²@
) -9 ¦
Ã
|w
|Q r/ t }
d ~ ))
du
E¡², d*+pQy -9EQy* ¥
d)Q x*+)Q ) d
y-9§Q
)Q %3 d, Q )Q~
3@-9 createdb r
postmaster -9 d3y
-9 Í-9*+
)²
dEQD -9) ) -/ dâ)Ã5()
/
s Q-/) X3Q *+¡Q rG$-9-9) X ) d)3 ,-9) -9 % post-
master
È
*+) d) v 3Q' , /s d
3Q *+~x v-/*+
)-9-9 )Q
~-9 ~-9. )¡rd postmaster
d -9 Q¡u~
*+ )Q~ DÃ
) ¦ s d) @²E¡) ¦
)Q3
-9*+ *+ d) 'râ!# d*+%È9 -9)
*+ )Qs s) d-/ dE3 v) d) wQE%§Q%@-9©u,Qs-9
)
v)
E§I -9
~wv*+) ~' d5 d-/QXr
²-9. d)Ù DQ v *+ E§I -9
Q postgres d M
d D E§I -9
%¦ d
²
3
%E -9Q*+ d) + | s) p Q | + ) d M
3
%E MQ
-/y
)*+ ¦~ -/*+
y%
*+ )Q r!
y d*+È%()-9 X Q Ã
ó8
*+)w
Q5 / -9*+ xy
w w-9~-9
Q*+ Ê 3QÈ
) ¥ -9*+ d)D
3Q*+
Q
Xr
Notación
#)rhrhr % /usr/local/pgsql/ ) v ~
)*M ~ ~¨-9() ~
3w%Ew ² / )Q
-9*+)5% ( -9Q()*+ v d
r
M)È@-/-9() d
#:9 %x;#<
% )-/£
)M Ì £Ù©-9u Ã
-9)âr
d¡-9 )Q wu
#:= %> x #:? % x©
D-9)Q )Edu dEQ-9 ¦
#@A%
)-9~
v d '
)~ ,-9) ¡
v3 d E u -9 dr
@ E§I *+ÈBp) d3
#
%,x # % ,
3%D%Es%
Ì /3) X )r
#@A%~ d) ¢ r
$w E§I *+*+3Q ¥ Ë ) ~ E§I -9
d3 u%Ev-9
) %wxb*+dr%$
d) ' E§I -9
% ~-9
)Q~ d
) % ¥ y² d- %,²B #C7%r$%, )
E§I -9
¡v-9
)Qv d#
²
3
%E ¦ % ¥ y -9 )'D #'E%È
*+ )QED
) d E§I -9
Q |-9
)Q| y
£
Ë£u d
% ¥ Ý -9 /F #G%r$ ) ~ !
"D$£ d3Q ¥ -9 )F #H IJ%+)
% ¥ -9 ds')Í*+QÈ% ² ) )
-9) ÌQ@r
!
) ' dÌ#QÈ9u
)Q~ dD d% d
~ 3EQ , dX d3 u d*+Ã
zz%÷È%) d) -9) %)-/v ))Í©² *+ y
-9 s dÃ
-9)-9,-/%*+, v -9()v Q) ) D
%
v r
!
s w )5*+ ) d) -9)3Q)-9 Ì#Q )-9 w) *+ w
*+¦ # d -9
d )-9
'
¡ B)È% -9*+
©
È ©u dE) y ©3Q d -9 )Q Ý ©+u EÉ%-/Q
ârE*+
() d d3 dE%² *+ Ì3Q )È%vw
v()%x) %Ã
xD -9%-/-9Qu¦ ¦'
' d %' -9E ¡ r
! ¡|
²
Q¡ È
-9
()-9 D D -9()
-9E
)+)Í*+ )+ ¥ Ë-9
*+ )Qw dÙyí
y
º 3
%EØ -9
¦Q¡ vQr3~ )¡ -9E ¦-9¡)Í*+ 3È
wQE%)3-9|)¨-9Qu d z È)y )
% (# §EKr # Ã Ã % %w3 ~)Q Q~-9*+
#
z à d à %È%*+ )Qs
F #%÷zà à % %w )Q Q~-/*+L #
÷dzà à %)r
óM
! $~ *+%w Quw% d -9
% Ë ! ¢ 5Q *+y dEQu X
Qps)3Q~ @ d-9)@-9¦ )-9 sáâ¡ -9()¦-9
á s
d
)xw ¡ /-/ d)² *+ , d% d -9
d
-9) r
E §Q%3 ~&() wí)
+d§I -9IØ x&() 5) Q
BØ w d
)3-9
|* ¥ ¦Ã
)w3 v
) y d d-/Q
% ÈQ-/
*+ )Q v y
~Q ) ~
wu d'-9©
² 3
-9 -9 È%-9@
v)()x
v%Er
Notas
r )( Q ÞZÊÊ 3R âr Ê
r ()Q ÞZÊÊ
.Ã Qsr !r t â. dx
r º©Þ ö %)Ê ² Ê Q r ()Q*+
r ()Q ÞZÊÊ Z>r
)r -9* Ê
Û)r ()Q ÞZÊÊ Z>r ) *+̲r -/* Ê
{)r ()Q ÞZÊÊ Z>r 3-#r d
Ê
)Ê )& Ê !
Ê
.&()*+ r ()Q*+
÷)r *+ Þ x
Jc~) *+̲r -9*
)r ()Q ÞZÊÊ () R,r -/r G. dx
r
Êed §Qx Ê
ö)r âr
z)r *+ Þ IÃ d) 5 cw² /3âr
r%() Q ÞhÊÊ Zfyr !#"$¡r ¢ í Ê *+()- Ê 3Ã5 ) dE Ê
ó »
9 r *+Q Þ IÃ5-9)cw âr
%r () Q ÞhÊÊ Zfyr !#"$¡r ¢ í Ê *+()- Ê 3Ã5-9 Ê
%r *+Q Þ -9)cw âr
Û)r%*+Q Þ -9.()%E`cw
*+)âr -/Q -9( r
{)r%() Q ÞhÊÊ Zfyr ² âr Ê -/ Ê
3 d Ê QQx r () *
÷)r%() Q ÞhÊÊ Zfyr )
sr Ê
% Ê x
d r ()Q*+
)r%() Q ÞhÊÊ %)
r dEâr -9* Ê Ê x
.@r ()Q*+
óÇ
Capítulo 2. SQL
¦-/%Q
² -9D)E%*+ ) -/*+D ¦ ~Q -/Q# !# dy!
*MÃ
.u-/r ÏÔh
Ñ g9SÕ YÔÖé>
ë ó%ïï× r
!
"D$ |()b-9)u dEQ ß s )
>§Q | |-9)3
Q d-9),* ¥
Er,)*+Ã
+ #!#"D$J%© d
)|% /uQ
Ïæ5ÓÐéEæ5ÐÓâåìfiÐåÓ
N Ò/êdû)ÐÒâûå $ )
§I y-/)
-9
r/ z ÛD) ()*+ +x©Q d¨ + d² )
>§Q !
" º $
Ïæ ÓÐé>æ ÐÓå, ì jêû)èÖÔë ù iÐåÓ N Ò9êûÐÒGû)å © t d3 d-/( r3Q w d)
§I ~
~*+ *+ )QÃ
D)-/%*+ ) y
yQ t *+D!#" º $kà a 'z Û
à {r 'z ÷Ã
d¨)
) duM w!
" º ²$b*+!#" º $ Ê#
x© d)*+ -9*+y
!
"D$¡r
t Ú GD
)
uQ *+!
x * d z rE!#x3Q * *+ *+ d)
Ë%*++3
-9§Q
+ !#" º $ Ê#
)l !#"$ xb
Ë)Í*+ M -9*+w
y
()-9 Ë ) Ú!
"D$
E%) dXx d-/Q@r!#x3Q * )3Q+
ËÍ*+ dM
w
È) %) M)Q )w Ù t -9*++
)-9 )Q -9-9)r
íE%-/%spÌ yx-9 %-/ ~!
x * ¡*+3*+/È t )-9 #y
-9Q-9*+ -9
D*+ d*+ )Q+ ² )
§I D!#"$3%²© +Q -9)
!
x d* r
E)Q s@ )@3
)Q Èd t xQ) d@ u ) /)
)-9D
-9Q
!
"D$y d'-/*+D!
"D$ Ê !w5 t È t
5 t È ¢ } $ ¢ -9 Esr ÈBí Ê !#"D$© D%
í ) sr È%x! t } !# !#x 5)-#r r
!
"D$£ D *+pÝ
£ d3 ¥ )~¨-/'()x#r zö
È } *+ -/% Q)'!#Q)²
5)Q
Q } !# )-9|
*+ p t %3 dv DD% , a Á
GM
)
¥
²
d3Q| )
>§Q © -/)' d3 )Er
QM
d3Q|
¨-9| d zöd÷Mx
-9) w ¥ 3-9*+ d)
d-/Q t !#"D$¡r> zö È% Q v ¥ ) } !#5
%*+pdb-9 d©¦ ¢ )¹->5)Q )-9)% D3Q)¹d-9 5! ¢ r/
u E| d3 ¥ ),) ~!
"D$+ d-/y) E*M*+ )Q )*+ w wáâ!
"D$ Ê ö÷á/r3
zödzÈ ¥ )%)@
Ì d)È)x+ d-/M d@)
u+)*+ dÈ)Q*+pË) Ã
*+È áâ!
"D$ Ê özdá/r&*+pË zözy #
¥ ) %-)%+*+
úDÒ9æ ÒãBÒ9ëå N Ò9êdû)ÐÒâûD å jÑDãBåì%ìåì~Ï i N !
"D$ r
$ -9*+ pd'5! ¢ x } !#() d3QQE§I)
E)Q ¡*+
-/() ) d ¨)-/
)u Ý*+
x*+% @ ¥ ))%È*++) *+*+ )Q Ï i N .
Ï i N ]'ï . rd u -9)u + b
¥ )Q¨-9)M
) zz
Þ õ5êæ åÓêÒ9ç
æ ÔÕ9êÒ9èÏæ Ò9êìÒ9Óìõ Ï ]âkõ jðßï " Î'» m óïï .úÒ/æ Ò9ãBÒ9ëå N Ò9êûÐÒGû)å Ï i N r/!
"D$ Ê z
du 3MD
)*+*+ )Q v )Q d¨ d s-9
)D() n!#"D$ ¥ )p o)r!
¦
)~ Ã
-9E-9b % !
"D$ z Ê
D
ú 9
Ò æ ¡
å 9
Ò
ê
ì
ú 9
Ò Ó
å ê
óïï Î r+ *+*+ )QM D -9
s-9
*+ )QÈB3 ¡ ¥ d3%EG)
)
uD d ¥ )%² )*+)) E*+%*+ )Ã
-9*+ Ï i N 8 r/!
)Q (-/ ds D!#"$b
+ )
§Q D-9)-9 -9*+ Q© &
)Ã
-9*+ d %)
È D d-/QÈ ¥ QD-9)
Q-9*+
Q È
E§I *+-9)
Q -9
Eu r/QD d
)DQ *+
x-/*+ E§Ix©², ) d
~¨)¹-9 )
u ¥ )X)Q , zz%zr
ó Î
º ) ãBÒ/ëå ì%å@ìÒ9æ Õ/ëXÓåèÖÒ/éEÔÕ9êÒ/è s
)v%3 Q,
3 -9 s
,-9*+
) éEÕ/èÖåé>éEÔUO9êìåæ5Ò9ãBèÒ9ë x)* ¥ '
¦ r º )vQ-/) d¨'xD-/
*+)È
'
-9¦¨v / )
y QÈBxD-/-9
*M)v /3 d)
QE
QD d
Ò tÒ9ëå¡ì%å¡úDÒ9æ Õ9ë¡ìå¡ýÓâSÕ Yååì%Õ/Óâås
3Q-9) d)| dD r N ë Óæ òéEÐèÕ9ë *+
QE
E§I *+ v% -/)3Q )Q ~ Qr
! ! º $5 d
)
-9 y )Í*+ ! ¢ È) ')*M y ! } x
-9
5& v
²u Er
! } &y
) ¦
¦*+-9 )¦ )Í*M 5 ¢ d)*+ ¦ } £ xD -
Q-9
@r
! !
$$!%*+-9 )) E*+-9Ë
p -9
©5 ¢ vu d)M
pÃ
u @ ! ¢ rE3Qu v d
)Q%Ev-/) -9 %%ssQ )Q r
¯¶ `+°´ f 'u i g%a Ä a%·/vmval f·¡mvÀcf¿%mfc·xw«cl ¾ n/_´ f·
$wQ } &£xË! º $
Ùu v-9*+ åêæ ÔÖìÒ/ì%åë xË!#$$)!|
d u d
-9*+
) ÓåèÖÒ/éEÔUO9ê d)
-/
D -9
Xx
©u d B -9
Er
*+u *+s* ¥ ¡ % È%!#"$M w ¡Q, -9*+()© ¨)È
)Q d
/*+s~Q v *+ %-/)âr
º ) -9© ¡-9
d,
-9§Q
)1 Q 2
-9Qy-/%EQ ) ~
)1yy y* 2 ¥ ¡*+Ã
) Þ R { D D rhrhr D r
1 y 2 y y k
ó×
E§I *+È {(0,a),(0,b),(1,a)} ,
)w d-9:(# v() d-/() ,
©
-9§I
)
D1 y D2 *+ )-9D)Q r
$*+ *+
)M -9É %*+£
r %© -9 Í£
-9Q
-9EQ d) D D rhrhr D -9 ¡
Q ) ¦)u d k xD ¡ Q *+ '
-/§I
Q
kà Q
r 1 y 2 y y k
º )¡ %-/D3 ¡
,u d-9*+
) ¡ -9*+x¦ §I*+Èd d-
N | Ò tÒ9ëå²ìåúDÒ9æ Õ9ë
ìåXýÓSÕ Yååì%Õ/Óâåë Óæ òÖé>ÐèÕ9ë ) -9
²v / ) -/*+D
)~¨vx-/%-9
*+Ã
)~-9 ) ~
-9*+²) Q wQ
)r>))*+ , *+
-9
*+)È)¡-9 -*+,w~ ¨)-9
åë RdÐå>ÑDÒsÓâåèÒ9é>ÔÖÕ/êÒ9è r
º å
ë RBÐå>ÑDÒÓåèÖÒ/éEÔÕ9êÒ9è @
-9§Q
)Q¨)Q ¡
È È
rhrhr r Á x
*+)
R b } H } H È/ ¡) ¦ ¡ *+A1A2uA k s'
r
DiÈd²E¦-9¦QE
Q A iÈ i k
) )-9 , -/*+s ds
d*+w d-)-9*+ R(A , A , ... A ) r
1 2 k
Nota: Un esquema relacional es sólo un juego de plantillas mientras que una relación es
un ejemplo de un esquema relacional. La relación consiste en las tuplas (y pueden ser
vistas como una tabla); no así el esquema relacional.
! ) è û)åãBÓX
Ò ,åèÖÒ/éEÔÕ9êÒ/è X
)¦)Q-9 dE%-/dÈ/ ¡-9
%X-/)
X3 s dÌ#
²-/ B, -9¹%²¡~%s d-9) dr
! | ð W9èéEÐèB
Õ ,åèÒ9é>ÔÕ9êÒ9è d@
)¡) -9-9È/) ,X-/)
X3 s dÌ# / E*M
Ã
)
), d -/-9) ,-9s
v
, w
d3Qv dy -9 Er
óï
Álgebra Relacional
Ò ,åèÒ9é>ÔÕ9êÒ9è
)Q
-9¡¡r r z
r )/Q |
+-9§I
Q
è û)åãBÓ
-9) d,-9©%, d-9) r
! !
$ &Ëp >Þ Ì#Q æ ÐñèÒ9ë ¦
) -9
Q b
) QE-9-9
%r!# R
)wQ~
v-9) ) ~
QE
Q A r
pI H;=h } HM:?%)
t
)Qw
)~Q
w R x t(A) d)Q~ u d%
A z v~Q
t r
! ¢ ¸ &£A >Þ Ì Ò9æ ÓÔãBÐæ Õ/ë -/
*+) d-/¨-/
) d-/ r!
d R
)
d-9y
-/)Q )
y%
X 1r > R H;=hQ
a |
R
?hÈd) t X Qv u
d
X wQ
t r z
! ¢ º & >Þ -93Q
x ¦
-9 -9 d3%) ¦ %-/) râ!
d R
)Q
,)w y x k x S
)Q¡-9D)~5%EQx kÜ r R S @ %-9§I
)Q , k
î Ã Q
'-9
x Ø E*+ d -9*+) )Q ,5*+
)vQ
y v d x-/
x,ÍQ*+ Ø
kÜ
-9*+) d) s *+
)~Ø Q
²w S r
k R
kÜ
! º ¢ Þ
)Ý dy -9§I
) Qr%w
Q R x S x*+%s d d' *+*+) Èw
) R S s d-/§I
Q
Q
s
v ¥ d R S y,r
! & !# &
>Þ )Q
x ~)Q -9-/y v d -9§Q
)Q, %r
%,%,Q R x SÈ R S , -9§I
)Q v Q
²s
¥ R x SIsr3
)
u d
R x S Q ) *+*+E%)Xr
! Ã, >Þ
) D -/§I
) © B)-9D %%r/!
d R x S
)
uvQ¦-9+ )*+*+©E)Xr R Ã S )-9§Q
²
D ¥
R ² ) S r
! ¸ ¢ >Þ -/) -9Qv %¦3
vQE
Qv-9*+
) r!#
)Q-9
Q
Q AÈ B x C x S
)~Qv-9y,
CÈ D x E r Á x
y%
D-9*+Í
R
%Ey*+~ d-9) d3È) X
C r > ! H_ p S `
k p )A` > ! r%o9"
p
Q*+()-9 )
q E*+ d-9-9
*+'
-9Q-/Q ) R Sy r)Q)-9
d-/-9)*+@Q
-9
xu @%E¡ QE
Q-/*+Í C ¦y
%p k r
} () d) *+
) %
-9)Q ) %
¡u d-/ d¦x-/ d*+¦ Ã
C
*+))~-9
*M)
²-/r
¯¶ d`b°´ f u gkavjkkcdfe5kE~kaXBfe k|jkl cka
 %*+¦%Q¦
()%|
-/ du
%)y%3) -9 ²E
)
I§ r3!# %ys
) dsQ,d Þ
R A | B | C S C | D | E
--+--+-- --+--+--
1 | 2 | 3 3 | a | b
4 | 5 | 6 6 | c | d
7 | 8 | 9
R x S A | B | R.C | S.C | D | E
--+--+---+---+--+--
1 | 2 | 3 | 3 | a | b
1 | 2 | 3 | 6 | c | d
4 | 5 | 6 | 3 | a | b
."
4 | 5 | 6 | 6 | c | d
7 | 8 | 9 | 3 | a | b
7 | 8 | 9 | 6 | c | d
, d*+)²-9
*+)%X
-9% r ¹d*+@s
d) s -9 Þ
) p K `
k )A~
! xQ ) *+ Þ
SC
y
A | B | C | D | E
--+--+--+--+--
1 | 2 | 3 | a | b
4 | 5 | 6 | c | d
E
) -9-/Ùxb ¨)-/Ù* ¥ Q d ¤ dE d-9)%@ §I)
9 - èèÖÑDÒ
ê óï×× <
9 úDÒ9æIå óïï M <r
¯¶ `+°´ f 'u5ª g'Dkan/fk·9_´ l av_l e ´ eI±akmfL¥´5µÅ)ca,¦´ an9eIfka´
d -/-9
M() *+ E*M
% y² d -9) -/*+£-/%-9
d-/
dâw r  u*+©)
E§I *+Ë 3 d-/-9
Buw
ñ%åÓÒ9é>ÔÖÕ/êåëåêåèBþÿÕ9ìåèÖÕ¡ì%åúDÒ9æ Õ/B
ë åèÖÒ/éEÔÕ9êÒ9è ) %
v-/)-/ d'
.ó
)*+ s ~ ¦¡u /¦
wu d) EQ-9
Tornillos r
)Q
)
¹%) d ¥ v d-/)
-9w
)Q v dE%-/ Þ
§ (¨ (SUPPLIER © SELLS © PART))
SUPPLIER.SNAME PART.PNAME=’Tornillos’
$*+*+'v d3Q' -9) d'
)-9)
rE!## u
*+'v-9)
Q~)Q X-9)Q
Ò tÒ9ëåìåúDÒ9æ Õ/ëìåýÓSÕ YååìÕ9ÓåJ
Q ¡)
§Q d*+D N | ë Óæ òéEÐèÖÕ/ë Q ) *+
d) ~ E§I *+ Þ
SNAME
-----
Smith
Adams
Cálculo Relacional
¥ -9
-9) ,¦ èPOGû)ÔéEÒìå²ñÓÔÑDåÓÕ9Óì%åê r Á xwXu%E%) %- ¥ -9
d-/) Þ
! x ð W9èéEÐèÕV åèÒ9éEÔÕ9êÒ9è
ìåXúDÕ9ÑDÔÖêÔÖÕ/ë È%) v uE% d y-9*+) )Q
QE
Q %sQ
r
! x ð W9èéEÐèÖÕ åèÒ9é>ÔÖÕ/êÒ9èìå ø Ðñ%èÒ9ë &() ~ø ÐñèÖåB,åèÖÒ/æ ÔÖÕ/êÒ9èð,Ò9èéEÐèÖÐë & È) v%suÃ
dEyQ
r
{x(SNAME) ª x « SUPPLIER
¬ \nonumber
y « SELLS z « PART (y(SNO)=x(SNO) ¬ \nonumber
z(PNO)=y(PNO) ¬ \nonumber
z(PNAME)=’Tornillos’)} \nonumber
..
Álgebra Relacional contra Cálculo Relacional
¥ -9)%x - ¥ -9
y d-9) d) M *+*+ ñÕ9ìdåÓsì%åså
Qñ%ÓåëÔUO9ê ( dÃ
-9 È ,s-9)3
Q¡
w v
d *+
'
Q¹) ¥ ~ -9)%
%*+pd5*+
E ,
Q¹)w d- ¥ -9
~ d-9)È9xu-9 u )rR w
,v
¡r r 'z
r/ ¡ %3 M
+%EQ*+|
#d *+© D )
-9-/
J % *+ d)Q -/
) Ì /3+ âD - ¥ -9
-9)
²
-9 dÌ# /Ë3 d* ¥ ) -/*+ d) d
u )Q ¥ dE d-9)âr
)
-/
* ¥ s d %v v
)QÈ §Q b 9 úÒ9æ
å %óïï M <
x 9 - èèÑÒ/ê %óï×d× <>r
!
-/ u d-/ d
)
§I Ë - ¥ -9
+ -) yáâ* ¥
)u áDáâ* ¥ -9Quá
d ¥ %-/)#
d ¥ E
-9¨-9D G-9*+ d) ) © ¡ dE-9) È*+ )Q - ¥ -9
~
-/*+)Q d ¦
~ Q *+)~
du
%-/y* ¥ , ¨-/ ) r
El Lenguaje SQL
*+ | d-9y w* ¥ *+ ) )
>§Q d¦ -9)% È#!#"D$b d3 ¥ y | d
- ¥ -9
%-)%² Q
r *+ d3
QÈ
Q-9)
Q *+
D
Q¹) d
- ¥ -9
~ -9)% ¡Q
²
y d
u% ) dÈd ¥ E¡ d-9) ¦
s E*+
%
%*+pd
¹%)D!
"D$¡r Á x/Èd3y d*+È-9-9d '
u%* ¥ ¥ d#- ¥ -9
¥ w d-/))r }
Q ) d*+¦
)wQ v
)%¡-9E%-/Q /E3Q-9¡-9Ã
) !#"D$|
v) E*MEQ d ¥ Evx d- ¥ -9
d-9) Þ
Select
-9*+)* ¥ ¡
!#"$| dsw)
-9-9©!
$ &È
~3 v
Q¹w~ -9
/Ã
E%@ r$~) Ì, Þ
SELECT [ALL|DISTINCT]
{ * | expr_1 [AS c_alias_1] [, ...
[, expr_k [AS c_alias_k]]]}
FROM table_name_1 [t_alias_1]
[, ... [, table_name_n [t_alias_n]]]
[WHERE condition]
[GROUP BY name_of_attr_i
[,... [, name_of_attr_j]] [HAVING condition]]
[{UNION [ALL] | INTERSECT | EXCEPT} SELECT ...]
[ORDER BY name_of_attr_i [ASC|DESC]
[, ... [, name_of_attr_j [ASC|DESC]]]];
.8
5
/*+D()-9*+ §Q3 Ì )
-9-9!#$ &-9u%E E§I *+Ã
r$%sQ
¹s%Ev¡ §Q d*+s v ¨) )Þ N Ò tÒ9ëåìå@úDÒ9æ Õ/ëì%åýÓÕSYååç
ìÕ9Óå
ë Óæ òéEÐèÖÕ/ë r
Select sencillas
}
# d) *+¡
), E§I *+¡ )-9¡
¹%)v)3Q
-/-9©!#$ & Þ
.M
,
,¡²s ¢ t $QX,s-9u } ! )
uw
w ¡
)
-9
*+))r% yQp-9)-9
d
¹%E -9 d *+ )Q+ 3Qyd§I Qu+%E
)%²
D)
uQQ
w¡¦-9
*+)¦
%) rGQ s)
du~
-9 %-9¨-/% u
áâ
á/r>
% )
Q¹ Q D w-9)3
Q)r
Joins (Cruces)
d) ~ E§I *+*+
~-9*M äRÕ9ÔêëB® éEÓÐé>åë¯ %¹ !#"D$¡r
Ev-/
¹%Q ! º $ È } &|x!#$$!w up v
s%
s-9*+
) È
*+
/*+s~
)Q ~)
-9-/ Þ
SNAME | PNAME
-----+-----
Smith | Tornillos
Smith | Tuercas
Jones | Levas
Adams | Tornillos
Adams | Cerrojos
Blake | Tuercas
Blake | Cerrojos
Blake | Levas
|-9
¢ () *+)
-9
|¡)*+ %E-9 -9|Ã
D()x|QE
Qv-/b)*+ -/*+Í5! ¢ xM ¢ bv -9) r } () dÃ
*+@3Q)
@ d) ¡@
'-9)*+ ¡-/*+Í*+¨-9)%-/-9 ¡
B¨#§IM²)*+ ²Q
Q©-9Ë d²)*+ d²
| D
b
)Q@r$§I
-9-9
D *+*+ E*+%È
Q)-9*+ D*+
QED - êÒvõ êêåÓ ³>Õ/ÔÖf ê ® - êB
Ò ³>Õ9Ôêõ êæ5åÓç
êSÒ ¯ rd*+ M
-/Q|-9 d) Þ ! º $ } & !#$$)! } () -9-9)%Ã
*+Í)-9*+ d) w
%
¡
Q5%©y ¦-9)-/y ) ©D-9
Á ß d-/QÈ)DQ
Q-9)*+ y-/*+Í dÝ ~
d r )%*+ )Q
*+)*+,s-9
*+)¡ /Q,5!r ! } È%r } £ r
Operadores Agregados
!
"D$²-9)¦ @% ' -9*+ }  íÈ ¢ ºD &ÈB! º £È9 Èd } a
vQ*+
)*+ v
QE
Q-9*+
*+ ) Xr
u'
@ ddÃ
3 -9-/
Q, u ' -/
*+)w -9¨-9 yvQv-9*+ Q)r
. »
!
X d-/¨-9Ù
Ý-/)
Ȳ - ¥ -9
b3 ()-9 3 Du dw
-9v
u yw
) v -9-9 r
.Ç
*+s()~
)w*+E%~~
v ¥ -9
E )
Gr>E*+ dÈ §I %sQ
! º $5 x!#$$)! Þ
S.SNO | S.SNAME | SE.PNO
-----+------+-----
1 | Smith | 1
1 | Smith | 2
2 | Jones | 4
3 | Adams | 1
3 | Adams | 3
4 | Blake | 2
4 | Blake | 3
4 | Blake | 4
} )( | -9)*+
% dß
) ) D
©Q ) © d
*+*+QE
Q !r ! ¢ x!r ! } £ Þ
S.SNO | S.SNAME | SE.PNO
-----+------+-----
1 | Smith | 1
| 2
-----------------
2 | Jones | 4
-----------------
3 | Adams | 1
| 3
-----------------
4 | Blake | 2
| 3
| 4
|)
d3Q E§Q d*+ÈQ ) *+-9
% y
²x()E *+-9 dE
/ ¢ º &¦-9¦
Èd d) ) d3
QQQ ¦-9)
Q
)Q E*+ )Q r
Having
$w-9
Á } Â íÿ §ID v E*+*+
x /-9-9
, Á Èx3 ~
QÃ
¹-9)3 dE%+%
w
w
Q5%by-9
¨-/%-/b d
*+*+)rE$' dÌ# /) ds dE*+Q' v-9
Á } Â í d d)u
-9X
)-9Ã
) %r v Ì B|
~
-9 vy
,)¡ ¥ -9 dE v
Á ¡r È/ ¦ Ì
¦)u
-9 ¡
)-9) d dd
¦-/%
V
¦ /-/ d' yw-9
Á } Â ír
. Î
GROUP BY S.SNO, S.SNAME
Þ
HAVING COUNT(SE.PNO)
x d) *+
> 1;
Subconsultas
+-9
%F Á x Á } Â í D dE*+Q D
© D
-9)
v 3
d-/Q
-9
@
%') v v ¦
uEr -9È u%@ Eu@
u
-9 uv
-9)
R)rE
¦
-/)
,*+~
X Ì Ã
u !#"D$¡r
SELECT *
FROM PART
WHERE PRICE > (SELECT PRICE FROM PART
WHERE PNAME=’Tornillos’);
¥ Þ
PNO | PNAME | PRICE
---+---------+-----
3 | Cerrojos | 15
4 | Levas | 25
)v u3%*+¡-9)
¦)Q QÈ9 *+@u )¡s-9u ,!
$ &y@u Ã
-9 rE$E*+ dE#)-9 v-9)
~Ãv
) G *+ -/*+Dv!#$ &
Ì )wÃ)xy
) d©-9
, Á È#) ~ *+² ¹w
)-9)
)
Ã@)v B*+~ -9*+©!#$ &Ë)Q ))rd-9Q
!
$ &Ù ÌÃ
dE)È!#$ &M)Q ) ¥ u
r3&
¡-9w du%
-È
-9)-9 *+¦
B-9+ Q
*+b &#)) Èx+ *+w-9()
%X dX² d-/© Q
²
-9
s*+%xEr
!
d *+@-/)-/ d @u d /
s)u ) dD))ÍQ-9
~ E§I *+Ã
È%~ , *+) ~ v Q È%
¹% d*+ Þ
SELECT *
FROM SUPPLIER S
WHERE NOT EXISTS
(SELECT * FROM SELLS SE
WHERE SE.SNO = S.SNO);
Ù)
d3Q+ E§I *+Ȳ d) *+
Ë
|u-9È)
-9u u )Ã
*+ )
ÙQ-9
@r Q y
Q¹*+!r ! ¢ y!#$ &Ù Ì dE) dË
Á b !#$ &b)Q ))r *+() *+ -9EQy)Q È
-9)
Q
-9
3
$
w du%ÍwE-9wQ
~-/)
Ì )È ¡ -9QÈ du, ~!r ! ¢ w *+
*+ ~
w-9Q
~!#$ &© Ì dE))r
.×
Unión, Intersección, Excepción
-9) -9-9
%ÉM
)ÈX+)Q 3 d-/-9 x+ /)-9+ ©+ M
-9§I
) ¡ sQ
, u², ,3
-9)3
Qr
.ï
Definición de Datos
)
§I v!
"D$©)-9
x w
-9§Q
)Q -9*+)¡v ¨)-/ Qr
Create Table
²-9*+%)M
)*+ )Q² d¨)¦Qv v
-9
))
u -9+
)
u~ % rE$~) %Ì#, -9*+%) } &©& } t $ Þ
! X& í wÞ )Q D)E-9) vâw-9*+ Q~ , d-/ r
! # ! } $$² & Þ )Q )-93) *+ ~%E {~ , d-/ r
! } $ p 9hÈ q < >Þ )Í*+ ~ d-/*+%%-9)w p QX , -È9
*+
r/!# D*+ È3 3
*+
q D -9()DE ²
)Q| d-9*+ârB {ÂÁ p Á q ÃÁ q
vu r
! $ ¢ } & Þ )
*+p-9-9 v vx-/*+wàQ) r
! Á } n>Þ -9 d)v v-9-9Q )
M¨
§IÈ )
n r
! Â } Á } n>Þ -9 ) -9-9 d /, )Q
Mu /È )Q
M* ¥ Ì#*+ n r
8"
Create Index
!
¹%v)-9 v-9 d -9-9 |
y d-9 rd!#
) -9 R Q )
M)-/ M ²%
A *+ d-9
² s D
t
D d) t A H a
b
ÙQ *+M%Ì*+d*+ )Q ²-/))Í*+ M Q v
t * ¥ w
y
d*+-9)
%*+ ) R r
E-9 dX
)-9 v !#"$3 v
Q¹~ d-9*+) } &© J awr$v3)QÌs Þ
,)-9 M-/ d M*+) d) +%
Q* ¥ -9*+ d) r -9QÈ-9Mu ¹+
+
)b)
du
v3 v) Q v w -9! º $ È% v)Q ¥ )-9 v>r Q v
v dÍ)-9
-9*+
v
%E
v d-/@-9
) v-9 ~
)-9 v ,
)-9 d*+ )
~u -/¡r
Create View
!
y
yu ~
)|u3Q|-9*+Ë
) æ Ò9ãdèÖÄ Ò YÔÓæ ÐÒ9è È D d-/QÈ
) ©
) Ì#Q ü9òÖç
ëÔéEÒ9ÑDåêæ å QÈ /-9 X
|-9*++3 dÌ# d3 r-9) È
-9
%)()*+v
) æ Ò9ãBèÒ~ãBÒ/ëå È()x© d*+ )
+
u )Q D*+-9 d)²
-9v¨w ywQ~ Í3 *+-9 )*+ d) D -9@r
$¡u %¡) d) |% ¡*+%-/ d)¡²È
3Q)
d¦x -9*+ )Q ~*+-9 Ã
)rB+3
Ë
QÈ ² d*+*+-9 ) ¨)-9b DuQ -9QÈ %
~-9-9 ¡Q,%3 ~ -9*+ d) v*+%-/ d),w*+ dE¹%'u
Íy
s-9 ¥ s d
3Q *+w u Ï ëæ åÑ ð,Ò9æ Ò9èÕGû)ë r>v
)w-9
3
)Q pd-/)-9 ~*+ d*+ ) %u È ¨p v Ïõhþÿï× r
y!#"$|
Q¹w
-9*+) r ½ ¦¯x« Å,f¯ ÆjJ ¯ Ç ²Ev ¨)'
)~u r3$~3 Ìs d Þ
) select_stmt s
)v)3Q
-/-9| d-/u ¥ È%-9*+ v ¨) d ÏåèÖåé>æ r Ã
d3 ¡
select_stmt ) E§I -9
Q-9
) ¡-/ du3Q)râ!#*+ *+ )Q ¡*+-9 Ã
)w é>Ò9æ
W/èÖÕGûÕ9ë'ìåè
ëÔëæ åÑÒ xy v E§I -9
Q-9~u d¹w
~ v d¹~
)w-9)3
Q-/)QE
~u3Q)r
!
dw3
)Q d¨)-9| ~
)uQ
Q¹*+¦ ~)
uy¦Q¡ N Ò tÒ9ëå,ìå
úDÒ9æ Õë'ìå@ýÓâSÕ Yååì%Õ/ÓâåD
ë Óæ òé>ÐèÕ9ë >Þ
8ó
AS SELECT S.SNAME, P.PNAME
FROM SUPPLIER S, PART P, SELLS SE
WHERE S.SNO = SE.SNO AND
P.PNO = SE.PNO AND
S.CITY = ’London’;
SELECT *
FROM London_Suppliers
WHERE P.PNAME = ’Tornillos’;
SNAME | PNAME
-----+-------
Smith | Tornillos
!
¹v -/*+) ¢ M JaÙ%E *+)
)-9 Þ
8.
Manipulación de Datos
Insert Into
º ) yu ¹
-/ d
) % u ð,ÓâåÒ9æ å ø Ò9ãBèå Ȳ²
v )-9Ù
w*+ Ã
)Q
-9*+) j
È^¯J¦|ÅÙj
ÈZÅ|µ r3$~) Ì, Þ
E) @E*+ dE~Q
v dy~ d-/! º $5 N ÒstÒ9ëå@ìåXúDÒ9æ Õ/ëìå@ýÓâÕSYååç
ìÕ9Óå
ë Óæ òéEÐèÖÕ/ë
Q¹*+sv3
)Q ~)3Q
-/-9 Þ
Update
E-9*+s
)|* ¥ u d DQE
Q
+
) d-9)È3
¹
-9*+) º } &¡rE$v3)QÌs Þ
UPDATE table_name
SET name_of_attr_1 = value_1
[, ... [, name_of_attr_k = value_k]]
WHERE condition;
E¡-9*+% %u% %
%EQ-9
$&)) s¦ -9 } &È
¹%*+ Þ
UPDATE PART
SET PRICE = 15
WHERE PNAME = ’Tornillos’;
#) uDu%@ #% D © v-/ x)*+ XÖ&#E)IK ()E {)r
88
Delete
E,E%)
)¦Q
²¡ ,
)¡ ¡%EQ-9
;È9
¹%*+X %-/*+)v$& ¢ r
$~) %Ì#, Þ
System Catalogs
y *+ v v v ¡!#"D$|3 ~ d*+ é>Ò9æ
W9èÕGûÕ9ë'ìå'ëÔëæ åÑDÒ ~*+)Q )
-/)Q v
pQÈuQÈ#)-9 È# d -¦ ¥ ¨)s © ~ v% r3Q
-9 ¥ s d#3Q *+~ ²
d )u QX-9*+
¦-/
XQEv d-9)*+
Q %3 rv E§I *+Ȳ()xb
Ù-/% ¥ |
¹%+y d¨)-9Ý u3Qr3Q
-9 ¥ M*M-/ d)-9)
Q ¨)-9 Du )rB!
d*+ D
()-9 D
)
-9)
©-/) |uQÈ ' d*+| *+|*+ b éEÕ/êëÐèæ Òìå~ì%å Ê¡êÔéEUÔ O9êÙìå~èL
Ò YÔëæ Ò
¥
-9 xy*+% ¹dwuQ%) , ~-9 d B'-/-9)
Q
E5u
Ïõhþÿï× MQ )
b d3-9-9ß* ¥ Q rD §I | ú ~ø j |Q ) d
* ¥ ) *+-9 ,-/% ¥ , 3Q *+)r
SQL Embebido
d3Q¦3 d-/-9 u *+-9*+D ¡
s *+ d !#"$
)
§I ¦ s() sr r
r Á xy¦¹) ¡)-9 ¡,%¡
wE*+¡
Q¹ !#"D$ ~
)
§I v()3 Þ
C
! Á x-9)
Q
)© ²
d ©5*+
s
¹%)!#"D$b
¡ §Q d*+È
9- )3
Q' -9
Eu rE3 d-/%¹ ¦ d¹ '-/)
) d-/ d3Q*+'
)Ã
§I ()² *+x' Ì Bu
~!#"$sr
! !
*+² *+ )Q +
*+-9-9 ² dDM
)+ M © ©
)+-9-9ß
¥ -9 d d² )
§Q ²()35,r rB
b3Q *+ D uD D Q -9b
)
)Q 5%-/ s ¥ ¨-/ -9EQ¦ ÈBxD) E*M-/ ¡' d' ¥ *+-9 ) d
)~ vQ
v
-9-9
Q¹)!
"D$© *+ d r
º | E%*+D
Q¹D!
"D$ d*+ M
+ )
§I D w()3@-/) D dM)
-9Ã
-9) ~ )
§I X() )3Q
-/-9 dw Ïi N åÑDãBåãBÔì%Õ !#"$ r )
-9Ã
-9 !#"$Ù d*+ ¹-9Ùw²-9u J ¯ Ë,¯½ ^ r$%~)
-9-9 ~!
"D$
QE) E*+ )
-9-9 ' d# )
§I ()*+ )Q
ñÓâåéEÕ/ÑñÔÖèÒ9ìÕ9Ó
()
%*+ ) ) *+~©
y dE
y E§I -9
Ùu-9Ã
*+)s !
"D$ r
8M
)u *+'' E§I *+' ÏåèÖåé>æ Eu*+
¦ d3
Q ¡-9)3
Q'
*+
x|Ì*+©
M-/§I
) | D
%r/$*+xE D )
§I D()3X)
¥ )'¦² E%-/-9§Q
È ¡*+
¦) -9 %*+'
*+ d-/%)3*+
%-/-9 ) @v-9
Í)-9v -/§I
Q ¦
%' u
%'X
))3Q
-/-9
!
$ &Xr *+ -9)*+M²
d ²-)%M -9d)M
éEÐÓëÕ9Ó r%&
~ È
*+~
Q¹ d-/*+) & Á ²E d-/
/
)Q
xM%
) ¦ -9
E
()-9~~
d) vQ
)r
E,
)3-9
* ¥ @ d %s , %!#"$ *+ dÈ9 §I ,h
9 úDÒ9æIåÒ9êì¡úÒ/Ó åê
óïï Î < _È 9 úDÒ9æ
å óï%ï M < È
9 - èèÖÑDÒ9ê dóï×× <>r
8 »
8Ç
Capítulo 3. Arquitectura
8 Î
8×
Capítulo 4. Empezando
o *+ *+ d¹Xw §Q%'-93Q d3q
}
) v²3) -9 E
sQ ²
d M , d¹ds-/
Ã
ÈBx
)' d ¥ ¹d *+) ¡ ¡ ¦% râ
*+) dD dE)D
) 3
% dÈ#-9 y -9 ¦ ¡%3 d
% ¡ v)-9 -9 postmaster r> w² 3)w)Q ) v
~ 3
d
Ã
E º )Ì~ #%
% © d*+)QE%s d)3Q *+)r º ) 3)D
w)3Qsx
Q ©Q ) @
)w-9
)Q~ -9
Eu
!
@ ¥ )Q)Q È-9)3
Q D)
-9-9 )3Q-9 |í
} *+)QE%-/x B v~ d ~
w-9
)D()x~-9)-9
~)Q-9'r
) d Q *+)
%È-9
~ E§I *+b
u d
-/*+ )-9 y-/ -9 ¥ -/Q
#E%Ý d) w
y -/ ¥ Ù dÙ ) y d) w º )Ìr$ E§I *+
-9*+ d)¹-/ -9E%-/Q /r #²
%Ù ) v b )
§I -9)
y3Q d3È
Q !#"$sr
Configurando el entorno
D3 d-/-9b Ì#²) *+) D-9)¨
¡ ² d) E)È%v%-/%-/) r }
Ã
*+*+¡
~ ¦()) %y ~)-9-9E -9Q*+ d) (#-9)
wwí
d
} *+)QE%@x%,) %¡ )Q-9 v)3Q r
Q
)-/-9+-9 ) Ê uEr *+©
%EÈÍ)-9*+ )Q D) -9 -9Ã
-9 Ë| y-9 ) 5
Ù E§I *+Ù
)|-9-9-9 ) D '*+) )Q -9Ã
u psql *+-9È
*+ *+~
3Q d~()©)3Q© b -9Ã
/usr/local/pgsql r%+ %) È)) u y -9 /usr/local/pgsqlÈ
¥ 3
Q
Ëw ')*+ y d-9 Eb) 3Q d d py)3Q dÃ
*+ )Q r
&²E*+% Q ) %ß d ©-9 dß d' -9 E
r+Q) È d ¥ ' ) d3Q -Q+
Ù3() d
M © ) r!#
3M
)+u) © d () ¡ t E. dx/ÈQ -/*+Q-/(ßÝ-93()È
/usr/local/pgsql/bin
¥ ' )
% PATH=/usr/local/pgsql/bin:$PATH
% export PATH
M d²-/()u .profile
-9Q 3)ârd d3 ()E%È
*+ *+v
()
)) d# -9Qy 3Q d'
Q( r } * ¥ ÈB() *+' d G )-95 /-9
)Ã
d*+ ) #%-/)¨
²
)¦u
s ,() 5 %¦,
#%-/)¨
)¡u , , )QE)l%¦
~~ ' ,-9
*+ )Q@râ!#%)~ ) d) ,-9*+ d *+ d) , d%ÍQ*+w ¥ Iw%d d3² -9Ã
w*+¨-9-9+
bQ()È
%) -9) )
¡ G-9)3
Qs*+)
º )Ì
~ d3-9 y
()
v
Q¹)r
!
d,%*+) D *++)ÝQ ) |M-9)¨
E%-/ d£ s*+ݲD d -9 È
d) ¥
© ¹% §IË dÌ#QEr
§Q d*+È@ |* ¥
)M3 dEu %3 d
Q, ,
)* ¥
)w *+QÈ) -9 Q ¥ -9)¨
wu v ) )yí Á ¢ !#&
-9
)*+ v ~* ¥
)w3 dEu@ , Qr>&*+p d ¥ -9¨-/%
u ~ w )Q)í ¢ &¡rB!# w)-9,
|²E*+ w-9-9|xpQ
8ï
)Q¨-/
)©²
D-9) -9 postmasterÈ# d ¥ -/)
¦)*+)3Q
v
E
v
© ) ) ¥ -/)¨
-9
*+ )Q r
% psql template1
Connection to database ’postgres’ failed.
connectDB() failed: Is the postmaster running and accepting connections
at ’UNIX Socket’ on port ’5432’?
M"
Creación de una base de datos
*MD
d -9 /w
)© y Q%*+©*+x@r#
()-9 -9
)Q v Þ
% createdb mydb
!
)-9
)Qv-9y,Eu ,
-/ % % 3Èdu d ¥
)Ã
Þ
% createdb mydb
NOTICE:user "su nombre de usuario" is not allowed to create/destroy databases
createdb: database creation failed on mydb.
Q *+ w-9 ,-9
,)Í*+ d wQ dM
M3Q *+Dx
* ¥ Q-9*+ )Q y ¥ *+)3Q y y y%
-9 Xr%$)*+
QD Ù-9*+ )¹%v~
Ý-9 ¥ -9Q ~ dpd -9bx ¥ Ë*+ %
|
)|)Q
-/-Q r Ë
¥
¹D©
*+) ²
)¦3 QrG!# X s) d¡¡-9 d-/ ,QÈ
*+ d) ~ ¦ d
d%*+)3Q, 3Q *+()D ~ %E ~ *+
v()-9 Xr> v-9È%-9)3
Q v*+)QE@ *+r
!
§I -9
)+*+w y*+)Q¹-9Ý E§I *+ psql
-9
v dE*+Q y)Q
-9QÈ QXx E§I -9
Q ) d,!#"D$|) -9Qu*+ d)
! -9E )©
*+
)© 3
Q)w$ t "È-9
²
dE*+Q D )u¡ ) !#"$Ù d3 x|Q ) ¦*+ )§I ~ D
db3
ËÃ
E%*+)r w)Q 5%¹w ¡-9
* ¥ ¡ d)Q d©$ * ÐòÒì%å ýÓâÕGûÓÒ/ÑÒ9ìÕ/Óâåë'ìå'ýÕ9ëæ ç
û)ÓâåÏ i N
D §Q d-/
Q psqlÈsv E§I *+~ d+ *+)
ârd$|²
-9 uX~~ Q,*+x d3-9 )~ d Þ
% psql mydb
!
¥ ~ d)u d)~-9
) ~*+ d)3>§Q Þ
mydb=>
Mó
-9v -/%
*+ ¹%+¦ ²-9 ¥ -/Q 7#:Í%)rB¦ §Q *MÈ
) d¦
x
v-9 -9v ~) Ì¡ u%E ) !#"D$© , -/ ) Þ
mydb=> \h
º ) u ¹D
()x dE*+)%© )
-9-9)
QȲ
d Ds d-9) d)| d
-9D §I%
3 dEu s d-/ ) Þ
mydb=> \g
~-9 ~ u
w-/ d3 -9)3
Q)r3!#Q *+)D
M-9)
-/|
)Q
x|-9*+Èb #:Í# %| v) -9 )r psql -9 d ¥ %
Q* ¥ -9*+ d) D%~-9)3
Qv Ã
*+)-9
)Q|x+-9*+)rd ¦-9)
%~ d3 D
b%-9()uÈ*Mv*+x È
y
' )
-9E )Q -9 u*+ )Q È% -9 Þ
mydb=> \i nombreDelFichero
E' psql
x / º )Ì -/ Þ
mydb=> \q
x Q *+) ¥ xuu d ¥ ~~) dw ) rE v-9)-9 * ¥ s-9, -9Ã
È -9/Î Ï| ²*+² d*+)I r!# ~
¹%' d3%-/¦ )-9
psql
E§I *+M d3²-9È %
%¦x+ -9 ¥ -9 ¡ )
u) d dË%~-93
Qw!#"D$¡r$
) d¦*+ -9*+ d) %¦-/*+ )¹%Ms#Ð%)r9$
()x
p w
) d
() ¦ ¨) ¡) ¥ )E%@r$-9*+ )Q'*+ÍQ x'
¦-/
%* ¥
)~) w )%-9Z # Ê ²rhrZ1r ² Ê %
% dropdb mydb
-9-9 *+) -9*+ )Q ~ ¦-9()u º )Ì-/%sD ~ ~Q
x)
y d-/
dEdE dÈ%
v d ¥ ()-9 3 -/ -9
- r
M.
Capítulo 5. El Lenguaje de consultas
)
§I v v-9)
Qs v s s ds
)wu)Q
d3 ¥ )@!#"$ & Ã
) *+
-9()~ dÌ#Q )) d3ÈQ v-9*+MQw d*+ dÌ#Q ) È() )-9È
-9-9Mx5
)-9) rd +-9E%- dE3Q-9 *+% ) )
§I -9)
%
)
¡ "D
1r ÑQ -9-9y²-/)v
y*+ Xu ¹%D -9*+
3%Q ~!
"D$Ý ¹d -9) d )-9r$y)Q )-9Ù *+)
¦*+ *+ d) ²-/) ~
)D dD ~)
QEu 3M ~!#"D$bx) ¦
))ÍË*++
-9*M +Q
X%-/ d-y !
"D$¡r!# ()Ù d3-9 |)
*+ d
!#"D$È)-9
x )Â 9h$&z <)Ò 97 } &z <>rE& )v y-9
) v
) -9Ed-9Ã
dE3Q-9
)
§I v Ì d)3) , ¥ ) } !
>r
Monitor interactivo
s §Q d*+,
)È%
*+*+s
()~-/ /Dv ¦ Q *+x-9*+
-9E ¦ w
-9-9%) 'x
v()~E%)-/% psql r>$, E§I *+s
v% BÃ
-9 Q ,*+)
d %*+p3
d)-/)QE) /usr/local/pgsql/src/tutorial/ r
)
Q d¨-9() dM /-9 ©%E ,-9*+
r/%E *+ d¹
-9
Q
E()w3
)Q Þ
README
% cd /usr/local/pgsql/src/tutorial
% psql -s mydb
Welcome to the POSTGRESQL interactive sql monitor:
Please read the file COPYRIGHT for copyright terms of POSTGRESQL
mydb=> \i basics.sql
Conceptos
$w)-/|
)*+ d) d©3Q d¡ sw ~-/%3 dÈ
~ ¡
)-9 d-/-9© ~)Q)-9
v
d§I Q@r ~)3Q)-9wQ ) ~w*+3*M-9 -9-/ vQE
Qsx-9wQE
Q
ÙQ+ -9¨-9Xr ¥ vÍ)È-9) )-9
Ôìåêæ Ô Êsé>Ò9ìÕÓìåÕ9ãäRåæ Õ ¢
*+) )Q È
v Í)-/v%D Qv~) -9 r w
w)QÌ# !#"D$©()Ã
-9 w d5 / )-9 È
*+s¡ p*+) æ5Ò9ãBèÒ x é>èÖÒ/ëå )Q)R*+ )Q r } *+*+
Èh
) ÊsèÒ !#"$+
) ÔÖêëæ5Ò9êé>ÔÒ x©% é>Õ9èÐÑDêÒ9ë !#"D$ Ò/æ ÓÔÖãBÐæ Õ9ë r *+xD §I) dÃ
E*+ )Q È¡-9 s3 ~
¡ ¡x
)w-/ -9-9© v ¡ v
d3Q)~'
Í)-9-/ d postmaster -9)3Q
x ~
)~) %-/ Xr
M8
Creación de una nueva clase
-9 %¡
)
du-/%3 -9¨-/%)© d²)*+ D -9 DÈ d* ¥ DQ
,)*+ ds
x
sQ Þ
&# d)¡ -9
)Q¡
s@²â-/%u ,xwX ) ¨-9 3 d)3 d@¡*+xÍÃ
-9
,x*+)Í3-9
r$¡ )Q¨-/% d,
d @w3 d' ) ¡v*+xÍ-9
¡
*+)Í-/
3 © d) | )Q d-9*+ÈX -9*+ËÝ *+Q !#"$z
r
QÃ
d,!#"D$|3EQs ¡()Q
, v!#"$|-9*+ Þ )QÈà È dÈ3*+%) È-9()E È
u-() y È% ÈQ*+ ȲxM *+ d3Q*+È)-/*+bQ~ + ) xbQ~-9Ý
E-9-/§I
Q vQs d*+pd -9r3&#-9*+u d d*+,* ¥ ¡Q² dÈ# s²
v
-9)¨
Ë-9ß
É)Í*+ dÙEQÝ ©Q ©Q ¨)D d,
@r
) -9
) d*+ ) dȲ)*+ Qb)b3Ý) ¥ -9 -9*+ )Q ²â-9u È) ÌÃ
-9 D) v v
~%E~EQ'-9s d-/% s d ¥ )!#"D$z
r d)
* ¥ @ §QÈ -/*+) r ½ ¦¯s « Å ¯ @p) -9-9*+)
3-9 d
)
% # *+v d-)
d*+ rE!# *M%Èdu *+'
%,-9 'Q ) d
² d s
v3 Ì d)3) s
*+ d-9)âr
&#%*+pd
d ,
%-9*+ n9f°Jw ¦-9²) dX-9)Q sQX
¨-/() d@ } ! 5 rí ) *+ )Q s
s * ¥ @ ¥ ²w
¡'QX d
d3-9 -/*+
)Í)-9 )-9-9| -9 *+ d) % Q)@r º
E§I *+3 dE Þ
) ( #¨-9() d ¦ X-9-9 ¡3 dEuX%-/. )yÈ)D#-9 )Q È
xv
v u@ v
¨-9() d-/Qd*+ )
MM
xM
)-9
¨-9-9b
-9¨-9-9
%
¦ d3Q-/-9 rd¦ E§I *+ȲE
Q() QÈ% -9E Þ
-
@ , ¨s
+---------+------+------+----+--------+
|city | temp_lo | temp_hi | prcp | date |
+---------+------+------+----+--------+
|San Francisco | 46 | 50 | 0.25 | 11-27-1994 |
+---------+------+------+----+--------+
|San Francisco | 43 | 57 | 0 | 11-29-1994 |
+---------+------+------+----+--------+
|Hayward | 37 | 54 | | 11-29-1994 |
+---------+------+------+----+--------+
d3 d-/¨-9-9 % Ì sQ¡ Q)@râ) E§I *+È9 '()-9 Þ
$~ B~ )w akm È fc ) kflQ@
b
3% b-9
¨-/%-/b
-9
%
@-9)
r3' §Q d*+È
+---------+------+------+----+--------+
|city | temp_lo | temp_hi | prcp | date |
+---------+------+------+----+--------+
|San Francisco | 46 | 50 | 0.25 | 11-27-1994 |
+---------+------+------+----+--------+
*+
)Q ~¨)%È#
d ~ -9¨-/%'
~¦
, ~
| -9²
©3 d Ã
u
d s ÑDÒ9êåÓÒ¡Õ9ÓìåêÒ9ìÒ
%) Ôêëæ Ò9êéEÔÒ9ëìÐñèÔéEÒ9ìÒ9ë r
M »
Redireccionamiento de consultas SELECT
d-9)
Qw -9)
d @ /-/-9)w~
)~)
duw-9 Þ
*+ *+) dE*+-9Qv
y-9*+) n9c%al Èd-9 ¥ )3
v)
uv-9 Q *+
-9 '%
b)*+ dxË x D d-/¨-9 |Q| ) '-9*+) ·9´ n9l
e kl f rB) )-9 w *+Ȳ¦3
d3QÈ d¹%¦-9
¦ -9b D-/%3
)Q -9*+()%E*+, -9
d' ~-9 r
Nota: Esto es sólo un modelo conceptual. El verdadero join puede hacerse de una ma-
nera más eficaz, pero esto es invisible para el usuario.
*+¡()%-/ d d3Q-9v3
)Q ~-/)
Þ
+---------+---+----+----------+---+----+
|city | low | high | city | low | high |
+---------+---+----+----------+---+----+
|San Francisco | 43 | 57 | San Francisco | 46 | 50 |
+---------+---+----+----------+---+----+
|San Francisco | 37 | 54 | San Francisco | 46 | 50 |
+---------+---+----+----------+---+----+
Nota: : Los matices de este join están en que la cualificación es una expresión verdadera
definida por el producto cartesiano de las clases indicadas en la consulta. Para estas
instancias en el producto cartesiano cuya cualificación sea verdadera, Postgres calcula y
devuelve los valores especificados en la lista de destino. Postgres SQL no da ningún sig-
nificado a los valores duplicados en este tipo de expresiones. Esto significa que Postgres
en ocasiones recalcula la misma lista de destino varias veces. Esto ocurre frecuente-
mente cuando las expresiones booleanas se conectan con un "or". Para eliminar estos
duplicados, debe usar la declaración select distinct .
D ¡-93ÈB )Q$ -9*+/
3Q
'
))Q)-9 ¡¦-9 7 d () d
xy dÌ#Q ) d© Q%¡¦)Q)-9¡ ~-9 r35©Q E*+w ~*+xE
MÇ
¦ *+%s v , v% 7 x+
v-9)-9 |-9*+ ÓÒ9êdû)B å YÒ9ÓÔÒ9ãBèåx
ë ®
YÒ9ÓÔÖÒ/ãBèåë
ìå ÓÒ9êû)SÕ ¯ r º )D-9)
²
d w-/) d) ¡
M)Í*+ Q )*+ w-93 d
x
Q
-9) r
Actualizaciones
%-/Q
¹X)Q)-9s dÌ# d) d,
)
-9*+%)
% r!
)w
v Ã
-9
v
~ -9Q
Ew ~s d*+
,
ö u d*+ ~
E¡
dE
~Q *+ Q
E dârE
v%-/Q
¹d's s v*+) Þ
UPDATE weather
SET temp_hi = temp_hi - 2, temp_lo = temp_lo - 2
WHERE date > ’11/28/1994’;
Borrados
$sE 3 v()%-/ dy
3%) -9*+) m%´5dl Þ
&# 3Q $ % () s dEQ ) -9 Á xb+E%r9D d 3 d
B-9u-/,-/)
, w E*+
!
)w-9
¨-9-9)È m´I%l5 *+ d*+ )Q wE ¥ Q%s,) )-9s vw-9 vÃ
È E§ ¥ )vu%-/)r>
*+w) ¥ -9)¨*+-9©)Q , ()-9 @ Q@r
M Î
SELECT max(temp_lo) FROM weather;
!
#
*+s X
pv-9
-9
/s) v dy d3Q, *+² E%
È Ã
*+,%
)
)-9) ¥ w
~
)-9*+Ì )y
v3 d'
w fÓZÏ c r!
*+
È# *M¡ d)Qw-/)
~ uw-/%
v
-9*+r3
-9
)
) ëÐãBëåèå>é>éEÔÕ9ê Þ
SELECT city FROM weather WHERE temp_lo = (SELECT max(temp_lo) FROM weat-
her);
$b
x© d-9E d- Èx©
y©
3 d -9-/
) dE-9) d) )Q
-9-9
|~
)-9
*+Q
v d d
3 d -9) Ì dEEr
$¦
)-9) dv
²+ *Mpd+*+
x©ÍQ -9*+ ¥ )-9M-9 ¥
3
% û)ÓÕ9Ðñ
ã
r%v E§I *+Ȳ *+ ) dvy *+ dE%
*+)*+ *+y Ë-/%-9
-9 Þ
w)*+*+¦ d3
Q3È# y w-9
¡-/MQ *+ Q
E%¡§I-/ dXr Ã
)*+ )Q È)©)) d d3%|-9
d¦-9
xv)*+ *+² -9 Ms
È Ã
E*+,()%-/ d Þ
&# d)w -9
)Qw
~ *+s-9@w -9-9 d)*+ ~ -9
| EÓZÏ c È
x
)D) -9
)-/) , -9§I
)QXr33QD '* ¥ ¨-/%¹
)Xv d3Q-/-9
ÄÏ a¿e k)µ Èh dyD
uQ*+()%-/ d,- ¥ -9
EQ¦¨
ÓZÏ c r
)%3y d¨Qr
M×
Capítulo 6. Características Avanzadas de SQL en Postgres
Á )-/
dEQ¦ -9 ¡ ¥ -9¦ ~ ~!
"D$%Ew-9-9 ) ¦QÈÃ
-9
Q *+()E
%-/%E-9Q âQ-/% 3Q d
Q)
d yD d3Ã
w y w y% -9)u -9) r3Q-9-9 dâ -9)-9
x Ý() )-9ÈQ*+
u u§Q w *+² xu ¡)Ã Q*+-9 ~ ¡ Q
Q¦s ©u -9Ã
¡x-9§Q
)Q r9$s E§Q d*+ ~ -9-/|²
© )-9)QE%E ~ %*+p| d ad-
d| -9 y Q
âr/ )
w
y{wu ,D *+
vance.sql
¹%E r
Herencia
/ *+-9 r3$-/%3 w-9Q¡-9) ) ¦-9Q s Q3Ȧ-9
d
Q*+p-/
r %
*+ )Q È%w-9 -9Q () X -/Q r
v-9È%
)w) )-9w v-9Q ù åÓâåìÒ ¡,QE
Qs )*+ È%
Qx
Q
¡3
² BÈB-9 dr#Q #%
)*+ ¡ )*M Q Ì ÈB
)Qu
s²E-9 ) } ! 5 )Q
Mud r> ²
%
D²
%
-9 d¦à È#
MQy ~QÈ
Q*+p©)Quy wQ d¦È
w)Í*+ ¦
) àQ) ¡ ¦ -93 rE$-9 -9QQ )
yQ
Q Ì Èd3QQ È
*+
p¦ D² EQ ) d-/ d r È
)-/ ¡
¡() X ¡))
)v
uEd¡ -9 Èx
)w-9)
Qw
v()-9 @ / )-9~ )QwQs%s) %)-/%
)~-9 v-9*+w ,) )-9,
)w-9 x3
, -9 ) d) r
+-------+-------+
|name | altitude |
+-------+-------+
|Las Vegas | 2174 |
+-------+-------+
|Mariposa | 1953 |
+-------+-------+
@Q%È%²E )-9) @,)*+ d, -9
/3È)-/
-/% %Ã
% d3È%
v pQ
w
)~Q
| { * ¥ s dÈv-/)
w Þ
Mï
FROM cities* c
WHERE c.altitude > 500;
()-9( Q ) Þ
+-------+-------+
|name | altitude |
+-------+-------+
|Las Vegas | 2174 |
+-------+-------+
|Mariposa | 1953 |
+-------+-------+
|Madison | 845 |
+-------+-------+
}
d '#²
%¡
p s-9 dX)-9¦
s¡-9)
, d¹%E , ,-9Q @xQ
-9
pd+¦ d>§Q +§Q dE
D () )-9)r9
-9()~
-9*+)'
¦x() *+,3-9
QD ·9´ dn/l È akJm Õ_° ) I%) m´ dl5 E)²
#'²
%~
v s-9*+ a´ l c r
~ Q~)Q-9r
Valores No-Atómicos
º ) £ +)-9 d¦*+ É d-9)¡
b
)Ë d-9
bQ*+-9~3Q d~)© D QE-9-9_(v
v
+-9) d)
Ã
u /
-9-9 ) 3 ¦ ¡ # d)
§I -9)
Q)rE@ §Q d*+È3 ¦
Ã
y-9 XQ
Q,
v u -9Q ' v%
) ¡Q, r
Vectores
Q *+ ©
MQE
Q |
)b)3Q)-9+3 dÉ ¨)-/*+u -9
*+
*+ d) y)Q
ɨ#§QbuE% r
-9 dwu -9Q ~ -9
dE
Q3 + ² d¨)v @
Xr
QE%v3
£
Ȳ-9 *+
*+
)~-9 v-9u -9Q ¡ r
$y-/)
Ey-/ d ¥
)-93 *+%! } $J&Ù£-9Ý
)-9 d)y @Q
æ
å Qæ )%*+ Èh
Ëu -9Qv
)*+ d)3@ dXQ Ôêæ~M x&x&
âQ È) X-/
%X /Ã
) #%EQE*+ d3QE%# *+ %x
yu -9Q*+ d)3 d# æ å
Q%æ 3-9() Ã
Ȳ
/3 d) | )© *+%) *+ @r } ()E d¹%*+D
)
õ
ÖDÏ jJ ø Ï ) ()
-9
) d%*+u dv
u -9 QÈ )-9 *+wu d
)Q ¦u ,x¡ %Ed*+s*+ -9*+r!
d©-9)-9 ð È Q) s3Q)
~) Ì,~)-9¹@
-9
r
» "
SELECT name
FROM SAL_EMP
WHERE SAL_EMP.pay_by_quarter[1] ×rÔ
SAL_EMP.pay_by_quarter[2];
+----+
|name |
+----+
|Carol |
+----+
$~ d) v-9)3 Qw -9 v %D Q -/ / *+ ¡s d*+ Þ
+----------+
|pay_by_quarter |
+----------+
|10000 |
+----------+
|25000 |
+----------+
&#%*+pdy *+s-9-9 ) @~-/
%
@-9y
yu -9 QÈ
u -9 rE v-/)Ã
Q -9
*+ Q * ) t w*+ ww~
*+))r
SELECT SAL_EMP.schedule[1:2][1:1]
FROM SAL_EMP
WHERE SAL_EMP.name = ’Bill’;
+-------------+
|schedule |
+-------------+
|{{"meeting"},{""}} |
+-------------+
» ó
Time travel ha sido descartado:: : El texto restante en esta sección se conserva sola-
mente hasta que pueda ser reescrito ajustándose al contexto de las nuevas técnicas que
permiten obtener los mismos resultados. ¿Voluntarios? - thomas 12-01-1998.
Ø Ù Ú)Û`ÜÝÞÚxÚ)Ùß ÙlÝ
Û
à,á5à,â5ãJÞà,ã Þálä_â5à1å`ÞFÞæEÞálÛ
â5ÞçÂß ÙèKéJÚ)Û
ÙbßÞÝçÂâ5Û`ÞFà,ê æZê Ú)êJà'Ýâ5ÙbëSÙlÝÝÞÝBëSÙlæ:ì
Ú)êJá5Û`àÚ+í:â5Ú)Û`îÝ
â5ëSàÚè_Ø ÙlÝÄÞåkÞçÂß á5Ùlï|ß àÝ
àÞæ:ëSÙlæ:Û
Ý
àÝÄá5àß Ùðá5àëSâ5îlæàëSÛ`ê àásã ÞÂá5àÂëSâ5ê ãJàãñãJÞ
òÉàÝpâ5ß ÙlÚKàïê Ú)Û`Þã>ãJÞðÞÝ
óôà,ÝÞàá5â5õàÝDá5àÚ)â5Üê â5Þæ:Û`ÞëSÙæ:Ú)ê á5Û
à_ö
+------+--------+-------+
|name | population | altitude |
+------+--------+-------+
|Mariposa | 1320 | 1953 |
+------+--------+-------+
Nota: En los sistemas Unix, esto siempre es la medianoche del 1 de enero de 1970,
GMT.
þ âí:à,Ý
Þàá5â5õà'ãJÙÄÛ`Ùã ÙÚsá5ÙÚxÞåkÞçÂß á5ÙlÚ7í:àÚ)Û`ààí:ÙlÝàïá5à,ëÙlæ:Ú)ê á5Û
à,àæ:Û`ÞÝ
â5ÙÝDãJÞäÙlá5ä_ÞÝ÷_ö
+------+--------+
|name | population |
+------+--------+
|Mariposa | 1200 |
+------+--------+
|Mariposa | 1320 |
+------+--------+
ÿ
éJálä_à'á5ÙÝBß ÝÞãJÞÛ`ÞÝpçÂâ5æ:àã Ùbß àÝ
à,ÞálëSÙçÂâ5Þæ:õÙbãJÞálâ5æ:Û`ÞÝ
ä_à'á5ÙbãJÞFÛ
â5ÞçÂß ÙbÞÚsÞálçÂÞæ:ÙlÝ|äàá5ÙlÝ
5 ê Þrß ê ÞãJàFÝÞß ÝÞÚ)Þæ:Û
à'ÝBÞáeÚKâ5Ú)Û`ÞçÂàï'çÂâ5Þæ_Û
Ý
àÚ 5 ê ÞFÞáeäàá5ÙlÝDßÝ
ÞãJÞÛ`ÞÝpçÂâ5æ:àãJÙÄß àÝ
àFÞáeú æ:àá
ãJÞáXâ5æ:Û`ÞÝ
ä_à'á5ÙÒÞÚÄá5à>í:ÙlÝ
àÂà'ëÛ`ê àápèØ ÙlÝ/á5ÙÒÛ
àæ:Û`ÙlïDÞáXâ5æ:Û
ÞÝäàá5Ù ã ÞEÛ
â5ÞçÂß Ù ê Û`â5á5â5õàãJÙÒÞæÉá5à
ëSÙæ:Ú)ê á5Û
à,à'æ:Û
ÞÝ
â5ÙlÝBß ÙlãJÝ
ó5àí:à'ðÞÝÚ)Þrà'ðÝ
Þä_â5àãJÙÄëÙlçÂÙ76!8 ï39
è :
ÿA
ÿE
Bibliografía
þ Þá5ÞëSëSâ5îæ+ãJÞÝ
Þ(F
ÞÝÞ
æ:ëSâ5àÚxûbá5ÞëÛ`ê Ýà'ÚxÚ)ÙlðÝÞ þ<;.= ûLØ ÙÚ)Û
ÜÝÞÚè
Procedimientos y Articulos
Notas G
è í:Û`Û
ßsöIH1HÚ)â5çÒÙlæ|è ëSÚè ëÙlÝ
æ:Þá5ápè ÞãJêBHí:ÙlçÂÞHeßÝàäÞÞæHeß à'ß ÞÝ
ÚJHß àÝ
Û`â5æ:ãJÞKè ãJÞ(LM:è ß
Ú èN
GY
O:è í:Û`Û
ßsöIH1HÚPOQìF
Û`ßsè R þ è SJÞÝ4QÞá5Þûeè é1T/øfö UVVV!HeßÙÚ)Û
ÜÝÞÚHß àß ÞÝ
ÚHeé1W = ì
òXULì è ß ã1F
ÿÿ
ÿ