PostgreSQL - Tutorial.pdf

56
T utorial de PostgreSQL El equipo de desarrollo de PostgreSQL Editado por Thomas Lockhart

Transcript of PostgreSQL - Tutorial.pdf

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 1/56

Tutorial de PostgreSQL

El equipo de desarrollo de PostgreSQL

Editado porThomas Lockhart

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 2/56

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 3/56

Tutorial de PostgreSQL¢ ¡ £ ¥ § ©     ¡ © © ! £ £ ¡ § § ¡ © ( ¡ 0 1 £ © 3 4 6

¥ 0 ! ¡     ¡ £ 8 @ ¡ B ! 6 ¡ E F @ ! £ 0

H I P R T V X ` a c

X P e g V p g V X T r P R V g t g u v x x y x I V X H I P R T V X P I g X X I e X R V I

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 4/56

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 5/56

Tabla de contenidos

??

j k l m n l k

??o 4 © ( ¡ 0 1 £ ©

??

£ © © @ 0 ¡ £ ! © ( ¡ 0 1 £ ©

??¥ §     £ ¡ © E 0 ¡ ( ¡ 0 1 £ © ©

© £ F © § ©

??( ¡ 0 1 £ © z {

??( ¡ 0 1 £ © 3 4 6

??}

E © £ E ! © © 0 ! © £

??

© E £ ¡

??

??

??8 © £ B ¡ § ¡ 1 !

??

¡ 0 ! E

??

3 0 ! 0 © B © 0 ¡ £ B © ¡ £ © © § © © E 0 ¡

??

??

¡& ¢ £ 1 @ 0 ! £ E !

© 1 0 £ ! !

??

??

¥ § ¡ © § ¡ © ! 0 ¡

© § ! E ¡ ! §

??

¡ £ B ! § ! © © § ¡ © § ¡

© § ! E ¡ ! § © ! 0 ¡

?? ¡ B ¡ E ¡ 0 £ ! 8     ¡ © ! 0 ¡

??

    © £ ! E ¡ © © © § ¡ © § ¡ © ! 0 ¡

© § ! E ¡ ! §

??

§ 1 © £ !

© § ! E ¡ ! §

??

§ E § ¡

© § ! E ¡ ! §

??

§ E § ¡

© § ! E ¡ ! § © 8     § !

??

§ 1 © £ !

© § ! E ¡ ! § E ¡ 0 £ !

§ E § ¡

© § ! E ¡ ! §

??¥ § 6 © 1 ! © 3 4 6

??3 © § © E 0

?? © E © ! 0 ¡

?? !     § ! E © ! 0 ¡

??3 0 © B

! 0 ! § ¡ 1

??3 4 6 ¥ B © ¡

??ª

« ¬ l - n l

??( ¡ 0 1 £ ©

¡ E © ¢ 0 ¡ © ! £ 0 © E 0 £ !

??

??®

¯ ° - ± k m

??

¡ 1 £ ! ¡ © § © 0 ¡ £ ¡

??¥ © E E © § ¡ 0 ¡ £ 0 © £ ! E 0 ¡     §

??}

B 0 £ ! ¡ !

! © © ! 0 ¡

??

£ © ! E © ! ! © © ! 0 ¡

??}

E E © © £ ! ! ! © © ! 0 ¡

??¥ § B ! ¡ ! © © ! 0 ¡

??³

¯ ´ - k µ ¶ - m - n k · ´ l ·

??

¡ 0 ¡ £ 0 © £ ! E 0 ¡

??

¡ E ©     0 ¡

??

£ © ! E © ! © ! E § ! ©

??6 § © ! ¡ ! E § ! © E ¡ 0 ! E !

??

¡ 0 ! £ ! ! E § ! ©

??

© £ © E E ¡ ! B © 0 ¡ © E ¡ § 0 ! 3 ¥ 6 ¥

8

??¸

¡ ¡ ©

© 0 £ © E § ! ©

??}

E 0 ! § ¹ ! E ¡ ©

??

¡ £ £ ! ¡

??º

¡ © E ¡ © © E ¡ 0 ¡

??

»

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 6/56

¼

½ n l - ¾ · l n · « ¿ k ± m · m - - k À · l µ - ·

??Á

© £ © E !

??Â

! § ¡ £ ©

¡ Ã

}

0 B E ¡

??Â

© E 0 ¡ £ ©

??8 B © 8 £ ! © §

Â

! © © © § 0 © BC ¢ ¡

??

E ! £ ! E 0 © £ 0 E ! ! ! ¹ ! !

??Ä

Å ´ µ Æ ¾

??

Ç

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 7/56

Sumario( ¡ 0 1 £ © È © ! £ £ ¡ § § ! ! ¡ £ 1 ! § B © 0 © © © § ©     ! £ 0 ! B © 0 ¡ ©

© E ! © § !

¡ BC ¢ Ã

0 ! E © § !

º

© £ ! ©

! § ¡ £ ! ©

© £ F © § © È ©     ¡ © £ ! © B E @ ¡ © § ¡

E ¡ E ©     0 ¡ © ! © © ! 0 ¡ £ © § ! E ¡ ! § © ¡ £ © 0 ! ! ! ¡ © 0 ¡ © ! @ ¡ £ ! © B     © ¹ ! !

© 0 ! £     ¡ § © © ! § 1 ! ! © © ! 0 ¡ E ¡ B © £ E ! § ©

£ © E ©     ¡ £ 0 © ! § § © 1 ! ©

3 4 6 z

Ê

3 4 6

È 0 © 1 £ ! © 0 £ ! ! E E ¡ © È © Ì 0 © § ! © 0 ¢ ¡ © ! 0 ¡ ( ¡ 0 Ã

1 £ © 3 4 6 © © E © © 0 © © ¡ B ¡     Í § E ¡ E 1 ¡ ! © £ 0 ¡ © § E 1 ¡ ¡ £ 1 ! §

©

© £ F © § ©

Î

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 8/56

×

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 9/56

Capítulo 1. Introduction¥ 0 © ¡ E B © 0 ¡ © © § B ! ! § © ! £ ¡ © § 0 © B ! © B ! 0 © B © 0 ¡ © ! © ©

! 0 ¡ ( ¡ 0 1 £ © 3 4 6 Ø È ¡ £ 1 ! £ ! B © 0 © © ! £ £ ¡ § § ! ¡ © § !

º

© £ ! ©

! § ¡ £ !

©

© £ F © § © ( ¡ 0 1 £ © 3 4 6 © 0

! ! ! © ( ¡ 0 1 £ © £ © § © ! © Û

Ü

¥ §     £ ¡ © E 0 ¡ ( ¡ 0 1 £ © È

§ © £ ! ¡ ¢ ¡ £ © § ( ¡ £ © ¡ £ E @ ! © § 3 0 ¡ © £ ! F © £ È © ©     ¡ ¡ £ ¹ ! ¡ ¢ ¡ £ © £ ¡ ¡ £ 1 ! Ã

B ¡ ¡ E ! § © ¡ E ¡ ¡ © § ¡ ¥ ¥

º º Þ

§ !

}

1 © E ! © ( £ ¡ © E 0 ¡ © © 0 1 ! E

}

! ¹ ! ! © § ! © © ! © § ¡ ¥ ¥

º º

}

(

}

È § !

E ! © © 0 1 ! E © § !

}

£ B ! !

}

È § !

! E

! E ¡ ! §     ! £ ! § !

© E !

3

È ¥ 3 6 È E

¿Qué es Postgres?6 ¡ 0 © B ! © B ! 0 © B © 0 ¡ ©

! © © ! 0 ¡ £ © § ! E ¡ ! § © 0 £ ! E ¡ ! § ©

3 È

¡     ¡ £ 0 ! B ¡ © § ¡ © ! 0 ¡ © E ¡ 0 © © ! E ¡ § © E E © £ © § ! E ¡ © E ¡ ¡ B Ã

£ © È © E ¡ 0 © © ! 0 £ 0 ¡ © 0 ² ¡ © " ¢ © E E ¡ ¥ § ¡ 0 © B ! E ¡ B © £ E ! § © ! E Ã

0 ! § © È § ¡ 0     ¡     ¡ § © E § © B £ E ¡ ©     0 ¡ à ¡ 0 ! 0 © È © 0 © £ ¡ È E ! © ! ©

E ! £ ! E 0 £ © È E ! 0 ! © B ¡ © 0 ! £ ! © E @ ! ¥ 0

1 © © £ ! § B © 0 © £ © E ¡ ¡ E ¡ © © 0 ©

B ¡ © § ¡ © £

! © E ! ¡     ! £ ! § ! !     § E ! E ¡ © 0 £ ! ©     £ ¡ E © ! ¡ © ! 0 ¡ ¥ § B ¡ Ã

© § ¡ £ © § ! E ¡ ! § 0 0 B ¡ © § ¡     £ © ¡ ©     ! £ 0 ©     ¡ £ á B     § E ! ©     ! £ 0 ! ! á

3 © B ! £ 1 ¡ È E ¡ B ¡ © @ ! B © E ¡ ! ¡ È © 0 ! B     § E ! 0 ! B @ ! E © B E § § !

BC ¢ § © B © 0 ! E © E © £ 0 ! !     § E ! E ¡ © ( ¡ 0 1 £ © ¡ £ © E © !     ¡ 0 © E ! ! E ¡ ! § Ã

0 ! E ! § ! § E ¡ £$ ¢ ¡ £ ! £ § ¡ 1 © 0 © E ! 0 £ ¡ E ¡ E © ¢ 0 ¡ ! E ¡ ! § ©

E ¡ © ! !

© § ! © § ¡ ! £ ¡ ¢ © © © Ì 0 © © £

E § B © 0 © © § 0 © B !

E § ! ©

@ © £ © E !

0     ¡

E ¡ ©

0 £ ! E ! £ ! E 0 © £ 0 E ! !     ¡ £ 0 !     ¡ 0 © E ! à © Ì § ! ! E ¡ ! §

Þ

© 0 £ E E ¡ ©

¡ 0 £ ! 0

    ! £ ! ¡ £ © 0 £ 1 1 © £

© 1 § ! £ § ©

0 © 1 £ ! 0 £ ! ! E E ¡ ! §

¥ 0 ! E ! £ ! E 0 © £ 0 E ! E ¡ § ¡ E ! ! ( ¡ 0 1 £ © © § ! E ! 0 © 1 ¡ £ ! © § !

! © © ! 0 ¡ © 0 Ã

E ! ! E ¡ B ¡

Õ ã ä å æ Õ ç Ó å è Ò é Ô Õ ê Ò è å ë

0 © © © 0 ! ¡ © £ © 0 © © § ! £ © © £ ! E ¡ B ¡

Õ Ó Ô å ê æ Ò ì Ò ë Ò Õ ã ä å æ Õ ë

È © © 1 © © £ ! § ¡ ¡ © !     £ ¡ © E @ ! § ©     ! £ ! ¡     ¡ £ 0 ! £ § © 1 ! Ã

© ©

! © © ! 0 ¡ £ © § ! E ¡ ! § © 0 £ ! E ¡ ! § © ( ¡ 0 1 £ © 0 © © ! § 1 ! E ! £ ! E 0 © £ 0 E !

© ¡     £ ¡     ! © § B ¡ © § ! ! © © ! 0 ¡ ¡ £ © 0 ! ! ! ¡ © 0 ¡ © @ © E @ ¡ È ! § Ã

1 !

! © © ! 0 ¡ E ¡ B © £ E ! § © @ ! E ¡ £$ ¢ ¡ £ ! ¡ £ © E © 0 © B © 0 © E ! £ ! E 0 © £ 0 E ! ©

§ ! © ( ¡ 0 1 £ © © ¢ ¡ © £ !

Breve historia de Postgres¥ § 3 0 © B ! í © 0 ¡ £ ©

! © © ! 0 ¡

© § ! E ¡ ! § ©

£ © 0 ! ! !

© 0 ¡ E ¡ ¡ E ¡ E ¡ Ã

B ¡ ( ¡ 0 1 £ © 3 4 6 £ © © B © 0 © § § ! B ! ¡ ( ¡ 0 1 £ © z {

© 0

© £ ! ¡ © §     ! © 0 © ( ¡ 0 Ã

1 £ © © E £ 0 ¡ ©

© £ F © § ©

¡ E © £ E ! © ! E ! ! © © ! £ £ ¡ § § ¡ 0 £ ! § È ( ¡ 0 1 £ © 3 4 6

© © § 1 © 0 ¡ £ © ! © © ! 0 ¡ © E 1 ¡ ! © £ 0 ¡ B

! ! ¹ ! ¡ @ ¡ © ! È ¡ £ © E © Ã

¡ E ¡ 0 £ ¡ § © E ¡ E £ £ © E ! B § 0 Ã © £ È ¡     ¡ £ 0 ! ¡ E ! 0 ¡ ! § ! 0 ! Ì 3 4 6 Ã

E § © ¡ E ¡ § 0 ! È 0 £ ! ! E E ¡ © È 0 ¢ ¡ E ¡ © © !     ¡ £ © § ! £ ¡

È

E ¡ 0 ! ¡ 0 ! B E ¡ ! B     § ¡ E ¡ 0 ¡ © © § ! E © E ¡ § © 1 ! © ©     £ ¡ 1 £ ! B ! E

E § © ¡

È

î î

È

¸

! ! È     © £ § È 0 E § ¢ 0 @ ¡

ï

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 10/56

El proyecto Postgres de Berkeley6 ! B     § © B © 0 ! E © §

3 ( ¡ 0 1 £ © E ¡ B © ¹ ©

z ö ÷ 6 ¡ E ¡ E ©     0 ¡ E ! § © ¢ ! Ã

£ ! © § 0 © B ! © £ ¡     £ © © 0 ! ¡ © ø ù

å ú å ë Ô û ê Õ ü ý Õ ë æ û Ó å ë

§ ! © E © § B ¡ © § ¡

© ! 0 ¡ E ! § !     ! £ © E © ø ù

å ý Õ ë æ û Ó å ë ú Ò æ Ò þ Õ ì å è

¥ § ©    ¡ © § 0 © B ! © £ © 1 § !

© © E £ 0 ¡ © © © B ¡ B © 0 ¡ © ø ù

å ú å ë Ô û ê Õ ü æ

ù

å ý Õ ë æ û Ó å ë ¢ Ð è å ë Ï ¤ ë æ å Ñ

6 ! § 1 E !

! £ 0 © E 0 £ ! © § 1 © 0 ¡ £ © ! § B ! E © ! B © 0 ¡ © £ ¡ © 0 ! § § ! ! © ø ù

å ý Õ ë æ û Ó å ë Ï æ Õ Ó Ò û å

Ï ¤ ë æ å Ñ

( ¡ 0 1 £ © @ !     ! ! ¡     ¡ £ ! £ ! £ © ¡ © B     ¡ £ 0 ! 0 © © © © 0 ¡ E © ¥ §     £ B © £ Ã

0 © B ! © ¢ £ © ! © ¡     © £ ! E ¡ ! § ©

z ö § © B ¡ 0 £ ! ¡ © § !

¡ © £ © E !

}

Ã

3 í

©

z ö ö 6 ! ¹ ! B ¡ § !

Â

© £

È © E £ 0 ! © ø ù

å õ Ñ ñ è å Ñ å ê æ Ò æ Ô Õ ê Õ ü ý Õ ë æ û Ó å ë

È !

¡     ¡ E ¡ ! £ ¡ © Ì 0 © £ ¡ ©

¸

¡ ©

z ö z ¥ £ © " ¢ © 0 ! ! ! E £ 0 E ! © § ¢ £ B © £

0 © B ! © £ © 1 § ! ¨

ð Õ Ñ Ñ å ê æ Ò Ó ¤ Õ ê æ

ù

å ý Õ ë æ û Ó å ë ¢ Ð è å ë Ï ¤ ë æ å Ñ

È 0 © © £ © ©    ! ¡

ê

¢ Ð è å ë ý Ó Õ é å ì Ð Ó å ë ð Ò é

ù

Ô ê û Ò ê ì Ô å ë Ô ê ú Ò æ Ò ã Ò ë å Ï ¤ ë æ å Ñ ë

§ !

Â

© £

È © ! § ©

¸

¡ ©

z z

È § ¡ E ¡ £     ¡ £ ! ! 6 !

Â

© £

!     ! £ © E ©

z z

!    ! ! B     § © B © Ã

0 ! E     ! £ ! B Í § 0     § © 1 © 0 ¡ £ © © ! § B ! E © ! B © 0 ¡ È © © E 0 ¡ £ © E ¡ § 0 ! B © ¡ £ ! ¡

0 © B ! © £ © © E £ 0 £ ! © £ © 1 § ! © ¡ ¥ B ! ¡ £ ² ! £ 0 © È § ! 1 © 0 © © £ Ã

¡ © @ ! 0 ! © § § ! ¹ ! B © 0 ¡ © ( ¡ 0 1 £ © z { © £ B

! ! ¡

© E © 0 £ ! £ ¡ © B © ¡ £ ! £ § !

¢ ¡ £ 0 ! § ! § ! ! § !

( ¡ 0 1 £ © ¡ £ B ! ¢ ! £ 0 © © § ! B     § © B © 0 ! E © B E @ ! !# ¢ § E ! E ¡ © © © 0 1 ! E

    £ ¡ E E ¥ 0 £ © © § § !

Þ

0 © B ! © !

§ © ! 0 ¡ ! E © £ ¡ È     ! © 0 © ©

B ¡ 0 ¡ £ ¹ ! E © £ © B © 0 ¡ © B ¡ 0 ¡ £ © ! £ © ! E E È ! ! © © ! 0 ¡ © © 1 Ã

B © 0 ¡ © ! 0 © £ ¡ © ! £ ¡ 0 © B ! © ¡ £ B ! E 1 © ¡ 1 £

E ! 8 ! B © @ ! 0 Ã

§ ¹ ! ¡ E ¡ B ¡ ! @ © £ £ ! B © 0 ! © E ! 0 ! © ! £ ! © £ ! ©

! § B © 0 © È § § 0 £ !

¡ £ B ! 0 ¡ 8 © E @ ¡ § ¡ 1 ©     ¡ 0 © £ ¡ £ B © 0 © ! ¡ £ !     ¡ £ ¡ £ B Ì !

0 ¡ B © § E 1 ¡

§ ¡ E ¡ B © £ E ! § ¹ ( ¡ 0 1 £ © § § © 1 ! © £ © §     £ E     ! § 1 © 0 ¡ £ © ! 0 ¡     ! £ ! © §     £ ¡ © E 0 ¡

E © 0 E ¡ © E ¡ B     0 ! E 3 © ¡ !

"

! ! § © ©

z z

¥ § 0 ! B !    ¡ © § ! E ¡ B ! © ! £ ¡ © Ì 0 © £ ¡ E ! ©     § E £ ! 0 ©

z z

( £ ¡ 0 ¡

© @ ¹ ¡ ¡ ¡ © © § B ! 0 © B © 0 ¡ © § E 1 ¡ § ! 0 ! £ © ! © ¡     ¡ £ 0 © © 0 ! ! ¡ E Ã

¢ ! ¡ 0 © BC ¢ ¡ © © ! © E ! £ © ! § ! © 0 1 ! E ¥ © © £ ¹ ¡     ¡ £ £ © E £ © 0 !

E ! £ 1 ! È © §     £ ¡ © E 0 ¡ 0 © £ B ¡ E ! § B © 0 © E ¡ § !

Â

© £ Û

Postgres95¥

z z Û È

}

£ © $

&

¸

¡ § §

@ © ( !    ! © £ ¡ 0 £$ ¢ £ © 0 © © § © 1 ! 1 © 3 4 6 ! ( ¡ 0 Ã

1 £ © ( ¡ 0 1 £ © z { © ¢ § E ! ¡ ! E ¡ 0 ! E © § ! ) © ¢ ! £ ! © © E ¡ 0 £ ! £ ! | ¢ £ ¡ Ã

¢ ¡ @ © E ¡ © © § B ¡ E ¡ B ¡ © E © © 0 © © ¡ B ¡ ¢ Í § E ¡ E 1 ¡ ! © £ 0 ¡

© § E 1 ¡ ¡ £ 1 ! § ( ¡ 0 1 £ © ©

© £ F © § ©

¥ § E 1 ¡ © ( ¡ 0 1 £ © z { © ! !     0 ! ¡ !

}

3

0 ! B !    ¡ £ © E ¡ ©

{ 1

E @ ¡ E ! B ¡ 0 © £ ¡ B © ¡ £ ! £ ¡ © § £ © B © 0 ¡ § ! ! E § ! © B ! 0 © B © Ã

0 ¡ ( ¡ 0 1 £ © z {

Ì © © © E 0 ! ! © 0 ¡ £ ¡ !

à {

1 B

£

    ¡ © © § ) E ¡

© E @ B ! £ F E ¡ B     ! £ ! ¡ E ¡ ( ¡ 0 1 £ © Û

}

© B

© E ¡ £ £ © E E © © £ £ ¡ £ © È 0 !

© £ ¡ § !     £ E     ! § © B © ¡ £ !

Þ

3

¥ § § © 1 ! 1 © © E ¡ § 0 ! ( ¡ 0 © § © £ © © BC ¢ § ! ¹ ! ¡ E ¡ 3 4 6 BC ¢ § © B © 0 ! ¡ ©

© § © £ ¡ £

6 ! E ¡ § 0 ! ¡ © £ ¡ ¡     ¡ £ 0 ! ! @ ! 0 ! ( ¡ 0 1 £ © 3 4 6 © £ B

! ! ¡

È     © £ ¡     ¡ ! © £ © B § ! ! © ( ¡ 0 1 £ © z { E ¡ E ¡ © 3 4 6 © !     ¡ £

© § ! £ ¡ 6 ! E ¡ © ! 1 £ © 1 ! ! © £ ¡ £ © B     § © B © 0 ! ! 8 ! B © !    !

! B     § © B © 0 ! E © § ! E §

§ ! í

º

(

6 ! 0 © £ ! ¹

libpq² © £ B ! © E Ã

    ¡ § ©     ! £ !     £ ¡ 1 £ ! B ! © E £ 0 ¡ ©

3

}

© B

© §     £ ¡ 1 £ ! B ! © B ¡ 0 ¡ £ ¹ ! E È © E § © ¡     £ ¡ 1 £ ! B !

psql

    ! £ ! £ © ! § ¹ ! £ E ¡ § 0 ! 3 4 6 0 © £ ! E 0 ! ! ¡ § ! § £ © £ ! í

º

readline

ó 4

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 11/56

3

º

! © ! § £ © £ ! © 0 © £ ! ¹ È

libpgtclÈ ¡¤ ¢ ¡ £ 0 ! ! E § © 0 © ! ! ¡ © 8 E §

º

@ © § § © © © B     § ¡ È     1 0 E § @ È !     ¡ £ 0 ! ! © ! £ © © 8 E §     ! £ ! 0 © £ ! E 0 ! £ E ¡ © § B ¡ Ã

0 ¡ £ ( ¡ 0 1 £ © z { © © ¢ £ ¡ 1 £ ! B !

tcl

3

3 © £ © § ! 0 © £ ! ¹ E ¡ ¡ © 0 ¡ 1 £ ! © 6 ¡ ¡ © 0 ¡ 1 £ ! © © © £ ¡ © £ ¡

© § Í E ¡ B © E ! B ¡     ! £ ! ! § B ! E © ! £ ¡ © 0 ¡ 1 £ ! © © § 0 © B ! © ! £ E @ ¡ ©

© £ ¡ © © § B ! ¡

3

3 © © § B 0 ! B © § 0 © B ! © £ © 1 § ! ! © § © 0 ! E ! È © § ! £ © 1 § !

1 © £ ¡     ¡ § © E ¡ B ¡ £ © 1 § ! © £ © © E £ 0 £ !

3

3 © 0 £ E ¡ © § E 1 ¡ © 0 © £ © © 0 0 ¡ £ ! § 0 £ ¡ E © ¡ § ! E ! £ ! E 0 © £ 0 Ã

E ! E ¡ B © © 3 4 6 © ( ¡ 0 1 £ © z {

3

3 © 0 § ¹ í

º

B ! F © © © ¹ ©

3 B ! F ©

    ! £ ! § ! E ¡ B     § ! E ( ¡ 0 1 £ © z { 0 ! B Ã

    ¡ ! © £ E ¡ B     § ! ¡ E ¡ 1 E E     ! £ E @ © ! § @ ! © £ © E ¡ £ £ © 1 ¡ © § ¢ £ ¡ § © B !

© ! § © ! E © ! £ ! § © © § ¡ 1 0 ¡ § ©

PostgreSQL¥

z z ÷ È © @ ¹ ¡ © © 0 © © © § ¡ B £ © 5 ( ¡ 0 1 £ © z { 7 ¡ £ © 0 £ ! © §     ! ¡ © § 0 © B Ã

¢ ¡ ¥ § © 1 B ¡ © ¡ ¡ B £ © È ( ¡ 0 1 £ © 3 4 6 ÈW ¢ ! £ ! £ © à © ! £ § ! £ © § ! E © 0 £ © © § ( ¡ 0 1 £ ©

¡ £ 1 ! § § ! © £ ¡ © B

£ © E © 0 © E ¡ E !     ! E ! © 3 4 6

}

§ B B ¡ 0 © B     ¡ È @ E Ã

B ¡ © § ¡ Í B © £ ¡ © © £     ! £ 0 © £ ! © § ! ÷

È ¡ § © ¡ ! § ! © E © E ! © 1 !

¡ £ 1 ! § B © 0 ©     ¡ £ © §& ¢ £ ¡ © E 0 ¡ ( ¡ 0 1 £ ©

£ ! 0 © © § © ! £ £ ¡ § § ¡ © ( ¡ 0 1 £ © z { © @ ¹ ¡ @ E !     © © 0 E ! £ © 0 © © £ § ¡

¢ £ ¡ § © B ! © © § E 1 ¡ © § B ¡ 0 ¡ £ © ! 0 ¡

¡ ( ¡ 0 1 £ © 3 4 6 È © § ! @ !h ¢ ! ! ¡ !

! B © 0 ! £ E ! £ ! E 0 © £ 0 E ! E !     ! E ! © È ! © © § 0 £ ! ! ¡ E ¡ 0 Í ! © 0 ¡ ! § !

£ © !

6 !     £ E     ! § © B © ¡ £ ! © ( ¡ 0 1 £ © 3 4 6 E § ©

Þ

3

6 ¡ § ¡ © ¡ © 0 ! § ! @ ! ¡ 0 0 ¡ ¢ ¡ £ © § E ¡ 0 £ ¡ § © E ¡ E £ £ © E ! B § 0 Ã

© £ È © § E ! §     © £ B 0 © ! § ¡ ! E E © ¡ © § ¡ § © E 0 £ ! E ¡ 0 ! £ § © © ¡ ! 0 ¡ E ¡ Ã

0 © 0 © £ ! 0 © § ! ! E 0 ! § ¹ ! E © £ © 1 0 £ ¡ È ¢ © £ B 0 © E ¡     ! © © 1 £ ! ©

E ! § © 0 © © ©D ¢ 1 8 B     B © 0 £ ! § ! ! © © ! 0 ¡     © £ B ! © E ©     ¡ § ©     ! £ ! E ¡ Ã

§ 0 !

3

3 © @ ! B     § © B © 0 ! ¡ BC ¢ ¡ £ 0 ! 0 © E ! £ ! E 0 © £ 0 E ! © § B ¡ 0 ¡ £ © ! 0 ¡ È E § © ¡

E ¡ § 0 ! È ! § ¡ £ © ¢ ¢ ¡ £ © © E 0 ¡ È £ © 0 £ E E ¡ © ! ! § ¡ £ © © § ¡ E ! B     ¡ E ¡ 0 £ ! 0

" ¢ ! £ ! ¡ £ © 0 £ 1 1 © £

3

3 © @ ! !    ! ¡ E ¡ ! § ! © © § © ! E ¡ © § © 0

! £ 3 4 6 z

È E § © ¡ E § ! ©

    £ B ! £ ! È © 0 E ! ¡ £ © © 0 £ © E ¡ B § § ! ¡ È ¡ £ ¹ ! ¡ © 0     ¡ E ! © ! § 0 © £ ! § © È E ¡ Ã

© £ © 0 ¢ ¡ © 0 £ ! ! © © 0 © £ ¡ ! £ ¡ @ © Ì ! © E B ! § ©

3

6 ¡ 0     ¡ 0 © £ ¡ @ ! ¡ B © ¡ £ ! ¡ È E § © ¡ © ¡ 0     ¡ © © E @ !

Ê

@ ¡ £ ! ©

£ ! 1 ¡ ! B     § ¡ ¡     ¡ £ 0 ©~ ¢ ! £ ! 0     ¡ 1 © ¡ B 0 £ E ¡ ! E ¡ ! § ©

3

6 ! © § ¡ E ! © § E 1 ¡ © § B ¡ 0 ¡ £ © ! 0 ¡ @ ! ¡ E £ © B © 0 ! ! !# ¢ £ ¡ Ì B ! ! Ã

B © 0 © ©

à Û

1 È 0 © B     ¡ © ! £ £ ! © @ ! ! ! ¡ © § ö

1 © © © § ! © £ Ã

÷

© § ! ¹ ! !

Acerca de esta versión( ¡ 0 1 £ © 3 4 6 © 0

    ¡ § © E ¡ 0 © ¥ 0 © B ! ! § © E £ © § ! © £ ¡ ÷ { © ( ¡ 0 Ã

1 £ © 3 4 6

ó ó

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 12/56

3 © ! £

( ¡ 0 1 £ © D ¢ ! £ ! £ © © £ £ © ! § ! © £ 0 £ ! E ¡ B ¡ ( ¡ 0 1 £ © 3 4 6

¡ B     £ © © § ! í ! © §

}

B 0 £ ! ¡ £ ¢ ! £ ! © £ § ! § 0 ! ©     § ! 0 ! ¡ £ B ! ¡& ¢ ¡ £ 0 ! !

¥ 1 © © £ ! § È ( ¡ 0 1 £ ©     © ©     ¡ £ 0 ! £ © ! E ! § © £ 0 © B ! E ¡ B     ! 0 § ©

º

Ì

Ê

( ¡ Ì E ¡

¡     ¡ £ 0 © E ¡ B     § © 0 ¡ ! § ! § £ © £ ! § E

Recursos¥ 0 © B ! ! § © 0

¡ £ 1 ! ¹ ! ¡ © © £ © 0 ©     ! £ 0 ©

Þ

8 0 ¡ £ ! §

0 £ ¡ E E ¡     ! £ ! © ¡ ! £ ¡

¡ E £ © E ! £ ! E 0 © £ 0 E ! ! ! ¹ ! !

í ! © §

º

! £ ¡

¡ £ B ! E ¡ 1 © © £ ! §     ! £ ! © § ! £ ¡ È E § © E ¡ B ! ¡ 0     ¡ © ! 0 ¡

í ! © § ( £ ¡ 1 £ ! B ! ¡ £

¡ £ B ! E ! ! ¹ ! !     ! £ ! ² £ ¡ 1 £ ! B ! ¡ £ © © !# ¢ § E ! E ¡ © E § © ¡ 0     ¡

© Ì 0 © © E ¡ © È § £ © £ ! © 0 © £ ! E © § ¡ £ © © £ ¡ ! § ©    ¡ © !     § E ! Ã

E ¡ ©

í ! © §

}

B 0 £ ! ¡ £

¡ £ B ! E ¡ £ © 0 ! § ! E ! B 0 £ ! E 6 0 ! © ©     ¡ ¡     ¡ £ 0 ! ¡

í ! © § © ! £ £ ¡ § § ! ¡ £

¡ £ B ! E ¢ ! £ ! © ! £ £ ¡ § § ! ¡ £ © © ( ¡ 0 1 £ © ¥ 0 © ¡ E B © 0 ¡ ©     ! £ ! ! © Ã

§ § !     © £ ¡ ! © © 0 ! E ¡ 0 £ © ¡ ! §̈ ¢ £ ¡ © E 0 ¡ © ( ¡ 0 1 £ © @ § ! ¡ £ B ! E

£ © © £ © £ ! ! § © ! £ £ ¡ § § ¡ © !     § E ! E ¡ © !     ! £ © E © © § ! B

Ð Ô Ò ì å è ý Ó Õ û Ó Ò Ñ Ò ì Õ Ó

}

E Ã

0 ! § B © 0 © E § ¡ © § ! B

Ð Ô Ò ì å è ý Ó Õ û Ó Ò Ñ Ò ì Õ Ó

! ! § ©

© © £ © E !

¡ £ B ! E © 0 ! § § ! ! ¡ £ © § ¡ E ¡ B ! ¡

}

E 0 ! § B © 0 © E § ¡ © § ! B

Ð Ô Ò ì å è

Eë Ð Ò Ó Ô Õ

}

© B ! © 0 © B ! ! § È @ ! ¡ 0 £ ¡ £ © E £ ¡ © § © © £ £

© ! !     ! £ ! § ! 0 ! § ! Ã

E ¡ © § ¡ © ( ¡ 0 1 £ ©

Þ

B ! ¢ ! 1 ©

6 !    

1 ! © B ! ! § B !     ! 1 ©

E ¡ 0 © © B ! ¡ £ B ! E ¡ £ © § ¡ E ¡ Ã

B ! ¡

}

4 ( £ © 1 0 !

£ © © 0 ©

6 ! © E E © ( £ © 1 0 !

£ © © 0 ©

}

4

E ¡ 0 © © £ ©     © 0 ! !     £ © 1 0 ! 1 © Ã

© £ ! § © ¡ 0 £ ¡ ! 0 ¡ © 0 © © © © £ E ¡ § !     § ! 0 ! ¡ £ B ! © © © © ! £ £ ¡ § § ©

6 ¥

}

¥

¥

}

¥

6 ¡ ! £ E @ ¡ § § ! B ! ¡ 6 ¥

}

¥

¥

}

¥

© 0 ! " ¢ ¡ § © ) ¢ ! £ ! ! § 1 ! E ¡ Ã

0 £ E ¡ ©

ó F

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 13/56

) © 3 0 ©

¥ § 0 ¡ $ © © ( ¡ 0 1 £ © H E ¡ 0 © © ¡ £ B ! E © ! § 1 ! 0 £ E ¡ © ¡ Ã

E § ©

Á

! E ! 0

§ ¡ 1 ¡ § § ! B ! ¡ B @ ¡ ! £ E © E ¡ 0 © © © § @ 0 £ E ¡ © § ! § 0 !

© E ¡ £ £ © ¡ © § © E 0 £ E ¡

}

    ¡ £

© E ¡ 0 £ ! £ ! 0 ! 0 © ¡ £ B ! E

6 0 ! ©

¡ £ £ © ¡

6 ! § 0 ! © E ¡ £ £ © ¡     1 § Ã 1 © © £ ! § P ! £ E @ © Ø R

© © § 1 ! £     ! £ ! E ¡ 0 © 0 ! £

    £ © 1 0 !

º

0 © T

( ¡ 0 1 £ © ©     £ ¡ E 0 ¡ © E 1 ¡ ! © £ 0 ¡

¡ B ¡ 0 ! § È ©     © © © § ! E ¡ B !

© ! £ ¡     ! £ ! ¡     ¡ £ 0 ©

}

B © ! © © B     © ¹ © ! ! £ ( ¡ 0 1 £ © È © BC ² © ¹ ! £

! ©     © © £ © ¡ 0 £ ¡     ! £ ! © § © ! © È ! © !     ¡ £ B © ¡ © ¡ E B © 0 ! E

¡ © § ! § 0 ! © E ¡ £ £ © ¡

¡ © £ © E ¡ 0 £ £ § ¡ © !# ¢ £ © ! 3 !     £ © © ¡ © Ã

E £ © ! § 1 ¡ © ¡ © 0 ¡ E B © 0 ! ¡ È © E £ ! § ¡ E ¡ 0 £ ! 3 !    ! © © !

E ! £ ! E 0 © £ 0 E ! ! § E 1 ¡ È @

1 ! § ! ! © £

}

! © § § ¡ E ¡     ¡ E ! ¡ 1 ! © Ì     © £ © E !     © ©     £ ¡     ¡ £ E ¡ ! £ E ¡ £ £ © E E ¡ ©

E ! B ¡ B © ¡ £ © ! § ! ¡ E B © 0 ! E È § ¡ © © ! © ! ¡ £ B ! © © B     © ¹ ! £

¥ §     1 § Ã ¡ E Ø Ø ! £ E @ ¡ Ø

Ü

© § ! § 0 ! © E ¡ £ £ © ¡ © © § 1 ! £9 ¢ ! £ ! E ¡ B © ¹ ! £

    © !

Terminología¥ § ! ¡ E B © 0 ! E 1 © 0 © È

ë Ô æ Ô Õ

¡

ë Ô æ å

©     © © 0 © £$ ¢ £ © 0 ! £ E ¡ B ¡ § ! B

!

© § ! © © 0

0 ! § ! ! ( ¡ 0 1 £ © ! ¡ © ©     ¡ § © 0 ! § ! £ B

© E ¡ 0 ¡

© ! © © ! 0 ¡ ( ¡ 0 1 £ © © ! B B ! B

! È © 0 © 0 £ B ¡ © ¡ 0 ! È © ¡ £ B !

B

    £ © E ! È E ! § © £ E ¡ 0 ¡ E ¡ E £ © 0 ¡ ©     £ ¡ 1 £ ! B ! ! £ ¡ ! © © ! 0 ¡ ©

( ¡ 0 1 £ © 0 ! § ! ¡

¥ §

ë Ð ñ å Ó Ð ë Ð Ò Ó Ô Õ

© ( ¡ 0 1 £ © © © § ! £ ¡ § § ! B ! ¡

 postgres © © ©    ¡ © § ¡

E @ © £ ¡ © § ! ! © © ! 0 ¡ ! £ ¡ © ( ¡ 0 1 £ ©

¡ B ¡     © £ ! £ ¡ © § ! ! © ©

! 0 ¡ È ¡ § © © !     § E ! § © 1 ¡ © § ¡ B © E ! B ¡ ©     £ ¡ 0 © E E     © © ! E E © © £ !

E ! § © £ ! © § ¡ ! 0 ¡ © ¡ £ B ! ! £ 0 £ ! £ !

}

© B

È ! § ¢ ¢ © £ ! £ ¡ © ( ¡ 0 1 £ © © § ©

¢ © £ B 0 © © © E 0 ! £     £ ¡ 1 £ ! B ! © ¡     ¡ £ 0 © © 1 © © £ ! § B © 0 © ¡ © 0

" ¢ ¡ § ©     ! £ !

0 ¡ ¡ § ¡ ! £ ¡ 8 © 1 ! © E © 0 ! © © §     © £ ! £ ¡ © ( ¡ 0 1 £ ©

ê Õ

© © § B B ¡

© © §     © £ ! £ ¡ ©

º

Ì © © E ¡ ¡ E ¡ E ¡ B ¡

Ó Õ Õ æ

¥ §     © £ ! £ ¡ © © £ !

0 © © £ © 0 E ! ¡ £ © ! £ ¡

Eõ ú

0 0 ¡ © E © £ ¡     ¡ £ £ ! ¹ ¡ © © © 1 £ !

¥ §

Ò ì Ñ Ô ê Ô ë æ Ó Ò ì Õ Ó ì å è Ò ã Ò ë å ì å ì Ò æ Õ ë

ì Ò æ Ò ã Ò ë å Ò ì Ñ Ô ê Ô ë æ Ó Ò æ Õ Ó

¡

}

È © § !     © £ ¡ ! £ ©     ¡ Ã

! § © © 0 ! § ! £ ( ¡ 0 1 £ © E ¡ B © E ! B ¡     ! £ ! @ ! E © £ E B     § £ !     ¡ § 0 E ! © © 1 £ Ã

! | ¢ ! £ ! 0 © ¥ §

}

    © © !    ! £ © ¡ ! £ ¡ ² ¡ £ © § B 0 ¡ ¡ © E £ 0 ¡ B

! © § ! 0 © B ! 0 © © £ E ¡ 0 ¡ © ! © © ! 0 ¡ ¢ § ! 0 § § !     ! £ ! ! £ E ¡

createdb

¥ §

postmaster© © §     £ ¡ E © ¡ © ! E 0 Í ! E ¡ B ¡ !     © £ 0 ! © E ¡ 0 £ ¡ § E § © ! £ 1 Ã @ ¡ ©

¢ ! £ ! § !     © 0 E ¡ © ! § 0 © B ! ( ¡ 0 1 £ © 6 ! !# ¢ § E ! E ¡ © £ ¡ 0 © © E ¡ © E 0 ! ! §

post-

masterÈ © B ! 0 © © £ © 1 0 £ ¡ © § ¡ © £ £ ¡ £ © © § 0 © B ! © § ! E ¡ B E ! E © 0 £ ©

§ ¡     £ ¡ E © ¡ ! E F © ¥ §

postmaster    © © ! E © ¢ 0 ! £ ! £ ¡ ! £ 1 B © 0 ¡ © © § ! § Ã

© ! © £ © ©     ! £ !     ¡ © £ ! ¢ 0 ¡ E ¡ B     ¡ £ 0 ! B © 0 ¡ 3 © B ! £ 1 ¡ È © §     £ ¡     ¡ £ E ¡ ! £

! £ 1 B © 0 ¡ © © E © ! £ ¡ § ¡ © 0 © 0 ! 0 £ ! ! ! £ E ¡ ! £ ¡ 0 ¡ ¡ E ¡ ¡ © ¡

© © © E 0 ! ! § ! B ! © £ !     ¡ £ © © E 0 ¡

¥ § ! E F © © ( ¡ 0 1 £ © © §     £ ¡ 1 £ ! B ! © © E 0 ! § ©

postgres£ © ! §

§ ¡     © © © © E 0 ! £ © §

    © £ ! £ ¡ £ © E 0 ! B © 0 © © © © § 0 £     £ © 0 © © £ © © © ! £ ¡ © ( ¡ 0 1 £ ©

E ¡ © § ¡ B £ © © § ! ! © © ! 0 ¡ E ¡ B ¡ ! £ 1 B © 0 ¡

3 © B ! £ 1 ¡ È @ ! E © £ © 0 ¡ © § Ã

ó V

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 14/56

B ! © § © £     ¡ ¡ § E ¡ B     ! £ 0 ¡ § ¡ © ! § ! 0 ! § ! ! ¡ E ! ! E ¡     ¡ 0 B ! 0 © £

Ê

0 ¡ È

¢ ¡ £ © § § ¡ © 0 ¡ ¡ © 0

£ © E ¡ B © ! ¡ © 0 ¡ B § 0 ! £ ¡

Notación5 7 ¡

/usr/local/pgsql/ © § ! 0 © © ¡ B £ © © E @ © £ ¡ © !     ! £ ! £ ©     £ © © 0 ! £

© § E ! B ¡     ! 0 @

! § £ © E 0 ¡ £ ¡ @ ¡ B © © § ¢ ¢ © £ ! £ ¡ © ( ¡ 0 1 £ ©

¥ § ! ¡     È § ¡ E ¡ £ E @ © 0 © 5 W 7 5 ` 7

E ! ! © Ì     £ © ¡     ! § ! £ ! E § ! © ¡     Ã

E ¡ ! §

! § © £ E ¡ ! © 0 £ © § § ! © 5 a 7 5 c 7

© E ¡ 0 © 1 ! ! £ £ ! © £ 0 E ! § © 5 d 7

E ! © © © © § © 1 £ ! © § ! ¡     E ¡ © © ©     ! £ ! § ! ! £ £ ! © £ 0 E ! § ©

¥ § ¡ © © BC ¢ § ¡ È § ¡     ! £ 0 © 5 7 5

7

© !     ! £ ! ! 1 £ ¢ ¢ ! £ © Ì     £ © ¡ © ¡ ¡ § © ! !

5 d 7 © © § ¡     © £ ! ¡ £ ¡ ¡ § © ! ¡

6 ¡ © © B     § ¡ B ¡ 0 £ ! £

£ © © © © E 0 ! ! © © ! £ ! E © 0 !     £ ¡ 1 £ ! B ! 6 !

£ © © © © E 0 ! ! © © § ! E © 0 ! © § £ ¡ ¡ 0 © 0 ! £

    £ © E © !     ¡ £ 5 g 7 6 ! £ © ©

© © E 0 ! ! © © § ! E © 0 ! © §     © £ ! £ ¡ © ( ¡ 0 1 £ © © 0 ! £

    £ © E © !     ¡ £ 5 1 7 È

B © 0 £ ! © § ! £ © © © © E 0 ! ! © © § ! E © 0 ! © ! £ ¡     £ § © 1 ¡

© 0 ! £

    £ © E © !     ¡ £ 5 q 7 6 ! £ © © © 3 4 6 © 0 ! £

    £ © E © !     ¡ £ 5 r s 7 ¡ ¡

© 0 ! £

¢ £ © E © !     ¡ £ 1 Í     £ ¡ BC ¢ 0 È ©     © © ¡ © § E ¡ 0 © Ì 0 ¡

Nota: En el momento de escribir (Postgres v6.5) la notación de las órdenes flagging(o flojos) no es universalmente estable o congruente en todo el conjunto de la docu-mentación. Por favor, envíe los problemas a la Lista de Correo de la Documentación (oDocumentation Mailing List) 13.

Y2K Statement (Informe sobre el efecto 2000)

Autor: Escrito por Thomas Lockhart 14 el 22-10-1998.

¥ § ¥     ¡ © © ! £ £ ¡ § § ¡ í § ¡ ! § ¡ í § ¡ ! § © © § ¡& ¢ B © 0 8 © ! B

© ( ¡ 0 1 £ © 3 4 6     £ ¡ Ã

¢ ¡ £ E ¡ ! © §

£ ¡ § © E 1 ¡ © ¡ 0 $ ! £ © © ( ¡ 0 1 £ © E ¡ B ¡ © £ E ¡     Í § E ¡ È

1 ! £ ! 0 ! £ ©     ¡ ! § !     ¡ £ E ¡ B     ¡ £ 0 ! B © 0 ¡ ¡ £ © B © 0 ¡ 3 © B ! £ 1 ¡ È

© © § B ¡ B © 0 ¡ © § ! © E £ 0 £ !

Þ

3

¥ § ! 0 ¡ £ © © 0 © 0 © Ì 0 ¡ È ¡ § 0 ! £ ¡ © © § ©     ¡ © ¡     ¡ £ 0 © © ( ¡ 0 1 £ © © ©

¡ © B Ã

£ © ©

z z ÷ È ¡ 0 © © E ¡ 0 ! E ! © 1 Í ² £ ¡ § © B ! © © § E 1 ¡ © ( ¡ 0 1 £ © £ © § ! Ã

E ¡ ! ¡ E ¡ § ¡ E ! B ¡ © © E @ ! © 0 ¡ £ ¡ ! §

© ¥ © £ ¡ ©

3

¥ § ! 0 ¡ £ © © 0 © ¡ £ B © ¡ 0 © © E ¡ 0 ! E ! © § ! © Ì 0 © E ! © ¡ £ B © ¡ £ © © §

    £ ¡ § © B ! © § © © E 0 ¡

¡ E © £ 0 ¡ © § ! 9 ¢ £ © ! © £ © 1 £ © È ¡ © ¡ 0 £ ¡ E ! B     ¡

© ¡ È ¡ £ © © £ ¡ © © ( ¡ 0 1 £ © £ © E © 0 © ¡ © § ! © £ ! E 0 ! § ( ¡ £ ! B ¡

@ ! © £ ©     © £ ! ¡ ¡ £ ! § 1 ¡ ¡ £ ©     £ ¡ § © B ! © Ì 0 © © È ! ! § ! ! © © @ ! 0 ! § Ã

! ! ! ! § !     ! £ 0 E ¢ ! E ! E 0 ! © § ¡ ! £ ¡ © § ! § 0 ! © E ¡ £ £ © ¡ © ¡     ¡ £ 0 ©

3

( ¡ £ § ¡ © © § ! 0 ¡ £ ! © È § !     ¡ E ¡ © © ( ¡ 0 1 £ © @ ! E © ¡ £ © § ! © E @ ! ©

© © E £ © ! ¡ ¡ Í B © £ ¡     ! £ ! © § !    ¡ © 0

¡ E B © 0 ! ! © § ! í ! © §

º

! £ ¡ Ø

"

© © § E !# ¢ 0 § ¡ © § ¡ 0     ¡ © ! 0 ¡ ( ! £ ! !    ¡ © E £ 0 ¡ E ¡ ¡ Í B © £ ¡ È

§ ! 0 £ ! E 1 E ! 0 ! ©

z §

È ¡ © § !    ¡

@ © 5 §

Ã

Ã

7 © 0 © £     £ © 0 ! E ¡ B ¡

5

z §

Ã

Ã

7 È B © 0 £ ! © 5 ÷ z Ã

Ã

7 © 0 © £     £ © 0 ! E ¡ B ¡ 5

÷ z Ã

Ã

7

ó w

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 15/56

3

6 ¡     £ ¡ § © B ! £ © § ! 0 ¡ ! § © © E 0 ¡

© © § 3

0 © B ! ¡¤ ¢ © £ ! 0 ¡

¡ £ © © § ©

© 0 0 ! § ! ¡ ( ¡ 0 1 £ © £ © § ! E ¡ ! ¡ E ¡ § ! ¡ 0 © E © á § ! © E @ ! ! E 0 ! § á ©     © ©

    £ ¡     ! 1 ! £ § § © 1 ! £ !     ! £ © E © £     £ ¡ § © B ! ¡ £ © © § © © E 0 ¡

    £ ¡ E ¡     ¡ £ ( ¡ 0 1 £ ©

£ ! © ! 8 @ © í ( £ ¡ © E 0 Ø & ! 8 @ © ( © £ § 0 0 0 © Ø (     ! £ ! § © © £ ! E B

    £ ¡ Ã

! ¡ £ © © § ! 0 ¡ © § © © E 0 ¡

È     ! £ 0 E § ! £ B © 0 © © § ¡ © 0 © © © © £ E ¡ © §

¡     © ¡ £ E © ¡ E 1 ¡ ! © £ 0 ¡ È E 1 ¡     ¡ £ © § © ¡ @ ! © ¢ ! 1 ! £

Copyrights y Marcas Registradasx Ò æ Ó Ò ì Ð é é Ô y ê ì å è Õ ë æ å æ Õ ë ì å é Õ ñ ¤ Ó Ô û

ù

æ ë å ñ Ó å ë å ê æ Ò Ò Ð ò ê Ô é Ò Ñ å ê æ å Ò Ñ Õ ì Õ ì å Ò é è Ò Ó Ò é Ô y ê

¤ ê Õ

ù

Ò ë Ô ì Õ Ò ñ Ó Õ ã Ò ì Ò ñ Õ Ó ë Ð ë Ò Ð æ Õ Ó å ë Õ Ó Ô û Ô ê Ò è å ë ô x Õ ë ê Ô é Õ ë æ å æ Õ ë ì å é Õ ñ ¤ Ó Ô û

ù

æ û Ò Ó Ò ê æ ò Ò ë

ì å Ó å é

ù

Õ ë ¤ ì å Ñ ë è å û Ò è Ô ë Ñ Õ ë Ð å æ Ô å ê å ê Ò è Ô ì å ë Õ ê è Õ ë Õ Ó Ô û Ô ê Ò è å ë å ê Ô ê û è ë Õ Ð ê Ò æ Ó Ò ì Ð é é Ô y ê

Ò ñ Ó Õ ã Ò ì Ò ñ Õ Ó è Õ ë Ò Ð æ Õ Ó å ë ¤ Õ ë Ð ë Ó å ñ Ó å ë å ê æ Ò ê æ å ë è å û Ò è å ë ô

( ¡ 0 1 £ © 3 4 6 0 © ©

¡     £ 1 @ 0

z z ÷ Ã

² ¡ £ ( ¡ 0 1 £ © 3 4 6 E © 0 £ © ! ¡ § ¡

0 £ B ¡ © § ! § E © E ! ©

© £ F © § ©

( ¡ 0 1 £ © z { 0 © ©

¡& ¢ £ 1 @ 0

z z Û Ã {     ¡ £ § ¡

© 1 © 0 © © § !

º

© £ ! ©

! § Ã

¡ £ ! 3 © ! 0 ¡ £ ¹ ! © § ¡ È E ¡     ! È B ¡ E ! E 0 £ E © © 0 © ¡ 0 $ ! £ ©

¡ E B © 0 ! E     ! £ ! E ! § © £     £ ¡     0 ¡ È 1 Í     ! 1 ¡ È ! E © £ ¡     ¡ £ © Ã

E £ 0 ¡ È © B     £ © © © B ! 0 © 1 ! © § E ¡     £ 1 @ 0 © §    

£ £ ! ¡ ! 0 © £ ¡ £ È © 0 ©    

£ £ ! ¡ § ¡

¡    

£ £ ! ¡ 1 © 0 © © 0 ¡ ! § ! E ¡     !

¥ 1 Í E ! ¡ § !

º

© £ ! ©

! § ¡ £ ! © @ ! £

£ ©     ¡ ! § © © !    ¡ È E ! ! ¡

! E ! § © £     © £ ¡ ! ¡ © 0 ! È © ! © 0 ¡ £ © E 0 ¡ È £ © E 0 ¡ È ©     © E ! § © È ! E E © 0 ! § ©

¡ E ¡ 1 © 0 © È E § © ¡ § E £ ¡ E © ! 0 © © £ © § 0 © © § ¡ © © 0 © ¡ 0 $ ! £ ©

¡ E B © 0 ! E È E § ¡ § !

º

© £ ! @ ! ¡ ¡ 0 E ! ! © § !) ¢ ¡ § ! © 0 ! § ©

!    ¡

6 !

º

© £ ! ©

! § ¡ £ ! £ © @ ! ©     © E E ! B © 0 © ¡ £ © E © £ E ! § © £ 1 ! £ ! 0 ! È Ã

E § © ¡ È     © £ ¡ ¡ § B 0 ! ! Í E ! B © 0 © ! È § ! 1 ! £ ! 0 ! B     § E 0 ! © E ¡ B © £ E ! § !

E !     ! E ! Ë ¢ ! £ ! E B     § £ © 0 © £ B ! ¡     £ ¡     0 ¡ ¥ § ¡ 0 $ ! £ © © © 0 £ ©

! © © 0 £ © 1 ! á 0 ! § E ! § á È § !

º

© £ ! ©

! § ¡ £ ! ¡ 0 © © 1 ! ¡ § 1 ! Ã

E © B ! 0 © B © 0 ¡ È !# ¢ ¡ ¡ È ! E 0 ! § ¹ ! E È B © ¡ £ ! B © 0 ¡ ¡ B ¡ E ! E

º

Ì © ! B ! £ E ! £ © 1 0 £ ! ! ©

Ê

    © È 6 0 3 Û È 3 (

}

È 3

3 3 ¡ § ! £ ¡

B ! £ E ! £ © 1 0 £ ! ! © 3 E £ ¡ 0 © B È E ¥

È ¥

0 ! 0 ¡ È

}

§     @ !

}

(

º

6 Ã

8

¡ B ! £ E ! £ © 1 0 £ ! ! © 1 0 ! § ¥     B © 0

¡ £     (

}

Ã

3

Á

( Ã

º

¡ B ! £ Ã

E ! £ © 1 0 £ ! ! ©

Á

© $ § © 0 0 Ã ( ! E F ! £

¡

3

Ê

© B ! £ E ! £ © 1 0 £ ! ! ©

¢ © 3 ¡ 0 $ ! £ ©

¡ ! 0 ¡

Notas

@ 0 0    

Þ Ê Ê

¢ ¡ 0 1 £ © § ¡ £ 1

Ê

@ 0 0    

Þ Ê Ê

F Ã 0    

3

© £ F © § © ¥

º Þ

ö

Ê

² ¡ 0 1 £ ©

Ê

    ¡ 0 1 £ © @ 0 B §

@ 0 0    

Þ Ê Ê

$ $ $ § § 0 £ ! E ¡ B

Ê

Û @ 0 0    

Þ Ê Ê

$ $ $ ¡ £ B Ì E ¡ B

Ê

{ @ 0 0    

Þ Ê Ê

$ $ $ E ©

Ê Ê

( ! £ 0 8

¡ § § !

Ê

3

Ê

F 8 @ ¡ B © @ 0 B §

÷ B ! § 0 ¡

Þ

! ¡ £ B Ì E ¡ B

§ @ 0 0    

Þ Ê Ê

@ 0 0 D E © £ F © § © ©

Ê

¡ § §

Ê

ö     ¡ 0 1 £ © § ¡ £ 1

z B ! § 0 ¡

Þ

    1 § Ã 1 © © £ ! § ² ¡ 0 1 £ © § ¡ £ 1

@ 0 0    

Þ Ê Ê

$ $ $ ( ¡ 0 1 £ © 3 4 6

í

Ê

B @ ¡ ! £ E

Ê

    1 § Ã 1 © © £ ! §

Ê

ó»

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 16/56

B ! § 0 ¡

Þ

    1 § Ã ¡ E ¢ ¡ 0 1 £ © § ¡ £ 1

@ 0 0    

Þ Ê Ê

$ $ $ ( ¡ 0 1 £ © 3 4 6

í

Ê

B @ ¡ ! £ E

Ê

    1 § Ã ¡ E

Ê

B ! § 0 ¡

Þ

¡ E ¢ ¡ 0 1 £ © § ¡ £ 1

Û B ! § 0 ¡

Þ

§ ¡ E F @ ! £ 0 ! § B E ! § 0 © E @ ©

{ @ 0 0    

Þ Ê Ê

$ $ $     ¡ 0 1 £ © § ¡ £ 1

Ê

¡ E

Ê

© £

Ê

! 0 ! 0     © @ 0 B

÷ @ 0 0    

Þ Ê Ê

$ $ $ 1 ¡ £ 1

Ê

¡ 0 $ ! £ ©

Ê

© ! £

@ 0 B §

§ @ 0 0    

Þ Ê Ê

§ ! 1 ! 1 © ¢ © £ § E ¡ B

Ê

© $

Ê

F @ 0 B §

ó Ç

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 17/56

Capítulo 2. SQL

¥ 0 © E !7 ¢ 0 § ¡ !# ² ! £ © E ¡ £ 1 ! £ ! B © 0 © E ¡ B ¡     ! £ 0 © © § ! 0 © ¡ E 0 ¡ £ ! § © 3 0 © ! 3 B Ã

F ¡ E

Ï Ô Ñ Õ Ô é ë ó ï ï ×

3 4 6 © @ ! E ¡ © £ 0 ¡ © © § § © 1 ! © © E ¡ § 0 ! £ © § ! E ¡ ! § B

    ¡     § ! £ ¥ § ¡ B Ã

£ © 5 3 4 6 7 © ! ! £ © ! 0 £ ! ©

Ï æ Ó Ð é æ Ð Ó å ì Ð å Ó ¤x

Ò ê û Ð Ò û å

6 © 1 ! © © E ¡ § 0 !

© 0 £ E 0 £ ! ¡

¥

z § Û ¡ ! §

@ ! B © £ § ! ¡ 0 £ ¡ © © £ ¡ © § § © 1 ! © 3 ¥ 4

º

¥ 6

Ï æ Ó Ð é æ Ð Ó å ì j ê û è Ô ë

ù

Ð å Ó ¤x

Ò ê û Ð Ò û å

©

© © ! £ E @ ¥ 0 © § © 1 ! © © B     § © B © 0 ! Ã

¡ E ! § B © 0 © ©     £ ¡ 0 ¡ 0 ¢ ¡ ©

§ § ! B ! ¡ 3 ¥ 4

º

¥ 6 Ã

©

z § Û Ã § { ¥

z § ÷ Ã

§ § © © ! £ © © 3 ¥ 4

º

¥ 6 § § ! B ! ! 3 ¥ 4

º

¥ 6

Ê

© § ¡ B £ © © E ! B !

3 4 6

© ! £ £ ¡ § § © ¡ ¢ £ ¡ 0 ¡ 0 ¢ ¡ § § ! B ! ¡ 3 0 © B

©

z § § 3 0 © B

BC ¢ § © B © 0

! BC ¢ § ¡ E ¡ 0 ¡ © 3 ¥ 4

º

¥ 6

Ê

¡ $ 3 4 6

Í B © £ ¡ © E ! B ¡ © ©

§ © @ E © £ ¡ ! ¡ $ 3 4 6

£ ! 0 © © § ¢ £ ¡ © E 0 ¡ 3 0 © B

© 0 ! § © Í B © £ ¡ ©

¢ © 0 ¡ © ! £ ¡ È 0 ! 0 ¡ 0 © £ ¡ ©

E ¡ B ¡ © ! § 1 ¡ E § © 0 © © § © E E ¡ ! ¡

í £ ! E ! ! § Ì 0 ¡ ! E © ¢ 0 ! E © 3 0 © B

© § ¡ B B ¡ È

E © § © ! £ £ ¡ § § ¡ ©

¢ £ ¡ E 0 ¡ E ¡ B © £ E ! § © © BC ¢ § © B © 0 ! ! © § § © 1 ! © 3 4 6 ! ! ¡ © § ! 0 © E ¡ § ¡ 1 !

3 0 © B

£ ! 0 © § ¡ !    ¡ 1 © 0 © È

! 0 ! 0 © ¡ 0 £ ¡ © © ¡ £ © ! E ! £ ¡     £ ¡ E 0 ¡

3 4 6 0 ! § © E ¡ B ¡ 3 4 6

Ê

3

È

È

}

6 ¥

£ ! E § ©

¡ £    

È í

Ê

3 4 6 ! 0 !

í © © £ ! §

¡ £    

È 3

}

3 ¥ 3 ! © E

3 4 6 © 0 ! B © 0

! £ ¡ E ! § @ ¡ ¥

z ö

È § !

}

B © £ E !

! 0 ¡ ! § 3 0 ! ! £

0 0 0 ©

}

3

© E ! £ 1 !

¡ B 0 ©

! © © ! 0 ¡

Á

© § © ! £ £ ¡ § § ¡ © !

¢ £ ¡     © 0 ! © § © 1 ! © £ © § ! E ¡ ! § © 0

! £ ¥ 0 !w ¢ £ ¡¤ ¢ © 0 ! © £ ! 0 E ! ! ©

z ö ÷

E ¡ 0 !

E ! B © 0 © © © § ! § © E 0 ¡ ©

© 3 4 6 ¥

z ö § È © 0 © © 0

! £

}

3 ©

0 ! B ! E ©     0 ! ¡     ¡ £ § !

£ 1 ! ¹ ! E 0 © £ ! E ¡ ! § © ¥ 0 ! ! £ ¹ ! E 3

¥ 0 !

© £ © 0

! £ ¡ £ 1 ! § © 3 4 6 £ © E ¡ £ B ! § B © 0 © © § ¡ B £ © © á 3 4 6

Ê

ö ÷ á ¥

z ö z È © § © 0

! £ ¡ £ 1 ! § © © Ì 0 © ¡ È £ © E © § © ¡ ¡ B £ © È 0 ! B ¡ £ Ã

B ! § È © á 3 4 6

Ê

ö z á 8 ! B ©

z ö z © © ! £ £ ¡ § § © 0

! £ £ © § ! E ¡ ! ¡ § § ! B ! ¡

ú Ò æ Ò ã Ò ë åx

Ò ê û Ð Ò û å j Ñ ã å ì ì å ì Ï x

¥ 3 4 6

6 ¡ E ¡ B 0 3

}

3 @ ! © 0 ! ¡ 0 £ ! ! ! ¡ £ ! 0 © B E @ ¡ !    ¡ © § ! © E

© ! © £ B ! B     § ! ! © § © 0

! £ ¡ £ 1 ! § È § § ! B ! ¡ ¡ £ B ! § B © 0 ©

Ï x

F

¡

Ï x

ï F

¥ 0 ! © £ © E ¡ £ 0 © © 0

! £ £ ! 0 E ! ¡ £ ! 0 ©

z z

Þõ ê æ å Ó ê Ò ç

æ Ô Õ ê Ò è Ï æ Ò ê ì Ò Ó ì õ Ï

õ j ð ï 4Î » m

ó ï ï F ú Ò æ Ò ã Ò ë åx

Ò ê û Ð Ò û å Ï x

3 4 6

Ê

z

© § ! © £ ! § !

© ¡ £ B ! § B © 0 © § ! 1 © 0 © © £ © © £ © E ! ¡ @ ! § ! © n 3 4 6 © 0

! £ o 3 © ! ! © Ã

E £     E © 0 ! § § ! ! © 3 4 6

Ê

z

©

ú Ò æ å Ò ê ì ú Ò Ó å ê ó ï ïÎ

¥ © § B ¡ B © 0 ¡ © © E £ £

© 0 © ¡ E B © 0 ¡ È © © 0

© ! £ £ ¡ § § ! ¡ © ¡ © 0

! £ © ¡ B ! ¡ ¡ £ B ! § B © Ã

0 © E ¡ B ¡

Ï x

V

3 © ¢ § ! 0 © ! @ ! E © £ © 3 4 6 § © 1 ! © © ! § E ! E © E ¡ B     § © 0 ¡ © 8 £ 1 Ã

E ¡ B     § © 0 © § ! 1 ! 1 ©

È © © E £ È © £

    ¡ § © 0 ¡ ! § ! E ¡ § 0 ! E ¡ B     0 ! § © È     ¡ £

© © B     § ¡ E ¡ § 0 ! £ © E £ !

¥ 0 ! © ! 0 ! £ © ! B E ¡ BC ¢ § © !     ¡ £ © § § ¡ ¡ © © ©

©     © £ ! £ § ! ! § ¹ ! E © § © ¡ © 0

! £ ! 0 © ©

z z z

El Modelo de Datos Relacional

¡ B ¡ B © E ¡ ! B ¡ ! 0 © È 3 4 6 © § © 1 ! © £ © § ! E ¡ ! § ¥ 0 ¡ © £ © © E £ © ©

! ! © © §

Ñ Õ ì å è Õ ì å ì Ò æ Õ ë Ó å è Ò é Ô Õ ê Ò è

¢ § E ! ¡ E ! § B © 0 © ¢ ¡ £ ¥

¡ ©

z §

! Ã

£ © B ¡ ! © E £ ¢ E ¡ £ B ! § © § B ¡ © § ¡ © ! 0 ¡ £ © § ! E ¡ ! § B

0 ! £ © ©

Õ Ó Ñ Ò ç

è Ô ì Ò ì å ë ì å è þ Õ ì å è Õ ¢ å è Ò é Ô Õ ê Ò è ì å ú Ò æ Õ ë

È     © £ ¡     £ B © £ ¡ © £ © B ¡ ! £ ! B £ ! ! © ©

    0 ¡ © 0 ! B

0 0 ¡

óÎ

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 18/56

º

!

ã Ò ë å ì å ì Ò æ Õ ë Ó å è Ò é Ô Õ ê Ò è

© ! ! © © ! 0 ¡ © ©     © £ E ©     ¡ £ § ¡ ! £ ¡ E ¡ B ¡

!

é Õ è å é é Ô y ê ì å æ Ò ã è Ò ë

! ! B

© 0 ! § !

º

! 0 ! § ! E ¡ 0 © © § ! E ¡ § B ! È

© § ! © E ! ! § ! £ ©     £ © © 0 ! £ © 1 0 £ ¡ È E ! ! E ¡ § B ! £ ©     £ © © 0 ! ! 0 £ 0 ¡ © §

£ © 1 0 £ ¡ E ¡ 0 © ¡ © § ! 0 ! § !

xÒ Ò ë å ì å ú Ò æ Õ ë ì å ý Ó Õ å å ì Õ Ó å ë ¤

¨

Ó æ ò é Ð è Õ ë

B © 0 £ !

© © B     § ¡ © ! © © ! 0 ¡ E ¡ 0 © 0 © © 0 £ © 0 ! § !

3

3

º

( ( 6 ¥

© ! 0 ! § ! © £ © E ¡ 1 © © § Í B © £ ¡ 3

È © § ¡ B £ © 3

}

¥

§ !

E !

8

©     £ ¡ © © ¡ £

3

(

}

8 © ! 0 ! § ! © ! § B ! E © ! © § Í B © £ ¡ (

© § ¡ B £ © (

}

¥

© §     £ © E ¡

(

¥

© ! £ 0 E § ¡

3

3 ¥ 6 6 3 ! § B ! E © ! ¡ £ B ! E ¡ £ © ! £ 0 E § ¡ (

© © ¡     ¡ £     £ ¡ Ã

© © ¡ £ 3

¥ 0 ¡ £ © © © 0 ¡     ! £ ! E ¡ © E 0 ! £ § ! ¡ 0 ! § ! © 0 £ © © § § !

¯ ¶ - ° ´

Ä

· - m - l · m - À ¿ - - m - · « l ¾ n ´ ·

SUPPLIER SNO | SNAME | CITY SELLS SNO | PNO

---+------+----- ---+---

1 | Smith | London 1 | 1

2 | Jones | Paris 1 | 2

3 | Adams | Vienna 2 | 4

4 | Blake | Rome 3 | 1

3 | 34 | 2

PART PNO | PNAME | PRICE 4 | 3

---+---------+------ 4 | 4

1 | Tornillos | 10

2 | Tuercas | 8

3 | Cerrojos | 15

4 | Levas | 25

6 ! 0 ! § ! (

}

8 3

º

( ( 6 ¥

©     © © © £ E ¡ B ¡

å ê æ Ô ì Ò ì å ë

3 ¥ 6 6 3 ©     © © © £

E ¡ B ¡ !

Ó å è Ò é Ô y ê

© 0 £ © ! £ 0 E § ¡h ¢ ! £ 0 E § ! £     £ ¡ © © ¡ £     ! £ 0 E § ! £

¡ B ¡ © £ © B ¡ B

0 ! £ © È 3 4 6 ¡     © £ ! © § ! 0 ! § ! 0 ! § E ¡ B ¡ @ ! ¡ © ! È     © £ ¡

! 0 © © © § § ¡ © 0 ! £ © B ¡ § ! 0 © ¡ £ ! © § B ¡ © § ¡ £ © § ! E ¡ ! §

Formalidades del Modelo Relacional de Datos¥ § E ¡ E © ¢ 0 ¡ B ! 0 © B

0 E ¡ © ! E © ! ¡ © § B ¡ © § ¡ £ © § ! E ¡ ! § © § !

Ó å è Ò é Ô y ê

© § !

0 © ¡ £ ! © E ¡ 0 ¡ È § ! E ! § © E ¡ 0 ¡ © §     £ ¡ E 0 ¡ E ! £ 0 © ! ¡ © ! § 0 ! ©

¡ B ¡ ¥ 0 ! £ © § ! E © § ! 0 © ¡ £ ! © E ¡ 0 ¡     £ ¡     ¡ £ E ¡ ! ! § B ¡ © § ¡ ¡ B £ ©

¡ E ¡ £ E ¡ § ! £ © § ! E © §

þ Õ ì å è Õ j ê æ Ô ì Ò ì ç ¢ å è Ò é Ô y ê

¡ £ B ! § B © 0 © È ¡ B ¡

© BC ¢ § © B © 0 © E ¡ 0 ¡ © ! § ¡ £ © ( ¡ £ © © B     § ¡ È © § E ¡ 0 ¡ © § ¡ © 0 © £ ¡ ©

¡ B ¡ 8 ! B ¡ © © B     § ¡ © ¡ B ¡ § ! E ! © ! © E ! £ ! E 0 © £ © © § ¡ 1 0

§ ¡ Í B © £ ¡ £ © ! § ©

¥ §

ñ Ó Õ ì Ð é æ Õ é Ò Ó æ å ë Ô Ò ê Õ

© § ¡ ¡ B ¡

D1

È

D2

È

Dk

È © E £ 0 ¡

D1

D2

Dk

© © §

E ¡ 0 ¡ © § ! F Ã 0     § !

v 1È

v 2È

v kÈ 0 ! § © ©

v 1 z D1

È

v 1 z D1

È

v k z Dk

( ¡ £ © © BC ¢ § ¡ È E ! ¡ 0 © © B ¡

kr

È

D1

r

{0,1}

D2

r

{a,b,c}© 0 ¡ E ©

D1

D2

©

{(0,a),(0,b),(0,cº

!

© § ! E © E ! § © £ E ¡ 0 ¡ © §¤ ¢ £ ¡ E 0 ¡ E ! £ 0 © ! ¡ © ¡ ¡ B

¡ B Ã

¡

Þ

R{

D1

D2

Dk

ó ×

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 19/56

( ¡ £ © © B     § ¡ È

{(0,a),(0,b),(1,a)}© ! £ © § ! E @ © @ © E @ ¡ © E ¡ 0 ¡ ©

D1

D2

B © E ¡ ! ¡ ! 0 ©

6 ¡ B © B £ ¡ © ! £ © § ! E © § § ! B ! 0     § !

! ! £ © § ! E © ! § 1 Í ¢ £ ¡ E 0 ¡

E ! £ 0 © ! ¡

D1

D2

Dk

© E © © 0 © © © §

k © © 0 © B ¡ ¡ © E ¡ 0 ¡

©

kà 0     § !

º

! £ © § ! E ©     © © © £ E ¡ B ¡ ! 0 ! § ! E ¡ B ¡ ! B ¡ È £ © E © £ ©

xÒ Ò ë å ì å ú Ò æ Õ ë

ì å ý Ó Õ å å ì Õ Ó å ë ¤

¨

Ó æ ò é Ð è Õ ë

¡ © E ! ! 0     § ! © £ © ¢ £ © © 0 ! E ¡ B ¡ ! § ! E ! ! E ¡ § B Ã

! E ¡ £ £ ©     ¡ © ! E ¡ BC ² ¡ © 0 © © § ! 0     § ! ! ¡ ¡ B £ © § § ! B ! ¡ ! 0 £ 0 ¡

!

§ ! E ¡ § B ! È ¡ ! E © £ E ! B ¡ ! § ! © E ©

å ë Ð å Ñ Ò Ó å è Ò é Ô Õ ê Ò è

º

å ë Ð å Ñ Ò Ó å è Ò é Ô Õ ê Ò è

R© E ¡ 0 ¡ 0 ¡ © ! 0 £ 0 ¡

A1

È

A2

È

Ak

Á

! ¡ B ¡

Di

È     ! £ ! E ! ! ! 0 £ 0 ¡

Ai

È

}

r

i}

r

kÈ © ¡ © © 0 ¡ B ! § ¡ ! § ¡ £ © © § ¡ ! 0 £ 0 ¡

¥ 0 ¡ E © © E £ B ¡ © © © B ! £ © § ! E ¡ ! § E ¡ B ¡

R(A1

, A2

, ... Ak

)

Nota: Un esquema relacional  es sólo un juego de plantillas mientras que una relación  esun ejemplo de un esquema relacional . La relación consiste en las tuplas (y pueden servistas como una tabla); no así el esquema relacional.

Dominios contra Tipos de Datos

! @ © B ¡ @ ! § ! ¡ ©

ì Õ Ñ Ô ê Ô Õ ë

© § ! © E E ! 0 © £ ¡ £

© E ! § E ! £ © © § ¡ B ¡ © È

¡ £ B ! § B © 0 © È E ¡ 0 ¡ © ! § ¡ £ © 2 ¢ ¡ £ © © B     § ¡ © § E ¡ 0 ¡ © § ¡ © 0 © £ ¡ ¡ © §

© § ¡ Í B © £ ¡ £ © ! § ©

¥ 0 £ B ¡ © 0 © B ! © ! © © ! 0 ¡ È @ © B ¡ @ ! § ! ¡

©

æ Ô ñ Õ ë ì å ì Ò æ Õ ë

B

© © ¡ B ¡

! ¡ @ © B ¡ © ¡ ! 0 ! § ! È @ © B ¡

0 ¡ B ! ¡ ! © E ¡ £ © ! 0 £ 0 ¡ E § £

}

E ¡ ! § B © 0 © È @ © B ¡ © E ¡

© 1 ¡ © ! 0 ¡ © © £

© £ ! § B ! E © ! ¡ © ! § ¡ £ © © § ¡ ! 0 £ 0 ¡ ( ¡ £ © © BC ¢ § ¡ È

§ ¡ ! § ¡ £ © ©

SNAME © § ! 0 ! § !

SUPPLIER © £

E ! © ! © E ! £ ! E 0 © £ © È B © 0 £ ! ©

SNO! § B ! E © ! £

© 0 © £ ¡ © B ¡ © 0 ¡ ! 1 ! ¡ 0 ¢ ¡ © ! 0 ¡ ! E ! ! ! 0 £ 0 ¡

¥ § 0 ¢ ¡ ©

SNAME © £

 }

Á }

© 0 © © © § 0     ¡ 3 4 6     ! £ ! E ! © ! © E ! £ ! E 0 © £ ©

© § ¡ 1 0

}

r

È © § 0     ¡ ©

SNO © £

8 ¥ í ¥

¡ § ! ! 1 ! E © 0     ¡ ©

! 0 ¡ È 0 ! B @ ! £ © B ¡ © § © E E ¡ ! ¡ ¡ B ¡| ² ! £ ! ! 0 £ 0 ¡ ¥ § ¡ B ¡ ©

SNAME© © § E ¡ 0 ¡ © 0 ¡ ! § ! E ! © ! © E ! £ ! E 0 © £ © © § ¡ 1 0

}

r

È B © 0 £ !

© § ¡ B ¡ ©

SNO© © § E ¡ 0 ¡ © 0 ¡ ¡ § ¡ Í B © £ ¡ © 0 © £ ¡

Operaciones en el Modelo de Datos Relacional¥ § ! © E E     £ © !

Õ Ó Ñ Ò è Ô ì Ò ì å ë ì å è þ Õ ì å è Õ ¢ å è Ò é Ô Õ ê Ò è ì å ú Ò æ Õ ë

© B ¡ § ! ¡ E

B ! 0 © B

0 E ! © § B ¡ © § ¡ £ © § ! E ¡ ! §

}

@ ¡ £ ! E ¡ ¡ E © B ¡ E ¡ B ¡ § ¡ ! 0 ¡     © © ! § B ! Ã

E © ! £ © 0 § ¹ ! ¡ B ¡ © § ¡ © ! 0 ¡ £ © § ! E ¡ ! § È     © £ ¡ ¡ E ¡ ¡ E © B ¡     ¡ © B ¡

@ ! E © £ E ¡ 0 ¡ ! © 0 ! 0 ! § !     ! £ ! £ © E     © £ ! £ ! § 1 ¡ © © © ! ! © © ! 0 ¡ 0 ¡ ! ! ( ¡ £

© © B     § ¡ È ! § 1 ©     ¡ £ ! ¢ £ © 1 0 ! £     ¡ £ § ¡ ¡ B £ © © 0 ¡ ¡ § ¡     £ ¡ © © ¡ £ © © © Ã

! © § ! £ 0 E § ¡ 0 ¡ £ § § ¡

Á

! ¡ ¡ £ B ! © £ © 0 © © ¡ 0 ! E ¡ ©     ! £ ! © Ì     £ © ! £ § !

¡     © £ ! E ¡ © © 0 £ © £ © § ! E ¡ ©

3

¥ §

è û å ã Ó Ò ¢ å è Ò é Ô Õ ê Ò è

© ! ¡ 0 ! E ! § 1 © £ ! E ! È © § ! E ! § § ! E ¡ § 0 ! © © Ì     £ © !

!     § E ! ¡ ¡     © £ ! ¡ £ © ©     © E ! § ¹ ! ¡ ! § ! £ © § ! E ¡ ©

3

¥ §

ð è é Ð è Õ ¢ å è Ò é Ô Õ ê Ò è

© ! ¡ 0 ! E § 1 E ! È ¡ © § ! E ¡ § 0 ! © © Ì     £ © ! ¡ £ B Ã

§ ! ¡ ! § 1 ! £ © 0 £ E E ¡ © § 1 E ! © § ! 0 ¢ ¢ § ! © § ! £ © " ¢ © 0 ! © ! ! 0 ! E © £

ó ï

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 20/56

Álgebra Relacional¥ §

è û å ã Ó Ò ¢ å è Ò é Ô Õ ê Ò è

© 0 £ ¡ E !     ¡ £ ¥

¡ ©

z §

¡ 0 © © E ¡ 0 ¡

© ¡     © £ ! E ¡ © E ¡ § ! £ © § ! E ¡ ©

3

3 ¥ 6 ¥

8

Þ

© Ì 0 £ ! ©

æ Ð ñ è Ò ë

!     ! £ 0 £ © ! £ © § ! E © ! 0 ! 1 ! ! £ © 0 £ E E

! ! 3 © !

R ! 0 ! § ! © E ¡ 0 © © ! 0 £ 0 ¡

A

r a 0

z

0

}

r ! c ¡ ©

t © ¡ 0 ! ! 0 ¢ ¢ § ! ©

R

t(A) © ¡ 0 ! © § ! § ¡ £ © § ! 0 £ 0 ¡

A © § ! 0     § !

t

3

(

¸

¥

8

Þ

© Ì 0 £ ! ©

Ò æ Ó Ô ã Ð æ Õ ë

E ¡ § B !

©     © E E ¡ © ! £ © § ! E 3 © !

R !

£ © § ! E © E ¡ 0 © © ! 0 £ 0 ¡

X

R

r a 0

0

z

Rc È ¡ ©

t

X

© ¡ 0 ! © § ! § ¡ £

© § ! 0 £ 0 ¡

X © § ! 0     § !

t

3

(

º

8

Þ

E ¡ 0 £ © © §     £ ¡ E 0 ¡ E ! £ 0 © ! ¡ © ¡ £ © § ! E ¡ © 3 © !

R ! 0 ! § !

© £ ! 1 ¡ ! £ 0

© !

S ! 0 ! § ! E ¡ £ ! 1 ¡ ! £ 0

R

S© © § E ¡ 0 ¡ © § !

î

à 0     § ! E ¡     £ B © £ ¡

E ¡ B     ¡ © 0 © ¡ £ B ! ! 0     § ! ©

R E ¡ Í § 0 B ¡

E ¡ B     ¡ © 0 © ¡ £ B ! ! 0     § ! ©

S

3

º

Þ

    ¡ © § ! © § ! 0 © ¡ £ ! © E ¡ 0 ¡ © ¡ 0 ! § ! ! ! § !

0 ! § !

R

S ! B ! © © © £ © § B B ¡ £ ! 1 ¡

È § !

R

S© © § E ¡ 0 ¡ ©

§ ! 0     § ! © © 0

©

R S

¡ © § ! ¡

3

8 ¥

3 ¥

8

Þ

¡ 0 £ © § ! 0 © £ © E E © § ! 0 © ¡ £ ! © E ¡ 0 ¡ © ¡ 0 ! § !

! ! § ! 0 ! § !

R

R

S© © § E ¡ 0 ¡ © § ! 0     § ! © © 0

©

R ©

Ss ©

© ¡ £ © © £ © ©

R

S0 © 1 ! © § B B ¡ £ ! 1 ¡

3

¥

¥

¥ Ã ¡ £

Þ

    ¡ © © § E ¡ 0 ¡ © £ © E ! © ¡ 0 ! § ! 3 © !

R

S ©

© ¡ ¡ 0 ! § ! E ¡ © § B B ¡ £ ! 1 ¡

S¥ © § E ¡ 0 ¡ © § ! 0 ¢ ² § ! © © 0

©

R    © £ ¡ ¡ ©

S

3

¸

Þ

E ¡ © E 0 ! ¡ 0 ! § !     ¡ £ ! 0 £ 0 ¡ E ¡ B © 3 © !

R ! 0 ! § ! E ¡ § ¡

! 0 £ 0 ¡

B

C © !

S ! 0 ! § ! E ¡ § ¡ ! 0 £ 0 ¡

D

E

Á

! ! 0 £ 0 ¡ E ¡ B Í

    ! £ ! ! B ! £ © § ! E ¡ © È © § ! 0 £ 0 ¡

C

3 r

3

o 4

© 0 ! B ¡ @ ! E © ¡ ! ( £ B © £ ¡ E ! § E § ! B ¡ © §     £ ¡ E 0 ¡ E ! £ 0 © ! ¡

R

S ¥ 0 ¡ E ©

© § © E E ¡ ! B ¡ § ! 0     § ! E ¡ ! § ¡ £ ©     ! £ ! © § ! 0 £ 0 ¡ E ¡ B Í

C © ! 1 ! §

}

@ ¡ £ ! 0 © © B ¡ ! 0 ! § ! © E ¡ 0 © © © § ! 0 £ 0 ¡

C ¡ © E © § ¡ E ¡ £ £ © 1 B ¡ © § Ã

B ! ¡ § ! E ¡ § B !     § E ! !

¯ ¶ - ° ´

k j k k - k k k j k l - k

Â

© ! B ¡ § ! 0 ! § ! © © @ !     £ ¡ E ¡ © ! § ! ¡ § ¡     ! ¡ © E © ! £ ¡     ! £ ! !

¡ 3 © ! § ! 1 © 0 © 0 ! § ! ! !

Þ

R A | B | C S C | D | E

--+--+-- --+--+--

1 | 2 | 3 3 | a | b

4 | 5 | 6 6 | c | d

7 | 8 | 9

( £ B © £ ¡ E ! § E § ! B ¡ © §     £ ¡ E 0 ¡ E ! £ 0 © ! ¡

R

S 0 © £ © B ¡

Þ

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

F 4

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 21/56

4 | 5 | 6 | 6 | c | d

7 | 8 | 9 | 3 | a | b

7 | 8 | 9 | 6 | c | d

8 £ ! § ! © § © E E

3

0 © £ © B ¡

Þ

A | B | R . C | S . C | D | E

--+--+---+---+--+--

1 | 2 | 3 | 3 | a | b4 | 5 | 6 | 6 | c | d

( ! £ ! © § B ! £ § ! E ¡ § B !     § E ! !

S

C£ © ! § ¹ ! B ¡ § ! 1 © 0 © ¡     © £ ! E

Þ

3

¡ 0 © © B ¡

Þ

A | B | C | D | E

--+--+--+--+--

1 | 2 | 3 | a | b

4 | 5 | 6 | c | d

3

Â

¥

Þ

3 © !

R ! 0 ! § ! E ¡ § ¡ ! 0 £ 0 ¡

}

È

È

È © !

S ! 0 ! § ! E ¡

§ ¡ ! 0 £ 0 ¡

© B ¡ § ! E ¡ B ¡

Þ

3 r a 0

0

z

3 0

z

0 ! § ©

0

}

È

r 0 0

È

r 0

c ¡ © 0

Ì È

© ¡ 0 ! ! 0     § ! © § ! 0 ! § !

R © E ¡ 0 © § ¡

© § ¡ E ¡ B     ¡ © 0 ©

x

y

0 © © © § ! 0     § !

tE ¡ 0 © § ¡ © § ¡ E ¡ BC ¢ ¡ © 0 ©

A

B © § ! £ © § ! E

R

! ! § ! 1 © 0 © 0 ! § !

R A | B | C | D S C | D

--+--+--+-- --+--

a | b | c | d c | d

a | b | e | f e | f

b | c | e | f

e | d | c | d

e | d | e | f

a | b | d | e

3 © © £ ! E ¡ B ¡

A | B

--+--

a | b

e | d

( ! £ ! ! © E £ ¢ E © E B

© 0 ! § § ! ! © §

§ 1 © £ !

© § ! E ¡ ! § £ ! © !

W

Eè è Ñ Ò ê ó ï × ×

` ¡ W

ú Ò æ å ó ï ï w

`

¯ ¶ - ° ´

ª

k n k · ´ l l ´ ± k m ´ µ - Å - ´ n k ´

© E ! § E ! £ © @ © B ¡ ¡ £ B § ! ¡ 0 ¡ ¡ © 0 ¡ ¡     © £ ! ¡ £ © £ © § ! E ¡ ! § © E ¡ B ¡ E !     ! E ©

© £ © E ¢ ¢ © £ ! £ ! 0 ¡ © § ! ! © © ! 0 ¡

Â

¡ § ! B ¡ ! © 0 £ ¡ © © B     § ¡ © § ! © E E

¢ £ © !

ñ å Ó Ò é Ô Õ ê å ë å ê å è þ Õ ì å è Õ ì å ú Ò æ Õ ë ¢ å è Ò é Ô Õ ê Ò è

¡ © ! § 1 © © £ ! E ¡ ¡ E © £ § ¡

F ó

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 22/56

¡ B £ © © 0 ¡ ¡ § ¡     £ ¡ © © ¡ £ © © © © © § ! £ 0 E § ¡

Tornillos ¥ 0 ! ¢ £ © 1 0 !

© £ ©     ¡ © 0 § ¹ ! ¡ © §

§ 1 © £ ! £ © § ! E ¡ ! § E ¡ § ! 1 © 0 © ¡     © £ ! E

Þ

SUPPLIER.SNAME(

PART.PNAME=’Tornillos’(SUPPLIER

SELLS

PART))

6 § ! B ! B ¡ ! © 0 ! ¡     © £ ! E ¡ © ! E ¡ § 0 ! 3 © ! § ! B ¡ § ! E ¡ § 0 ! ! 0 © £ ¡ £ E ¡ 0 £ !

§ ! 0 ! § ! © © 0 £ ¡ © © B     § ¡

xÒ Ò ë å ì å ú Ò æ Õ ë ì å ý Ó Õ å å ì Õ Ó å ë ¤

¨

Ó æ ò é Ð è Õ ë

¡ 0 © £ © B ¡

© § 1 © 0 © © © B     § ¡

Þ

SNAME-----

Smith

Adams

Cálculo Relacional¥ §

§ E § ¡

© § ! E ¡ ! § © ! ! © § !

è y û Ô é Ò ì å ñ Ó Ô Ñ å Ó Õ Ó ì å ê

Á

! ¡ ! £ ! 0 © © § E

§ E § ¡

£ © § ! E ¡ ! §

Þ

3

¥ §

ð è é Ð è Õ ¢ å è Ò é Ô Õ ê Ò è ì å ú Õ Ñ Ô ê Ô Õ ë

È ¡ © § ! ! £ ! § © ©     © £ ! E ¡ B     ¡ © 0 ©

! 0 £ 0 ¡

© § ! 0     § !

3

¥ §

ð è é Ð è Õ ¢ å è Ò é Ô Õ ê Ò è ì å

ø

Ð ñ è Ò ë

8 @ © ø

Ð ñ è å ¢ å è Ò æ Ô Õ ê Ò è ð Ò è é Ð è Ð ë

8

È ¡ © § ! ! £ ! Ã

§ © ©     © £ ! 0     § !

¥ Ì     ¡ £ © B ¡ § ¡ © § E

§ E § ¡ £ © § ! E ¡ ! § © 0     § ! ² ¡ £ © © © § Í E ¡ 0 § ¹ ! ¡     ¡ £ § !

B ! ¡ £ ! © § © 1 ! © £ © § ! E ¡ ! § © ( ! £ ! ! E © 0 ! § § ! ! ©

0 ! B

© 8

© ! W

ú Ò æ å ó ï ï w

` ¡ W

Eè è Ñ Ò ê ó ï × ×

`

Cálculo Relacional de Tuplas6 ! E ¡ § 0 ! 0 § ¹ ! ! © 8

0 © © © § 1 © 0 © ¡ £ B ! 0 ¡

Þ

Ì

}

Ì

¡ ©

x

© !

! £ ! § © © 0     ¡ 0     § ! È

A© E ¡ 0 ¡ © ! 0 £ 0 ¡

F© ! £ B § ! 6 ! £ © § ! E

£ © § 0 ! 0 © E ¡ 0 © © 0 ¡ ! § ! 0 ¢ ¢ § !

t(A) © ! 0 ! 1 !

F(t)

3 © £ © B ¡ £ ©     ¡ © £ § !     £ © 1 0 ! © § © © B     § ¡

Eê Ò é Õ ê ë Ð è æ Ò Ð æ Ô è Ô Ò ê ì Õ

è û å ã Ó Ò ¢ å è Ò ç

é Ô Õ ê Ò è

0 § ¹ ! ¡ 8

¡ £ B § ! £ © B ¡ § ! 1 © 0 © E ¡ § 0 !

Þ

{x(SNAME)ª

SUPPLIER¬

\nonumber-

y « SELLS-

z « PART (y(SNO)=x(SNO) ¬ \nonumber

z(PNO)=y(PNO)¬

\nonumber

z(PNAME)=’Tornillos’)} \nonumber

¥ ! § ! ¡ § ! E ¡ § 0 ! E ¡ 0 £ ! § ! 0 ! § ! ©

xÒ Ò ë å ì å ú Ò æ Õ ë ì å ý Ó Õ å å ì Õ Ó å ë ¤

¨

Ó æ ò é Ð è Õ ë

© E ¡ 0 £ ! B ¡ ¡ 0 £ ! © ¹ © § B B ¡ £ © § 0 ! ¡ ©

Eê Ò é Õ ê ë Ð è æ Ò Ð æ Ô è Ô Ò ê ì Õ

è û å ã Ó Ò ¢ å è Ò é Ô Õ ê Ò è

F F

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 23/56

Álgebra Relacional contra Cálculo Relacional¥ §

§ 1 © £ ! £ © § ! E ¡ ! § © § E

§ E § ¡ £ © § ! E ¡ ! § 0 © © © § B B ¡

ñ Õ ì å Ó ì å å ñ Ó å ë Ô y ê

@ © © Ã

E £ È 0 ¡ ! § ! E ¡ § 0 ! © ©     © © ¡ £ B § ! £ 0 § ¹ ! ¡

§ 1 © £ ! £ © § ! E ¡ ! §     © ©

0 ! B ¡ £ B § ! £ © 0 § ¹ ! ¡ © § E

§ E § ¡ £ © § ! E ¡ ! § È E © © £ ! ¥ 0 ¡ ©     £ ¡ ! ¡     ¡ £

¥

¡ ©

z §

¥ 0 ©     £ ¡ © ¡ £ © ! © ! § 1 ¡ £ 0 B ¡ 5 ! § 1 ¡ £ 0 B ¡ © £ © E E

©

¡ 7

B © ! 0 © © § E ! § ! © Ì ¢ £ © ! £ 0 £ ! £ ! © § E

§ E § ¡ £ © § ! E ¡ ! § ©     © ©

£ © E £ ! § ! © Ì     £ © © B

0 E ! B © 0 © © ! § © 0 © © §

§ 1 © £ ! £ © § ! E ¡ ! § ( ! £ ! !

E B

© 0 ! § § ! ! ¡ £ © © 0 ©     0 ¡ È £ ! © ! W

ú Ò æ å ó ï ï w

` W

Eè è Ñ Ò ê ó ï × ×

`

3 © E © ! © E © © § ¡ § © 1 ! © ! ! ¡ © © § E

§ E § ¡ £ © § ! E ¡ ! § ¡ © á B

! § 0 ¡

© § á ¡ á B

© E § ! £ ! 0 ¡ á © § ¡ ! ! ¡ © © §

§ 1 © £ ! £ © § ! E ¡ ! §5 ¢ ¡ £ © © §

§ 1 © £ !

©     © E E !     ! £ E ! § B © 0 ©

© § ¡ £ © © § ! ¡¤ ¢ © £ ! E ¡ © È B © 0 £ ! © § E

§ E § ¡ § ¡ 0 £ ! § ! !

! E ¡ B     § ! ¡ £ ¡ 0 © £     £ © 0 © © © 0 © £ B ! © § ¡ £ © © © ! § ! E B

© E © 0 ©

El Lenguaje SQL

¡ B ¡ © © § E ! ¡ © § ¡ B

B ¡ © £ ¡ § © 1 ! © £ © § ! E ¡ ! § © È 3 4 6 © 0

! ! ¡ © © §

E

§ E § ¡ £ © § ! E ¡ ! § © 0 ¢ ¢ § !

¡ B ¡ £ © § 0 ! ¡ È 0 ¡ ! E ¡ § 0 ! ¡ £ B § ! ! 0 § ¹ ! ¡ © §

E

§ E § ¡ £ © § ! E ¡ ! § © 0     § ! ¡ © ! § © 0 © È © §

§ 1 © £ ! £ © § ! E ¡ ! §

©     © ¡ £ B § ! £

0 ! B 0 § ¹ ! ¡ 3 4 6

Á

! È © B ! £ 1 ¡ È E !     ! E ! © © ! B

! § §

© § E

§ E § ¡

¡ © §

§ 1 © £ ! £ © § ! E ¡ !

}

0 © © B ¡ ! § 0 ! © ! § 1 ! E ! £ ! E 0 © £ 0 E !     £ ¡     ¡ £ E ¡ Ã

! ! ¢ ¡ £ 3 4 6 © ¡ ¡ £ B !     ! £ 0 © © §

§ 1 © £ ! © § E

§ E § ¡ £ © § ! E ¡ ! § ©

Þ

3

¡ B ! ¡     ! £ ! © £ E È ¡ £ £ ! ¡ ¡ B ¡ E ! E © ! 0 ¡

3

!     ! E ! © ! £ 0 B 0 E !

Þ

¥ 3 4 6 ©     ¡ § © E § £ ¡¤ ² © £ ! E ¡ © ! £ 0 B 0 E ! !

E ¡ B ¡ E ¡ B     ! £ ! E ¡ © È     ¡ £ © © B     § ¡

}}

î

0 © © ©

î

¡ 0 £ ¡ ¡¤ ¢ © £ ! ¡ £ ©

! £ 0 B 0 E ¡ !     ! £ © E ! © © §

§ 1 © £ ! £ © § ! E ¡ ! § © E

§ E § ¡ £ © § ! E ¡ ! §

3

}

1 ! E E ¡ B ! ¡ © B     £ ©

Þ

©     ¡ § © B     £ B £ ! £ © § ! E E ¡ 0 £ !

    ¡ £ ! E ¡ § 0 ! ! 1 ! £ ! £ © § ! E E ! § E § ! ! ! ¡ B £ © © £ © § ! E

3

E ¡ © ! 1 £ © 1 ! !

Þ

    © £ ! E ¡ © 0 ! § © E ¡ B ¡

ñ Ó Õ Ñ å ì Ô Õ ® Ò å Ó Ò û å ¯

È

ë Ð Ñ Ò ® ë Ð Ñ ¯

È

Ñ ç

Ô Ñ Õ ® Ñ Ò ¯

È © 0 E ©     © © !     § E ! £ ! § ! E ¡ § B ! © ! £ © § ! E     ! £ ! ¡ 0 © © £ !

E ! 0 ! Í E !

Select¥ § E ¡ B ! ¡ B

! ¡ © 3 4 6 © § ! 0 £ E E 3 ¥ 6 ¥

8 È © © 0 § ¹ !     ! £ ! £ © E     © Ã

£ ! £ ! 0 ¡ 6 ! 0 ! Ì ©

Þ

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]]]];

F V

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 24/56

§ 0 £ ! £ © B ¡ ! @ ¡ £ ! § ! E ¡ B     § © ! 0 ! Ì © § ! 0 £ E E 3 ¥ 6 ¥

8 E ¡ ! £ ¡ © © B Ã

¢ § ¡ 6 ! 0 ! § ! 0 § ¹ ! !     ! £ ! § ¡ © © BC ¢ § ¡ © © © ©

Þ xÒ Ò ë å ì å ú Ò æ Õ ë ì å ý Ó Õ å å ç

ì Õ Ó å ë ¤

¨

Ó æ ò é Ð è Õ ë

Select sencillas}

0 © © B ¡ ! § 1 ¡ © © BC ¢ § ¡ © E § § ¡ 0 § ¹ ! ¡ § ! 0 £ E E 3 ¥ 6 ¥

8

Þ

¯ ¶ - ° ´

®

- · - k n ´ ´ n k n ´ ° n n ± k

( ! £ ! £ © E     © £ ! £ 0 ¡ ! § ! 0     § ! © § ! 0 ! § ! (

}

8 ¡ © © § ! 0 £ 0 ¡ (

¥ © B ! ¡ £

©

È ¡ £ B § ! £ © B ¡ § ! 1 © 0 © E ¡ § 0 !

Þ

SELECT * FROM PART

WHERE PRICE > 10; ¡ 0 © © B ¡ § ! 1 © 0 © 0 ! § !

Þ

PNO | PNAME | PRICE

---+---------+-----

3 | Cerrojos | 15

4 | Levas | 25º

0 § ¹ ! ¡ á ² á © § ! 0 £ E E 3 ¥ 6 ¥

8 ¡ § E 0 ! £ © B ¡ 0 ¡ ¡ § ¡ ! 0 £ 0 ¡ © § ! 0 ! § !

3 © £ © B ¡ £ © E     © £ ! £ § ¡ § ¡ ! 0 £ 0 ¡ (

}

¥ (

¥ © § ! 0 ! § ! (

}

8 0 § ¹ ! Ã

£ © B ¡ § ! 0 £ E E

Þ

SELECT PNAME, PRICE

FROM PART

WHERE PRICE > 10;¥ © 0 © E ! ¡ © § £ © § 0 ! ¡ ©

Þ

PNAME | PRICE

--------+-----

Cerrojos | 15

Levas | 25

0 © © © § ! 3 ¥ 6 ¥

8 3 4 6 E ¡ £ £ © " ¢ ¡ © ! § ! á     £ ¡ © E E á ©

§ 1 © £ ! £ © § ! E ¡ ! È ¡ !

§ ! á © § © E E á © !

è û å ã Ó Ò ¢ å è Ò é Ô Õ ê Ò è

    ! £ ! B

© 0 ! § § ©

6 ! E ! § E ! E ¡ © © § ! E § ! § ! )

Á

¥

¥     © © 0 ! B E ¡ © E 0 ! £ © § 1 E ! B © 0 ©

0 § ¹ ! ¡ § ! ¢ ! § ! £ ! E § ! ©

È

}

È

8

Þ

SELECT PNAME, PRICE

FROM PART

WHERE PNAME = ’Cerrojos’ AND

(PRICE = 0 OR PRICE < 15); ! £

E ¡ B ¡ £ © § 0 ! ¡

Þ

PNAME | PRICE

--------+-----

Cerrojos | 15

6 ! ¡     © £ ! E ¡ © ! £ 0 B 0 E ! ©     © © 0 § ¹ ! £ © § ! § 0 ! © ¡ © 0 ¡ © § ! E § ! § !

)

Á

¥

¥ ( ¡ £ © © BC ¢ § ¡ È © £ © B ¡ E ¡ ¡ E © £ E ! 0 ¡ E © 0 ! 0 ¡ B ! B ¡ ¡     © ¹ ! ©

! £ 0 E § ¡ È     ¡ £ ! B ¡ 0 § ¹ ! £ § ! 1 © 0 © E ¡ § 0 !

Þ

SELECT PNAME, PRICE * 2 AS DOUBLE

FROM PART

WHERE PRICE * 2 < 50; ¡ 0 © © B ¡

Þ

PNAME | DOUBLE

--------+------

Tornillos | 20

Tuercas | 16

Cerrojos | 30

F w

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 25/56

0 © © © § ! ² ! § ! £ !

6 ¥ 0 £ ! § !     ! § ! £ ! E § ! ©

}

3 © © § © ¡ 0 0 § ¡ © § ! © 1 !

E ¡ § B ! ¥ 0 ! 0 E E !     © © 0 § ¹ ! £ © ¢ ! £ ! E ! ! © § © B © 0 ¡ © § ! § 0 ! ¡ © 0 ¡C ¢ ! £ !

! 1 ! £ © ¡ 0 0 § ¡ ! § ! E ¡ § B ! £ © § 0 ! 0 © ¥ 0 © © ¡ 0 0 § ¡ £ © E © © § E ! § E ! 0 ¡

© á ! § ! á ¥ § ! § ! ¡ ¢ © © 0 § ¹ ! £ © © 0 ¡ ¡ © § £ © 0 ¡ © § ! E ¡ § 0 !

Joins (Cruces)¥ § 1 © 0 © © © B     § ¡ B © 0 £ ! E ¡ B ¡ § !

ä Õ Ô ê ë ® é Ó Ð é å ë ¯

© £ © ! § ¹ ! © 3 4 6

( ! £ ! E £ ¹ ! £ 0 £ © 0 ! § ! 3

º

( ( 6 ¥

È (

}

8 3 ¥ 6 6 3 ! 0 £ ! © ! 0 £ 0 ¡ E ¡ B © È

¡ £ B § ! £ © B ¡ § ! 1 © 0 © 0 £ E E

Þ

SELECT S.SNAME, P.PNAME

FROM SUPPLIER S, PART P, SELLS SE

WHERE S.SNO = SE.SNO AND

P.PNO = SE.PNO;

¡ 0 © £ © B ¡ § ! 1 © 0 © 0 ! § ! E ¡ B ¡ £ © § 0 ! ¡

Þ

SNAME | PNAME

-----+-----

Smith | Tornillos

Smith | Tuercas

Jones | Levas

Adams | Tornillos

Adams | Cerrojos

Blake | Tuercas

Blake | Cerrojos

Blake | Levas

¥ § ! E § ! § !

@ © B ¡ 0 £ ¡ E ¡ ! § ! ! § ¡ B £ ©     ! £ ! E ! ! £ © § ! E     ¡ £ Ã

© @ ! ! 0 £ 0 ¡ E ¡ ¡ B £ © E ¡ B Í 3

(

© § ! £ © § ! E ¡ ©

}

@ ¡ £ ! ¢ ¡ © Ã

B ¡ 0 1 £ © 0 £ © § ¡ ! 0 £ 0 ¡ E ¡ ¡ B £ © E ¡ B Í B     § E ! ¡ § ! ! E E ©

¢ £ © ¡ ! § ¡ B £ © © § ! 0 £ 0 ¡ E ¡ © § ¡ B £ © © § ! § ! © 1 ¡ ©     0 ¡ 6 ! ¡

© E ! § E § ! © § ! B B ! ¡ £ B ! È 0 ! § E ¡ B ¡ © B © 0 £ ! ©

Eê Ò õ ê ê å Ó ³ Õ Ô ê ®

Eê Ò ³ Õ Ô ê õ ê æ å Ó ç

ê Ò ¯

( £ B © £ ¡ © §     £ ¡ E 0 ¡ E ! £ 0 © ! ¡

Þ

3

º

( ( 6 ¥

(

}

8

3 ¥ 6 6 3

}

@ ¡ £ ! © § © E E ¡ ! Ã

B ¡ Í E ! B © 0 © ! © § § ! 0     § ! © ! 0 ! 1 ! § ! E ¡ E ¡ © ! ! © § ! E § ! § !

)

Á

¥

¥ © © E £ È § ¡ ! 0 £ 0 ¡ E ¡ ¡ B £ © E ¡ B Í © © © £ 1 ! § ©

! § B © 0 ©

© § B ! B ¡ § ! E ¡ § B ! £ ©     © 0 ! 3 3

}

¥ È ( (

}

¥

Operadores Agregados3 4 6 ¢ £ ¡¤ ² ¡ £ E ¡ ! ¡     © £ ! ¡ £ © ! 1 £ © 1 ! ¡ E ¡ B ¡ ¡

í È

º

8 È 3

º

È

È

}

© 0 ¡ B ! © § ¡ B £ © © ! 0 £ 0 ¡ E ¡ B ¡ ! £ 1 B © 0 ¡ ¥ § ! § ¡ £ © § ¡     © £ ! ¡ £ ! 1 £ © 1 ! Ã

¡ © E ! § E § ! ¡ £ © 0 ¡ ¡ § ¡ ! § ¡ £ © © § ! E ¡ § B ! ©     © E E ! ! © § ! 0 ! § ! E ¡ B     § © 0 !

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 26/56

3 © © " ¢ © E E ! 1 £     ¡ © § ! E ¡ § 0 ! È © § E

§ E § ¡ © @ ! E © § ¡ ¡ £ © § ¡ ! § ¡ £ © ©

E ! ! 1 £     ¡ © ! § ! 1 © 0 © © E E

¯ ¶ - ° ´

³

« µ µ - µ l - ·

3 © £ © B ¡ E ¡ ¡ E © £ © § E ¡ 0 ©     £ ¡ B © ¡ © 0 ¡ ¡ § ¡ ! £ 0 E § ¡ © § ! 0 ! § ! (

}

8 È 0 § Ã

¹ ! £ © B ¡ § ! 1 © 0 © E ¡ § 0 !

Þ

SELECT AVG(PRICE) AS AVG_PRICEFROM PART;

¥ § £ © § 0 ! ¡ ©

Þ

AVG_PRICE

-------

14.5

3 © £ © B ¡ E ¡ ¡ E © £ E ! 0 ¡ ! £ 0 E § ¡ © £ © E ¡ 1 © © § ! 0 ! § ! (

}

8 È 0 § ¹ ! £ © B ¡ § !

0 £ E E

Þ

SELECT COUNT(PNO)

FROM PART; ¡ 0 © £ © B ¡

Þ

COUNT

-----

4

Agregación por Grupos3 4 6 ¡     © £ B 0 ©     ! £ 0 E ¡ ! £ § ! 0     § ! © ! 0 ! § ! © 1 £     ¡ ¥ © 0 ! E ¡ E ¡ © È

§ ¡ ¡     © £ ! ¡ £ © ! 1 £ © 1 ! ¡ © E £ 0 ¡ ! 0 ©     © © !     § E ! £ © ! § ¡ 1 £     ¡ © © E £ È © §

! § ¡ £ © § ¡     © £ ! ¡ £ ! 1 £ © 1 ! ¡ ¡ © E ! § E § ! ¡ £ © 0 ¡ ¡ § ¡ ! § ¡ £ © © § ! E ¡ § B ! © Ã

¢ © E E ! ! È ¡ ¡ £ © 0 ¡ ¡ § ¡ ! § ¡ £ © © 1 £     ¡ ¥ § ¡     © £ ! ¡ £ ! 1 £ © 1 ! ¡ © E ! § E § !

! § B © 0 © ¢ ! £ ! E ! ! 1 £     ¡

¥ §     ! £ 0 E ¡ ! B © 0 ¡ © § ! 0     § ! © 1 £     ¡ © @ ! E © 0 § ¹ ! ¡ § !     ! § ! £ ! E § ! ©

´ µ À Ä ¶

© 1 ! © ! § 0 ! © ! 0 £ 0 ¡ © © © § ¡ 1 £     ¡ 3 0 © © B ¡

´ µ ÀÄ ¶

« · ¸

...

¸ « ¹

@ ! £ © B ¡ D ² ! £ 0 E ¡ ! ¡ § ! £ © § ! E © 1 £     ¡ È © 0 ! § B ¡ ¡ ©

¡ 0     § ! ¡ © § B B ¡ 1 £     ¡ § ¡ 0 © © © § B B ¡ ! § ¡ £ © ! 0 £ 0 ¡

}

Ø

È

...

È

} º

¯ ¶ - ° ´

¼

« µ - µ m ·

3 © £ © B ¡ E ¡ ¡ E © £ E

0 ¡ ! £ 0 E § ¡ @ ! ¡ © ¡     ¡ £ E ! !     £ ¡ © © ¡ £ ¡ £ B Ã

§ ! £ © B ¡ § ! E ¡ § 0 !

Þ

SELECT S.SNO, S.SNAME, COUNT(SE.PNO)

FROM SUPPLIER S, SELLS SE

WHERE S.SNO = SE.SNO

GROUP BY S.SNO, S.SNAME; ¡ 0 © £ © B ¡

Þ

SNO | SNAME | COUNT

---+-----+-----

1 | Smith | 2

2 | Jones | 1

3 | Adams | 2

4 | Blake | 3

F Ç

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 27/56

© B ¡ ! @ ¡ £ ! ! B £ ! ! ! § ¡ © © 0

¡ E £ £ © ¡ ! ( £ B © £ ¡ È § ! ¡ © § ! 0 ! § !

3

º

( ( 6 ¥

3 ¥ 6 6 3

Þ

S.SNO | S.SNAME | SE.PNO

-----+------+-----

1 | Smith | 1

1 | Smith | 2

2 | Jones | 4

3 | Adams | 1

3 | Adams | 34 | Blake | 2

4 | Blake | 3

4 | Blake | 4}

@ ¡ £ !| ¢ ! £ 0 E ¡ ! B ¡ § ! 0     § ! © 1 £     ¡ £ © © ¡ 0 ¡ ! § ! 0     § ! © 0 © © © §

B B ¡ ! 0 £ 0 ¡ © 3 3

3 3

}

¥

Þ

S.SNO | S.SNAME | SE.PNO

-----+------+-----

1 | Smith | 1

| 2

-----------------

2 | Jones | 4

-----------------

3 | Adams | 1

| 3

-----------------

4 | Blake | 2

| 3

| 4

¥ © 0 £ ¡ © © B     § ¡ È ¡ 0 © © B ¡ E ! 0 £ ¡ 1 £     ¡ ! @ ¡ £ !     ¡ © B ¡ !# ¢ § E ! £ © § ¡¤ ¢ © £ ! ¡ £

! 1 £ © 1 ! ¡

º

8     ! £ ! E ! ! 1 £     ¡ È ¡ 0 © © ¡ © § £ © § 0 ! ¡ 0 ¡ 0 ! § © § ! E ¡ § 0 ! ! !

! 0 © £ ¡ £ B © 0 ©

0 © © ©     ! £ ! © § £ © § 0 ! ¡ © ! E ¡ § 0 ! 0 § ¹ ! ¡ í

º

(

¡& ¢ © £ ! ¡ £ ©

! 1 £ © 1 ! ¡     ! £ ! ! £ © 0 ¡ ! § ¡ ! 0 £ 0 ¡ ! 1 £     ! ¡ È © © B ¡     £ B © £ ¡ ¡ 0 © © £ § !

§ 0 ! ¡ © 0 ¡ 6 ¡ © B

! 0 £ 0 ¡ © ¡ !# ¢ ! £ © E © © § ! E § ! § ! í

º

(

©

© § © E E ¡ ! £

0 § ¹ ! ¡ ! E ! 1 £ © 1 ! ! ( ¡ £ ¡ 0 £ ¡ § ! ¡ È ¡ ©     © © 0 § ¹ ! £

E ¡ © ! 1 £ © 1 ! ! © ! 0 £ 0 ¡ © !     ! £ © E © © § ! E § ! § ! í

º

(

Having6 ! E § ! § !

Á}

Â

í 0 £ ! ! ! © ¡ £ B ! B     ! £ © E ! ! § ! E § ! § ! )

Á

¥

¥ È © 0 Ã

§ ¹ !     ! £ ! E ¡ © £ ! £ § ¡ ! © § § ¡ 1 £     ¡ © ! 0 ! 1 ! § ! E ! § E ! E ! ! © § !

B B ! 6 ! © Ì     £ © ¡ ©     © £ B 0 ! © § ! E § ! § !

Á}

Â

í © © ¡ § E £ ! £ E ¡ Ã

© ! 1 £ © 1 ! !

! ! © Ì ¢ £ © © 0 § E © § ¡ ! 0 £ 0 ¡     § ! ¡ © © £

£ © E ¡ 1 © £ © ©

§ ! E § ! § ! )

Á

¥

¥ ( ¡ £ ¡ 0 £ ¡ § ! ¡ È 0 ¡ ! © Ì     £ © © ¡ § E £ © E ¡ © ! 1 £ © 1 ! !

© © !     ! £ © E © £ © § ! E § ! § !

Á}

Â

í

¯ ¶ - ° ´

»

¼ ¿ k µ

3 © £ © B ¡ ¡ § ! B © 0 © § ¡     £ ¡ © © ¡ £ © © © © B

© ! £ 0 E § ¡ È 0 § ¹ ! £ © B ¡

§ ! E ¡ § 0 !

Þ

SELECT S.SNO, S.SNAME, COUNT(SE.PNO)

FROM SUPPLIER S, SELLS SE

WHERE S.SNO = SE.SNO

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 28/56

GROUP BY S.SNO, S.SNAME

HAVING COUNT(SE.PNO) > 1; ¡ 0 © £ © B ¡

Þ

SNO | SNAME | COUNT

---+-----+-----

1 | Smith | 2

3 | Adams | 2

4 | Blake | 3

Subconsultas¥ § ! E § ! § ! )

Á

¥

¥

Á}

Â

í ©     © £ B 0 © © § ¡ © E ¡ § 0 ! © § © E 0

© E ! § © £ § 1 ! £ ¡ © © © " ¢ © £ © ! § ¡ £ ¥ © 0 © E ! ¡ È © § ! § ¡ £ © © © £ ! £ © § !

© ! § ! E ¢ £ © ! © § ! E ¡ § 0 ! ¥ § ¡ © E ¡ § 0 ! ! B     § ! © § ¢ ¡ © £ © Ì     £ © Ã

¡ © 3 4 6

¯ ¶ - ° ´

½

Å · - ´ - n l

3 © £ © B ¡ E ¡ ¡ E © £ § ¡ ! £ 0 E § ¡ © 0 © © B ! ¡ £     £ © E ¡ © © § ! £ 0 E § ¡ § § ! B ! ¡

8 ¡ £ § § ¡ È 0 § ¹ ! £ © B ¡ § ! E ¡ § 0 !

Þ

SELECT *

FROM PART

WHERE PRICE > (SELECT PRICE FROM PART

WHERE PNAME=’Tornillos’);

¥ § £ © § 0 ! ¡ © £

Þ

PNO | PNAME | PRICE

---+---------+-----

3 | Cerrojos | 15

4 | Levas | 25

! ¡ £ © ! B ¡ § ! E ¡ § 0 ! ! 0 © £ ¡ £ È     ¡ © B ¡ © £ § !     ! § ! £ ! E § ! © 3 ¥ 6 ¥

8 ¡ © Ã

E © 6 !     £ B © £ ! ! §     £ E ¢ ¡ © § ! E ¡ § 0 ! Ã ! § ! © ¡ £ © © £ £ © B ¡ E ¡ B ¡ § ! 3 ¥ 6 ¥

8

© Ì 0 © £ ! Ã § ! © 1 ! © § ! E § ! § ! )

Á

¥

¥ È ¡ © © B     © ¹ ! ! E ¡ § 0 ! ! ! !

à ¡ £ © © £ £ © B ¡ ! © § § ! E ¡ B ¡ § ! 3 ¥ 6 ¥

8 0 © £ ! ( ! £ ! E ! ! 0 ¢ ¢ § ! © § ! 3 ¥ 6 ¥

8 © Ì Ã

0 © £ ! È § ! 3 ¥ 6 ¥

8 0 © £ ! © © £

© £ © ! § ! ! 8 £ ! E ! ! © ! § ! E È E ¡ ¡ E © £ © B ¡ © §

¢ £ © E ¡ © § ! 0 ¢ ¢ § ! § § ! B ! ! 8 ¡ £ § § ¡ È     ¡ £ © B ¡ E @ © © ! £ © § ² £ © E ¡ © § ! 0 ¨ ² § !

! E 0 ! § © B ! ¡ £

3 © £ © B ¡ E ¡ ¡ E © £ 0 ¡ ¡ § ¡     £ ¡ © © ¡ £ © © ¡ © © 1 Í ! £ 0 E § ¡     ¡ £ © © B Ã

¢ § ¡ È     ! £ !     ¡ © £ § ¡ © § B ! £ © § ! ! © © ! 0 ¡

È 0 § ¹ ! £ © B ¡

Þ

SELECT *

FROM SUPPLIER S

WHERE NOT EXISTS

(SELECT * FROM SELLS SE

WHERE SE.SNO = S.SNO);

¥ © 0 £ ¡ © © BC ¢ § ¡ È ¡ 0 © £ © B ¡ £ © § 0 ! ¡ ! E ¡ È     ¡ £ © E ! !     £ ¡ © © ¡ £ © Ã

© ! § B © ¡ ! £ 0 E § ¡

0 © © © 0 § ¹ ! B ¡ 3 3

© § ! 3 ¥ 6 ¥

8 © Ì 0 © £ ! © § !

E § ! § ! )

Á

¥

¥ © § ! 3 ¥ 6 ¥

8 0 © £ !

¡ B ¡ @ © B ¡ © E £ 0 ¡ ! 0 © È § ! E ¡ § 0 !

© © ! § Í !     ! £ ! E ! ! 0     § ! © § ! E ¡ § 0 ! © Ì 0 © £ ! È © © E £ È © § ! § ¡ £ © 3 3

© 0 ¡ B !

© B     £ © © § ! 0     § ! ! E 0 ! § © § ! 3 ¥ 6 ¥

8 © Ì 0 © £ !

F ×

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 29/56

Unión, Intersección, Excepción¥ 0 ! ¡& ¢ © £ ! E ¡ © E ! § E § ! § ! È § ! 0 © £ © E E § ! © £ © E ! © § ! 0 © ¡ £ ! ©

E ¡ 0 ¡ © § ! 0     § ! © £ ! ! © ¡ E ¡ § 0 !

¯ ¶ - ° ´

¾

k k ¸ j k l - · - n l ¸ ¯ ¿ n - ° l

6 ! 1 © 0 © E ¡ § 0 ! © © © B     § ¡ ©

º

Þ

SELECT S.SNO, S.SNAME, S.CITY

FROM SUPPLIER S

WHERE S.SNAME = ’Jones’

UNION

SELECT S.SNO, S.SNAME, S.CITY

FROM SUPPLIER S

WHERE S.SNAME = ’Adams’; ! £

© § £ © § 0 ! ¡

Þ

SNO | SNAME | CITY

---+-----+-----

2 | J ones | Paris

3 | Adams | Vienna}

0 © © B ¡ © © B     § ¡     ! £ !

8 ¥

3 ¥

8

Þ

SELECT S.SNO, S.SNAME, S.CITY

FROM SUPPLIER S

WHERE S.SNO > 1

INTERSECT

SELECT S.SNO, S.SNAME, S.CITY

FROM SUPPLIER S

WHERE S.SNO > 2; © ! £

E ¡ B ¡ £ © § 0 ! ¡

Þ

SNO | SNAME | CITY

---+-----+-----

2 | J ones | Paris

La única tupla devuelta por ambas partes de la consulta es la úni-

ca que tiene $SNO=2$.

! § B © 0 © È © © B     § ¡ © ¥

¥ ( 8

Þ

SELECT S.SNO, S.SNAME, S.CITY

FROM SUPPLIER S

WHERE S.SNO > 1

EXCEPT

SELECT S.SNO, S.SNAME, S.CITY

FROM SUPPLIER S

WHERE S.SNO > 3; © ! £

E ¡ B ¡ £ © § 0 ! ¡

Þ

SNO | SNAME | CITY

---+-----+-----

2 | J ones | Paris

3 | Adams | Vienna

F ï

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 30/56

Definición de Datos¥ § § © 1 ! © 3 4 6 E § © E ¡ 0 ¡ © E ¡ B ! ¡     ! £ ! © E © ! 0 ¡

Create Table¥ § E ¡ B ! ¡ ! B © 0 ! §² ¢ ! £ ! © £ ! 0 ¡ © © § © E £ © ! ! © ! £ © § ! E !

© ! 0 ! § !

6 ! 0 ! Ì © § E ¡ B ! ¡

¥

}

8 ¥ 8

}

6 ¥ ©

Þ

CREATE TABLE table_name

(name_of_attr_1 type_of_attr_1

[, name_of_attr_2 type_of_attr_2

[, ...]]);

¯ ¶ - ° ´

À

½ - n ± k m - k l Å ´

( ! £ ! E £ © ! £ § ! 0 ! § ! © ! ©

x Ò Ò ë å ì å ú Ò æ Õ ë ì å ý Ó Õ å å ì Õ Ó å ë ¤

¨

Ó æ ò é Ð è Õ ë

© 0 § ¹ ! Ã

£ ¡ § ! 1 © 0 © 0 £ E E ¡ © © 3 4 6

Þ

CREATE TABLE SUPPLIER

(SNO INTEGER,

SNAME VARCHAR(20),

CITY VARCHAR(20));CREATE TABLE PART

(PNO INTEGER,

PNAME VARCHAR(20),

PRICE DECIMAL(4 , 2));

CREATE TABLE SELLS

(SNO INTEGER,

PNO INTEGER);

Tipos de Datos en SQL}

E ¡ 0 ! E 1 © ! § 0 ! © ! § 1 ¡ 0     ¡ © ! 0 ¡ ¡& ¢ ¡ £ 0 ! ¡     ¡ £ 3 4 6

Þ

3

8 ¥ í ¥

Þ

© 0 © £ ¡ ! £ ¡ E ¡ 1 ¡ © ¢ ! § ! £ ! E ¡ B     § © 0 !

0 © ¢ £ © E

3

3

}

6 6

8

Þ

© 0 © £ ¡ ! £ ¡ E ¡ 1 ¡ © B © !~ ¢ ! § ! £ !

{ 0 ©     £ © E

3

¥

}

6

 pW È

q `

Þ

Í B © £ ¡ © E B ! § E ¡ 1 ¡ ©

p 1 0 ¡ ©D ¢ £ © E È ! B © ¡

q ! § ! © £ © E @ !     ! £ ! © §     0 ¡ © E B ! §

{ Á

q  Á

3

q  © ¡ B 0 © È © ! B ©

© ! § ©

3

6

}

8

Þ

B £ E ¡ E ¡ 1 ¡ © ¡ § ©     ! § ! £ ! E ¡ B ! à ¡ 0 ! 0 ©

3

Á}

n Þ

E ! © ! © E ! £ ! E 0 © £ © © § ¡ 1 0 ! È © § ¡ 1 0

n

3

Â}

Á}

n Þ

E ! © ! © E ! £ ! E 0 © £ © © § ¡ 1 0 ! £ ! § © È © § ¡ 1 0 B

Ì B !

n

V 4

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 31/56

Create Index3 © 0 § ¹ ! § ¡ E ©     ! £ ! ! E © § © £ ! £ © § ! E E © ¡ ! ! £ © § ! E 3 ! £ © § ! E

R0 © ©

E © © © § ! 0 £ 0 ¡

A    ¡ £ © B ¡ £ © E ¨ ² © £ ! £ 0 ¡ ! § ! 0     § !

t © 0 © ©

t

A

r

a© 0 © BC ¢ ¡ !     £ ¡ Ì B ! ! B © 0 ©     £ ¡     ¡ £ E ¡ ! § ! § Í B © £ ¡ © 0 ! § © 0     § !

tB

©

© 0 © B     ¡     £ ¡     ¡ £ E ¡ ! § ! § 0 ! B !    ¡ ©

R

( ! £ ! E £ © ! £ E © © 3 4 6 © 0 § ¹ ! © § E ¡ B ! ¡

¥

}

8 ¥

¥ 6 ! 0 ! Ì ©

Þ

CREATE INDEX index_nameON table_name ( name_of_attribute );

¯ ¶ - ° ´

½ - l - j k m - ¿

( ! £ ! E £ © ! £ E © § § ! B ! ¡ ¡ £ © © § ! 0 £ 0 ¡ 3

}

¥ © § ! £ © § ! E 3

º

( ( 6 ¥

È

0 § ¹ ! £ © B ¡ § ! 1 © 0 © 0 £ E E

Þ

CREATE INDEX I

ON SUPPLIER (SNAME);

¥ § E © E £ © ! ¡ © B ! 0 © © ! 0 ¡ B

0 E ! B © 0 © © © E £ È E ! ! © ¹ © ! © !

0     § ! © © £ 0 © © § ! £ © § ! E 3

º

( ( 6 ¥

È © ! !     0 ! £

© § E ©

0 © © © © § Í E ¡

E ! B ¡ © ! £ ¡     © ©     © £ E £ E ! ¡ © E £ © ! E © © E £ © B © 0 ¡ ©

§ ! © § ¡ E !

Create View3 ©     © © © £ ! 0 ! E ¡ B ¡ !

æ Ò ã è Ò Ô Ó æ Ð Ò è

È © © E £ È ! 0 ! § ! © ¡ © Ì 0 ©

ü ò ç

ë Ô é Ò Ñ å ê æ å

© § ! ! © © ! 0 ¡ È     © £ ¡ !# ¢ ! £ © E © ! § ! £ ¡ E ¡ B ¡ © Ì 0 © © ( ¡ £ E ¡ 0 £ ! È

E ! ¡ @ ! § ! B ¡ © !

æ Ò ã è Ò ã Ò ë å

È @ ! £ © ! § B © 0 © © ! § © 0 © ! § B ! E © ! ¡     ! £ !

E ! ! § ! © § ! 0 ! § ! © ! § 1 Í 0 ¡ © § ! § B ! E © ! B © 0 ¡ E ¡

6 ! 0 ! ¡ 0 © © ! 0 ¡ ! § B ! E © ! ¡     £ ¡     ¡ È 0 1 § © E ! B © 0 © ! § B ! E © Ã

! ¡ ¥ § 1 ! £ È © § 0 © B ! ! § B ! E © ! § ! © E © § ! 0 ! © © E £ È § ! £ © 1 § !

¢ ! £ ! ! E E © © £ ! § ! 0 ! § ! ! © E ! B © 0 © ! § B ! E © ! !     ! £ ! B ! 0 © £ ! § ¹ ! £ § ! 0 !

©

! § 1 Í § 1 ! £ © § ¡ E ! 0

§ ¡ 1 ¡ © § 0 © B ! © !

Ï ¤ ë æ å Ñ ð Ò æ Ò è Õ û ë

( ! £ ! ! E ©

§ ! © £ © 0 © 0 E E !     ! £ ! B     § © B © 0 ! £ 0 ! È £ © £ ! © !

Ï õ þ ï ×

¥ 3 4 6 © 0 § ¹ ! © § E ¡ B ! ¡

½ ¯ « Å ¯ Æ j ¯ Ç

    ! £ ! © £ ! 0 ! 6 ! 0 ! Ì ©

Þ

CREATE VIEW view_name

AS select_stmt

¡ ©

select_stmt© ! 0 £ E E © § © E 0

§ ! È E ¡ B ¡ © © ©

Ï å è å é æ

Ã

0 © © ©

select_stmt

¡ © © © E 0 ! E ! ¡ © E £ © ! § ! 0 ! 3 B     § © B © 0 © © ! § B ! E © Ã

! © § ¡

é Ò æ è Õ û Õ ë ì å è ë Ô ë æ å Ñ Ò

© © © E 0 ! E ! ! © ¹ © © £ © ! § ¹ ! ! E ¡ § 0 ! E ¡ 0 £ !

§ ! 0 !

3 © ! § ! 1 © 0 © © E © ! 0 ! 0 § ¹ ! B ¡ © © ¡ § ! 0 ! § ! ©

xÒ Ò ë å ì å

ú Ò æ Õ ë ì å ý Ó Õ å å ì Õ Ó å ë ¤

¨

Ó æ ò é Ð è Õ ë Þ

CREATE VIEW London_Suppliers

V ó

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 32/56

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’;

}

@ ¡ £ !     ¡ © B ¡ 0 § ¹ ! £ © 0 !

Ó å è Ò é Ô y ê Ô Ó æ Ð Ò è

London_SuppliersE ¡ B ¡ © 0 £ ! 0 ! © ©

¡ 0 £ ! 0 ! § ! ! ©

Þ

SELECT *

FROM London_Suppliers

WHERE P.PNAME = ’Tornillos’;

6 ¡ E ! § ¡ © ¡ § © £

§ ! 1 © 0 © 0 ! § !

Þ

SNAME | PNAME

-----+-------

Smith | Tornillos

( ! £ ! E ! § E § ! £ © 0 © £ © § 0 ! ¡ È © § 0 © B ! © ! © © ! 0 ¡ @ ! £ © ! § ¹ ! ¡     £ © ! B © 0 ©

! E E © ¡

Õ é Ð è æ Õ

! § ! 0 ! § ! © § ! ! © 3

º

( ( 6 ¥

È 3 ¥ 6 6 3 (

}

8

Á

! E © © 0 ¡ © © E 0 ! ¡

§ ! E ¡ § 0 ! ! ! © § ! © E © § ! 0 ! E ¡ 0 £ ! ! © § § ! 0 ! § ! ! © 8 £ ! © ¡ È § !

E ! § E ! E ¡ © ! E ¡ ! § © ! ! © § ! E ¡ § 0 ! E ¡ 0 £ ! § ! 0 !

©     ¡ £

!# ¢ § E ! £

¢ ! £ ! ¡ 0 © © £ § ! 0 ! § ! £ © § 0 ! 0 ©

Drop Table, Drop Index, Drop View3 © 0 § ¹ ! © § E ¡ B ! ¡

( 8

}

6 ¥Ý ¢ ! £ ! © § B ! £ ! 0 ! § ! E § © ¡ 0 ¡ ! § !

0     § ! ! § B ! E © ! ! © © § § !

Þ

DROP TABLE table_name;

( ! £ ! © § B ! £ § ! 0 ! § ! 3

º

( ( 6 ¥

È 0 § ¹ ! £ © B ¡ § ! 0 £ E E

Þ

DROP TABLE SUPPLIER;

3 © 0 § ¹ ! © § E ¡ B ! ¡

(

¥ Ù ¢ ! £ ! © § B ! £ E ©

Þ

DROP INDEX index_name;

! § B © 0 © È © § B ! £ © B ¡ ! 0 ! ! ! 0 § ¹ ! ¡ © § E ¡ B ! ¡

(

Â

¥ )

Þ

DROP VIEW view_name;

V F

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 33/56

Manipulación de Datos

Insert Intoº

! © ¹ © © E £ © ! ! 0 ! § ! © !

ð Ó å Ò æ å

ø

Ò ã è å

È     © © © £ § § © ! ! E ¡ 0     § ! B © Ã

! 0 © © § E ¡ B ! ¡

j È ¯ Å j È Å µ

6 ! 0 ! Ì ©

Þ

INSERT INTO table_name (name_of_attr_1

[, name_of_attr_2 [,...]])

VALUES (val_attr_1

[, val_attr_2 [, ...]]);

( ! £ ! © £ 0 ! £ § ! ¢ £ B © £ ! 0     § ! © § ! £ © § ! E 3

º

( ( 6 ¥

©

xÒ Ò ë å ì å ú Ò æ Õ ë ì å ý Ó Õ å å ç

ì Õ Ó å ë ¤

¨

Ó æ ò é Ð è Õ ë

0 § ¹ ! B ¡ § ! 1 © 0 © 0 £ E E

Þ

INSERT INTO SUPPLIER (SNO, SNAME, CITY)

VALUES (1, ’Smith’, ’London’);

( ! £ ! © £ 0 ! £ § !~ ¢ £ B © £ ! 0     § ! © § ! £ © § ! E 3 ¥ 6 6 3 È 0 § ¹ ! B ¡

Þ

INSERT INTO SELLS (SNO, PNO)

VALUES (1, 1);

Update( ! £ ! E ! B ! £ ¡ ¡ B

! § ¡ £ © © ! 0 £ 0 ¡ © 0     § ! © ! £ © § ! E È © 0 § ¹ ! © §

E ¡ B ! ¡

º

(

}

8 ¥ 6 ! 0 ! Ì ©

Þ

UPDATE table_name

SET name_of_attr_1 = value_1

[, ... [, name_of_attr_k = value_k]]

WHERE condition;

( ! £ ! E ! B ! £ © § ! § ¡ £ © § ! 0 £ 0 ¡ (

¥ © © § ! £ 0 E § ¡ 8 ¡ £ § § ¡ © § ! £ © § ! E (

}

8 È

0 § ¹ ! B ¡

Þ

UPDATE PART

SET PRICE = 15

WHERE PNAME = ’Tornillos’;

¥ § © ¡ ! § ¡ £ © § ! 0 £ 0 ¡ (

¥ © § ! 0     § ! E ¡ ¡ B £ © © 8 ¡ £ § § ¡ © ! @ ¡ £ !

{

V V

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 34/56

Delete( ! £ ! ¡ £ £ ! £ ! 0 ̈ ² § ! © ! 0 ! § ! ¢ ! £ 0 E § ! £ È 0 § ¹ ! B ¡ © § E ¡ B ! ¡ ¥ 6 ¥ 8 ¥

6 ! 0 ! Ì ©

Þ

DELETE FROM table_name

WHERE condition;

( ! £ ! ¡ £ £ ! £ © § ² £ ¡ © © ¡ £ § § ! B ! ¡ 3 B 0 @ © § ! 0 ! § ! 3

º

( ( 6 ¥

È 0 § ¹ ! B ¡ § ! Ã

1 © 0 © 0 £ E E

Þ

DELETE FROM SUPPLIER

WHERE SNAME = ’Smith’;

System Catalogs¥ 0 ¡ ¡ 0 © B ! © ! © © ! 0 ¡ 3 4 6 © © B     § © !

é Ò æ è Õ û Õ ë ì å ë Ô ë æ å Ñ Ò

¢ ! £ ! B ! 0 © © £

© § E ¡ 0 £ ¡ § © 0 ! § ! È 0 ! È E © È © 0 E © 0

© ! © § ! ! © © ! 0 ¡ ¥ 0 ¡

E ! 0

§ ¡ 1 ¡ © § 0 © B ! ©     © © © 0 1 ! £ E ¡ B ¡ © E ! § © £ ¡ 0 £ ! £ © § ! E ¡ £ B ! §

© 0 £ ! 0 ! © ( ¡ £ © © B     § ¡ È @ ! E ! 0

§ ¡ 1 ¡ 0 § ¹ ! ¡     ! £ ! § ! © E © 0 ! ¥ 0 ©

E ! 0

§ ¡ 1 ¡ ! § B ! E © ! § ! E ¡ § 0 ! © § ! © E © § ! 0 ! 3 © B     £ © © © @ ! E © !

E ¡ § 0 ! E ¡ 0 £ ! § ! 0 ! È © § 0 © B ! 0 ¡ B !     £ B © £ ¡ § !

é Õ ê ë Ð è æ Ò ì å ì å Ê ê Ô é Ô y ê ì å è Ò Ô ë æ Ò

© § E ! 0

§ ¡ 1 ¡ B ! 0 © £ ! § ¹ ! § ! 0 ! ! 0 © ©~ ¢ £ ¡ E © © £ E ¡ § ! E ¡ § 0 ! © § ! £ ¡ © !

Ï õ þ ï ×

    ! £ ! ¡ 0 © © £ ! © E £     E B

© 0 ! § § ! !

£ ! © !

ú

¨ ø

j

    ! £ ! ¡ 0 © © £

B

¡ £ B ! E ¡ £ © § ¡ E ! 0

§ ¡ 1 ¡ © § 0 © B !

SQL Embebido¥ © 0 ! © E E £ © ! £ © B ¡ E ¡ B ¡ © ¢ © © © B © © £ 3 4 6 © § © 1 ! © © @ ¡ 0     ©

C

Á

! ¡ £ ! ¹ ¡ ©     £ E     ! § ©     ¡ £ § ! © ¢ ¡ £ ! B ¡ © £ © £ 0 § ¹ ! £ 3 4 6 © ©

§ © 1 ! © © @ ¡ 0

Þ

3

Á

! E ¡ § 0 ! © ¡ ©     © © ¡ £ B § ! £ 0 § ¹ ! ¡ 3 4 6     £ ¡     ¡ £ © © B     § ¡ È § !

E ¡ § 0 ! £ © E £ !

( ! £ ! © £ E !7 ¢ ! ¹ © £ © ! § ¹ ! £ © ! E ¡ § 0 ! © E © 0 ! B ¡ § © Ã

1 ! © © @ ¡ 0 © B ! ¡ £9 ¢ ¡ © £ © Ì     £ © ¡ © 3 4 6

3

3 BC ² § © B © 0 © © £ © B ¡ ! E E © © £ ! ! ! © © ! 0 ¡ © © ! !# ¢ § E ! E ©

© 0

© E £ 0 ! © © § § © 1 ! © © § @ ¡ 0     © 0 © B ! © £ © © £ ! © § § © 0 © E ¡ !

0 © £ ! E © 1 £

E ! © E £ 0 ! ©

È § ! ¡ £ B ! E ¡ £ © § ¡ § § © 0 © © 0

! § B ! E © ! ! ©

! ! © © ! 0 ¡ ©     © © ! E E © © £ © 0 § ¹ ! ¡ 3 4 6 © B © ¡

º

    £ ¡ 1 £ ! B ! © 0 § ¹ ! 3 4 6 © B © ¡ © § © 1 ! © © @ ¡ 0 E ¡ 0 © © 0 £ E Ã

E ¡ © © § § © 1 ! © © § @ ¡ 0 © 0 £ E E ¡ © ©

Ï x

å Ñ ã å ã Ô ì Õ

¥ 3 4 6

! ! 0 £ E Ã

E © ¥ 3 4 6 © B     © ¹ ! E ¡ § !     ! § ! £ ! E § ! ©

¯ Ë ¯ ½

6 ! 0 £ E E ¡ © ¥ 3 4 6

© 0 £ ! ¡ £ B ! © 0 £ E E ¡ © © § § © 1 ! © © § @ ¡ 0 B © ! 0 ©

ñ Ó å é Õ Ñ ñ Ô è Ò ì Õ Ó

©

@ ! 0 ! § B © 0 © © £ 0 ! § § ! B ! ! ! £ 0 ! © § £ © £ ! © © © E 0 ! § ¡ ! £ ! ¡ E ¡ Ã

B ! ¡ © 3 4 6

V w

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 35/56

! ¡ © B ¡ § ¡ © © B     § ¡ ©

Ï å è å é æ

¡ © £ ! B ¡ © © § £ © § 0 ! ¡ © § ! E ¡ § 0 ! ©

! § 1 ¡ B | ¢ £ Ì B ¡ ! E ¡ 0 ¡ © 0 ¢ ¢ § ! 6 ! B ! ¡ £ ! © § ¡ § © 1 ! © © @ ¡ 0 ¡

© 0

©    ! ¡     ! £ ! ¡     © £ ! £ E ¡ E ¡ 0 ¡ È © B ¡ ¡ © © E © 0 ! B ¡ B © E ! B ¡

¢ ! £ ! ! E E © © £ ! E ! ! 0     § ! Í E ! © § E ¡ 0 ¡ © 0     § ! © © § 0 !     ¡ £ ! 0 £ E E

3 ¥ 6 ¥

8 ¥ 0 © B © E ! B ¡     © © © £     £ ¡     ¡ £ E ¡ ! ¡ © E § ! £ ! ¡

é Ð Ó ë Õ Ó

8 £ ! © § § ¡ È

¢ ¡ © B ¡ 0 § ¹ ! £ © § E ¡ B ! ¡

¥ 8

Á

    ! £ ! £ © E     © £ ! £ ! 0     § ! !     0 ! £ © § E £ ¡ £

@ ! E ! § ! 1 © 0 © 0     § !

( ! £ ! ! E B

© 0 ! § § ! ! ¡ £ © © § 3 4 6 © B © ¡ È £ ! © ! W

ú Ò æ å Ò ê ì ú Ò Ó å ê

ó ï ïÎ

` È W

ú Ò æ å ó ï ï w

` È ¡ W

Eè è Ñ Ò ê ó ï × ×

`

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 36/56

V Ç

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 37/56

Capítulo 3. Arquitectura

Postgres Conceptos de arquitectura}

0 © © E ¡ B © ¹ ! £ È © © £ ! E ¡ B     £ © © £ § ! ! © © § ! ! £ 0 © E 0 £ ! © § 0 © B ! ( ¡ 0 Ã

1 £ © ¥ 0 © © ¡ E ¡ B ¡ § !     ! £ 0 © © ( ¡ 0 1 £ © 0 © £ ! E 0 ! § © @ ! £

© § 1 © 0 © E ! Ã

¢ 0 § ¡ B E @ ¡ B

© E § § ¡ ¥ § ! © £ 1 ! © ! © © ! 0 ¡ È ( ¡ 0 1 £ © ! B ¡ © § ¡

E § © 0 ©

Ê

© ¡ £ E ¡ ¡ E ¡ E ¡ B ¡ á     £ ¡ E © ¡     ¡ £ ! £ ¡ á

º

! © ( ¡ 0 1 £ © E ¡ 0 ©

© § ¡ 1 © 0 ©     £ ¡ E © ¡ E ¡ ¡& ¢ © £ ! 0 ¡ ©

º

Ì     £ ¡ 1 £ ! B !

Þ

3

º

¢ £ ¡ E © ¡ © B ¡ ¡ ¢ ¢ © £ ¡ £

postmaster

È

3

§ ! !     § E ! E ¡ £ © § ! © 0 £ ! ! ! © § ! £ ¡ £ ¡ 0 ©

© 1 È © §& ¢ £ ¡ 1 £ ! B !

psql

È

3

¡ ¡ B

© £ ¡ £ © © ! © © ! 0 ¡ © © 1 ¡     § ! ¡ © § B B ¡     £ ¡ E © ¡

post-

gres

º

Í E ¡

postmasterE ¡ 0 £ ¡ § ! ! E ¡ § © E E © ! © © ! 0 ¡ ! ! © Í E ¡

@ ¡ 0 © ¡ ! © 0 ¡ ! E ¡ § © E E © ! © © ! 0 ¡ © © § © § § ! B ! £ ! 0 ! § ! E

¡ 0 ¡ 6 ! !     § E ! E ¡ © © £ ¡ 0 © © © £ © ! E E © © £ ! ! © 0 © £ B ! ! ! ©

© ! 0 ¡ © 0 £ ¡ © ! 0 ! § ! E @ ! E © § § ! B ! ! ! § ! § £ © £ ! 6 ! § £ © £ ! © !     © 0 Ã

E ¡ © © ! £ ¡ ! 0 £ ! © § ! £ © ! §

postmaster

ð Õ Ñ Õ ë å å ë æ Ò ã è å é å Ð ê Ò é Õ ê å Ô y ê

È © §

E ! § © £ ©     © 0 ! E ! © ¡' ¢ £ ¡ E © ¡ © © § © £ ¡ £ ! E F ©

Ì µ

ª

½ · - - · l Å ´ - n - k n k - ¿ ± k

E ¡ © E 0 ! © §     £ ¡ E © ¡ © £ ¡ 0 © ! § © ¡ © £ ¡ £

}

¢ ! £ 0 £ © © 0 ©     0 ¡ È © § ¢ £ ¡ E © ¡

© £ ¡ 0 © © § © £ ¡ £ © ! E F © © E ¡ B E ! § ! 0 © £ © E © §

postmas-

ter

}

© È © §

postmaster © B     £ © © © 0

© © E 0 ! ¡ È ©     © £ ! ¡     © 0 E ¡ © È 0 ! 0 ¡

§ ¡     £ ¡ E © ¡ © £ ¡ 0 © E ¡ B ¡ § ¡ © ! E F © © © © !

6 ! § £ © £ !

libpq    © £ B 0 © ! Í E ¡Ý ¢ £ ¡ E © ¡ © £ ¡ 0 © £ © ! § ¹ ! £ B § 0     § © E ¡ © Ã

Ì ¡ © !     £ ¡ E © ¡ © ! E F ©

}

© È § ! !     § E ! E £ ¡ 0 © 0 ¡ ! ! ©     £ ¡ E © ¡

© Í E ¡ 0 @ £ © !

¡ © Ì ¡ © B § 0 0 @ £ © ! © 0 £ © © § £ ¡ 0 © © § ! E F © ¡ © 0

¡     ¡ £ 0 ! ! © B ¡ B © 0 ¡ ©

libpq

º

! B     § E ! E © © 0 ! ! £ 0 © E 0 £ ! © © © §

postmaster © §     £ ¡ E © ¡ ! E F © © B     £ © © © © E 0 ! © § ! B B ! B

! © § © £ Ã

¡ £ © ! © © ! 0 ¡

È B © 0 £ ! © § ! !     § E ! E © £ ¡ 0 ©     © © © © E 0 ! £ © © ©

E ! § © £ 0 ¡ © © 0 © © £ © 0 ¡ © B © 0 © È     ¡ £ © § ¡ ! £ E @ ¡ ©     © © © £ ! E E © Ã

¡ © § ! B

! © § E § © 0 ©~ ¢ © © ¡ © £ ! E E © § © ¡ § ¡ ¢ © © © £ ! E E © ¡

! ¡ ¡ B £ © © ! £ E @ ¡ © £ © 0 ©

© § B

! © § © £ ¡ £ © ! © © ! 0 ¡

8 © 1 ! © E © 0 ! © § ¡ © £ E ¡

postmaster     ¡ 0 1 £ © © © © E 0 ! E ¡ © § © 0 Ã

E ! ¡ £ © ! £ ¡ © § á ¢ ¢ © £ ! £ ¡ á ( ¡ 0 1 £ ©

¡ 0 © © © §     © £ ! £ ¡ ( ¡ 0 1 £ © ¡

© E © 0 ! © £ ! £ ¡ ©     © E ! § © ! £ ¡ § § ! B ! ¡ áâ ¢ ¡ 0 1 £ © á

© 0 ¡ ! ¡ £ B ! È

© §     © £ ! £ ¡ ( ¡ 0 1 £ © © 0 ! B © 0 © ¡ 0 © © © © £ © §     © £ ! £ ¡ ©

º

Ì

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 38/56

¨

á £ ¡ ¡ 0 á

T ¥ E ! § © £ E ! ¡ È 0 ¡ ¡ § ¡ ! £ E @ ¡ £ © § ! E ¡ ! ¡ E ¡ § ! ! © © ! 0 ¡ © Ã

©     © £ 0 © © E © £ ! © 0 ©     © £ ! £ ¡ ( ¡ 0 1 £ © ( ¡ 0 1 £ ©

V ×

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 39/56

Capítulo 4. Empezando

o

B ¡ © B     © ¹ ! £ ! 0 £ ! ! ! £ E ¡ ( ¡ 0 1 £ ©

}

§ 1 ¡ © § ¡ ² ! ¡ © E © ! £ ¡     ! £ ! ! £ ( ¡ 0 1 £ ©     © © © £ £ © ! § ¹ ! ¡     ¡ £ E ! § Ã

© £ ! £ ¡ È ! § 1 ¡ § ¡ © © £

£ © ! § ¹ ! £ © § ! B 0 £ ! ¡ £ © § ! ! © © ! 0 ¡ ¥ 0 ©

! B 0 £ ! ¡ £ © § !h ¢ © £ ¡ ! © 0 ! § © § ¡ 0 $ ! £ © È E £ © § ¡ £ © E 0 ¡ £ ¡ © § ! ! ©

© ! 0 ¡ © E © §     £ ¡ E © ¡

postmaster ¥ 0 !     © £ ¡ ! ¡ 0 © © © © £ © §     © £ ! Ã

£ ¡

º

Ì 5 £ ¡ ¡ 0 7

¡ © § ! B 0 £ ! ¡ £ © § 0 © B !

º

! ¢ © £ ¡ !     © © 0 ! § ! £ ! £

( ¡ 0 1 £ © 0 © © £ ! E © 0 ! ©     © E ! § ¡' ¢ £ § © 1 ! !

3 © 0

0 ! § ! ¡ ( ¡ 0 1 £ © È E ¡ § 0 © § ! 0 £ E E ¡ © © 0 ! § ! E © § ! í ! ©

}

B 0 £ ! E £ © 1 £ © © ! © 0 ! 1 ! E ! ¡ @ ! ! E ¡ E § ¡ § ! 0 ! § ! E

© 0 £ ! § © © © 0 © B ! ! § È E ! § © £ © © B     § ¡ © © ! © E ¡ B © E © E ¡ © § E ! £

E 0 © £

5 1 7 ¡ £ © © © © © E £ £

© © § § ! § © ! © £ © © ©

º

Ì 6 ¡ © © B     § ¡

© E ¡ B © ¹ ! E ¡ © § E ! £ ! E 0 © £ 5 ² 7 ¡ £ © © © © § § © 1 ! © © E ¡ § 0 ! ( ¡ 0 1 £ © È

( ¡ 0 1 £ © 3 4 6

Configurando el entorno¥ 0 ! © E E © Ì5 ² ¡ © § ! B ! © £ ! © E ¡ 1 £ ! £ © § © 0 ¡ £ ¡ È     ! £ ! § ! !7 ¢ § E ! E ¡ ©

}

Ã

B B ¡ © ( ¡ 0 1 £ © @ ! ¡ 0 ! § ! ¡ © E ! ¡ E ¡ £ £ © E 0 ! B © 0 © @ E ¡ § 0 © § ! í ! © §

}

B 0 £ ! ¡ £ § ! ¡ 0 ! © 0 ! § ! E © © ! 0 ! § ! £ ( ¡ 0 1 £ ©

( ¡ 0 1 £ © © ! !# ¢ § E ! E E § © 0 ©

Ê

© £ ¡ £

¡ B ¡ ! £ ¡ È Í E ! B © 0 © © E © 0 ! ! E Ã

E © ¡ ! § !     ! £ 0 © E § © 0 © © © B     § ¡ © ! !     § E ! E E § © 0 © © © § B ¡ 0 ¡ £ 0 © £ ! E Ã

0 ¡

psql

( ¡ £ B     § E ! È ! B £ © B ¡ © ( ¡ 0 1 £ © @ ! ¡ 0 ! § ! ¡ © © § £ © E Ã

0 ¡ £ ¡

/usr/local/pgsql ( ¡ £ § ¡ 0 ! 0 ¡ È ¡ © © ! © § £ © E 0 ¡ £ ¡

/usr/local/pgsqlÈ

© © £

0 0 £ § ¡Ë ¢ ¡ £ © § ¡ B £ © © § £ © E 0 ¡ £ ¡ ¡ © ( ¡ 0 1 £ © © 0 0 ! § ! ¡ £ © ! § Ã

B © 0 © 8 ¡ ¡ § ¡     £ ¡ 1 £ ! B ! © ( ¡ 0 1 £ © © 0 ! § ! © © 0 © E ! ¡

© © § £ © E 0 ¡ £ ¡

/usr/local/pgsql/bin ( ¡ £ § ¡ 0 ! 0 ¡ È © © £

!    ! £ © 0 © £ © E 0 ¡ £ ¡ ! § ! © @ © § §

£ 0 ! © £ © © 3 ! ! ! £ ! 0 © © §

@ © § § ©

© £ F © § © È 0 ! § E ¡ B ¡ 0 E @ ¡ E @ È

© © £

!    ! £

% set path = ( /usr/local/pgsql/bin path )

© © § ! £ E @ ¡

.login © £ © E 0 ¡ £ ¡     © £ ¡ ! § 3 ! ! ! £ ! 0 © © §

¡ £ © @ © § § È

0 ! § E ¡ B ¡ @ È F @ ¡ ! @ © 0 ¡ E © © © £

!    ! £

% PATH=/usr/local/pgsql/bin:$PATH

% export PATH

© © § ! £ E @ ¡

.profile © £ © E 0 ¡ £ ¡     © £ ¡ ! § © © ! @ ¡ £ ! È ! B £ © B ¡ © @ !

!    ! ¡ © § £ © E 0 ¡ £ ¡ © ( ¡ 0 1 £ © !     ! 0 @

}

© B

È @ ! £ © B ¡ £ © © £ © E ! £ © E © Ã

0 © B © 0 © ! 5 E ¡ 1 £ ! £ ! ! £ ! § © © @ © § § 7 ¡ 5 E ¡ 1 £ ! £ ! ! £ ! § © © © 0 ¡ £ ¡ 7 !

§ ¡ § ! £ 1 ¡ © © 0 © ¡ E B © 0 ¡ 3 ¡ © 0 © © E ¡ B     § © 0 ! B © 0 © © § Í § 0 B ¡    

£ £ ! ¡ ! § £ ©     © E Ã

0 ¡ © § ! B ¡ E ! E ©     ! 0 @ È ! 0 © © E ¡ 0 ! £ © © £ ! E ¡ § 0 ! £ § ¡ B ! ! § ©

©

º

Ì © © E £ © © § @ © § § © 0 § ¹ !

3 © § ! B 0 £ ! ¡ £ © § 0 © B ! ¡ 0 © © § ! E ¡ 1 £ ! E © © § B ¡ ¡Ý ² ¡ £ © © E 0 ¡ È

0 © £

© £ © ! § ¹ ! £ 0 £ ! ! ¡ © Ì 0 £ ! ( ¡ £ © © B     § ¡ È § ! B

! © £ ¡ £ © ! © ©

! 0 ¡ © ! B

! £ © B ¡ 0 ! È © E © 0 ! £

E ¡ 1 £ ! £ § ! ! £ ! § © © © 0 ¡ £ ¡ ( í

Á

3 8

E ¡ © § ¡ B £ © © § ! B

! © £ ¡ £ © ! © © ! 0 ¡ 8 ! B © © £

©     © E E ! £

§ ! ! £ ! § © © © 0 ¡ £ ¡ ( í (

8 3 0 £ ! 0 ! © E ! £     £ ¡ 1 £ ! B ! © !     § E ! E 0 ©

V ï

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 40/56

¡ 0 E ! © ¡     © © E ¡ © E 0 ! £ © ! §

postmasterÈ © © £

E ¡ § 0 ! £ ! § ! B 0 £ ! ¡ £

¢ ! £ ! ! © 1 £ ! £ © © © © 0 ¡ £ ¡ © 0

E ¡ 1 £ ! ¡ ! © E ! ! B © 0 ©

Ejecución del Monitor Interactivo (psql)}

B © ¡ © ! B 0 £ ! ¡ £ @ ! ! © © E 0 ! ¡ ! © E ! ! B © 0 © © §² ¢ £ ¡ E © ¡

post-

master § © @ ! ! ! 0 ¡ £ ¹ ! ¡ ! 0 § ¹ ! £ § ! ! © © ! 0 ¡ È     © © E ¡ B © ¹ ! £ ! © © E 0 ! £

!     § E ! E ¡ © E ¡ B ¡ ! £ ¡

¡ B ¡ B © E ¡ ! B ¡ d ² £ © ! B © 0 © È © © £ ! !    ! £

/usr/local/pgsql/b! § 5# ¢ ! 0 @ 7 © Í © ! © 0 £     £ © 0 © © £ © © ¥ § ! B ! ¡ £ ! © § ¡ E ! ¡ È © § ¡

Í E ¡ © 0 © £

© @ ! E © £ © 0 £ B ¡ ©     £ ©     ! £ ! E

© © ( ¡ 0 1 £ © ÷

È © ¡     ¡ £ 0 ! ¡ 0 ¢ ¡ © £ © 0 © © E ¡ © Ì ¥ § ! B 0 £ ! ¡ £

¢ © © @ ! © £ © § © 1 ¡     © £ B 0 £ E ¡ © Ì ¡ © ² ¡ £ £ © 8

(

Ê

( È ¡ £ © 0 £ 1 £ § ¡ ! E E © ¡ !

§ ! ! © © ! 0 ¡ ! 0 £ ! © E ¡ © Ì ¡ © § ¡ E ! § © © § ! B B ! B

!

¥ 0 ! © § © E E

¢ © © © £ 1 E ! 0 ! © E © 0 £ !     £ ¡ § © B ! ! § ! @ ¡ £ ! © E ¡ © E 0 ! £ ! § ! ! © © ! 0 ¡

3 ¡ 0 © © § ¡ 1 © 0 © B © ! © © © £ £ ¡ £ © ! ¡ £ © ( ¡ 0 1 £ © 0 ! § E ¡ B ¡

psql¡

createdb Þ

% psql template1

Connection to database ’postgres’ failed.

connectDB() failed: Is the postmaster running and accepting connections

at ’UNIX Socket’ on port ’5432’?¡

% psql -h localhost template1

Connection to database ’postgres’ failed.

connectDB() failed: Is the postmaster running and accepting TCP/IP

(with -i) connections at ’localhost’ on port ’5432’?

¡ £ B ! § B © 0 © © © ¡ ! ©

© §

postmaster ¡ © 0

© E ¡ ! B © 0 ¡ È ¡

© 0

0 © 0 ! ¡ E ¡ © E 0 ! £ ! § © £ ¡ £ © ¡ E ! ¡ 3 ¡ 0 © © © § 1 © 0 © B © ! © © © £ £ ¡ £

Þ

FATAL 1:Feb 17 23:19:55:process userid (2360) != database owner (268)

3 1 E ! © © § ! B 0 £ ! ¡ £ © © E 0 © §

postmasterB © ! 0 © © § ! £ ¡ © ¡ E ! Ã

¡ 1 ! § © © § ¡ £ © E © 0 § ¹ ! ¡ © §     © £ ! £ ¡ © ( ¡ 0 1 £ ©

Administrando una Base de datos}

@ ¡ £ ! © ( ¡ 0 1 £ © © 0

© © E 0

¡ ©     ¡ © B ¡ E £ © ! £ ! § 1 ! ! © © ! 0 ¡     ! £ ! © Ì Ã

¢ © £ B © 0 ! £ E ¡ © § § !

}

© E £ B ¡ § ! £ © ©

E ! ² ! £ ! ! B 0 £ ! £ ! ! ©

© ! 0 ¡

6 ! B ! ¡ £ ! © § ! !# ¢ § E ! E ¡ © ( ¡ 0 1 £ © ! B © © © § ¡ B £ © © § ! ! © © ! 0 ¡ È

¡ © ©     © E E ! È © © § B B ¡ © © § © E © 0 ! © © § 0 © B !

3 © § ! B 0 £ ! ¡ £ © ! © © ! 0 ¡ @ ! E ¡ 1 £ ! ¡ E © 0 !     £ § © 1 ¡ ©

E £ © ! E © ! © © ! 0 ¡ È © 0 ¡ E © © © £

© E £ § © © § ¡ B £ © © ! © ! 0 ¡

3 © 0 © © © § E ! ¡ È © 0 ¡ E ©     © © ¡ B 0 £ § ! § © E 0 £ ! © © 0 ! © E E ¡ £ © E £ © ! E

© 0 £ E E © ! © © ! 0 ¡

w 4

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 41/56

Creación de una base de datos 1 ! B ¡ © © £ © E £ © ! £ ! ! © © ! 0 ¡ § § ! B ! ! B ( © © @ ! E © £ § ¡ E ¡ § !

1 © 0 © ¡ £ ©

Þ

% createdb mydb

3 ¡ E © 0 ! E ¡ § ¡     £ § © 1 ¡ £ © © £ ¡     ! £ ! E £ © ! £ ! © © ! 0 ¡ È © £

§ ¡ 1 © Ã

0 ©

Þ

% createdb mydb

NOTICE:user "su nombre de usuario" is not allowed to create/destroy databases

createdb: database creation failed on mydb.

( ¡ 0 1 £ © § ©     © £ B 0 © E £ © ! £ E ! § © £ Í B © £ ¡ © ! © © ! 0 ¡ © 0 © B ! ! ¡

! 0 ¡ B

0 E ! B © 0 © © £

© § ! B 0 £ ! ¡ £ © § ! ! © © ! 0 ¡ © E £ © 6 ¡ ¡ B £ ©

© § ! ! © © ! 0 ¡ © © E ¡ B © ¹ ! £ ¢ ¡ £ E ! £

E 0 © £ ! § ! 0 E ¡ © 0

§ B 0 ! ¡

! ! § ¡ 1 0 ©

E ! £ ! E 0 © £ ©

¡ 0 ¡ ¡ § ¡ ! £ ¡ © 0

! 0 ¡ £ ¹ ! ¡     ! £ ! © £

! B 0 £ ! ¡ £ © ! ! © © ! 0 ¡ 3 ( ¡ 0 1 £ © § © © 1 ! § ! E £ © ! E © ! © © ! 0 ¡ È

© 1 £ ! B © 0 © © © ¡ ! © © § ! B 0 £ ! ¡ £ © § 0 © B ! @ ! © ¡ 0 ¡ £ 1 ! £ § ©     © £ B ¡

¢ ! £ ! @ ! E © £ § ¡ ¥ © © E ! ¡ È E ¡ § 0 © ! § ! B 0 £ ! ¡ £ © § 0 © B !

Acceder a una base de datosº

! © ¹ © @ ! E ¡ 0 £ ¡ ! ! © © ! 0 ¡ È     © © ! E E © © £ ! © § § !

Þ

3

¥ © E 0 ! ¡ § ¡ ¢ £ ¡ 1 £ ! B ! © B ¡ 0 ¡ £ ¹ ! E © ( ¡ 0 1 £ © 2 ¢ ¡ £ © © B     § ¡

psql

§ ¡

E ! § © § ©     © £ B 0 © 0 £ ¡ E £ È © 0 ! £ © © E 0 ! £ £ © © 3 4 6 0 © £ ! E 0 ! B © 0 ©

3

¥ E £ © ¡     £ ¡ 1 £ ! B ! ©

! ¡ § ! § £ © £ ! © £ 0 ! 6

( 4 È § ! E ! § § ©

    © £ B 0 © © ! £ £ © © 3 4 6 © ©

¡ 0 © © £ B © ! © © £ ©     © 0 ! ©     £ ¡ Ã

1 £ ! B ! ¥ 0 ! 0 © £ ! ¹ © E 0 ! B

! © § ! 0 © © § ! B

Ð ò Ò ì å ý Ó Õ û Ó Ò Ñ Ò ì Õ Ó å ë ì å ý Õ ë æ ç

û Ó å Ï x

( © © © © © © © © E 0 ! £

psqlÈ     ! £ !     £ ¡ ! £ § ¡ © © B     § ¡ © © 0 © B ! ! § 6 ¡     © ©

! E 0 ! £     ! £ ! § ! ! © © ! 0 ¡ B © E £ © ¡ § ! ¡ £ ©

Þ

% psql mydb

3 © § © ! £

§ ! © © ! E ¡ © § 1 © 0 © B © ! ©

Þ

Welcome to the POSTGRESQL interactive sql monitor:

Please read the file COPYRIGHT for copyright terms of POSTGRESQL

type \? for help on slash commands

type \q to quit

type \g or terminate with semicolon to execute query

You are currently connected to the database: template1

mydb=>

¥ 0 ©     £ ¡ B     0 E ! © © § B ¡ 0 ¡ £ © 0

§ 0 ¡     © © © E £ £ E ¡ § 0 ! 3 4 6 © 0 £ ¡

© © Q ² ! E ¡ © 0 £ ! ! ¡ B ! 0 © ¡     ¡ £ © § B ¡ 0 ¡ £ ¥ § ¢ £ ¡ 1 £ ! B !

psql£ ©     ¡ © ! § ¡

w ó

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 42/56

E 1 ¡ © © E !     © © © B     © ¹ !     ¡ £ © § E ! £

E 0 © £ 5 Í 7 ( ¡ £ © © Bw ¢ § ¡ È     © © ¡ 0 © © £ § !

! ! ! E © £ E ! © § ! 0 ! Ì © ! £ ! £ © © 3 4 6 ( ¡ 0 1 £ © © E £ © ¡

Þ

mydb=> \h

º

! © ¹ © @ ! ! 0 © £ B ! ¡ © 0 £ ¡ E £ E ¡ § 0 ! È     © ©     ! ! £ © § E ¡ 0 © ¡ © §

©     ! E ¡ © 0 £ ! ! ¡ ! § © £ ¡ £ ( ¡ 0 1 £ © © E £ © ¡

Þ

mydb=> \g

¥ 0 ¡ § © E © ! § © £ ¡ £ © ¢ £ ¡ E © © § ! E ¡ § 0 ! 3 0 © £ B ! E ¡ § 0 ! E ¡ ¢ 0 ¡

E ¡ B ! È § ! 5 Í 1 7 ¡ © © E © ! £ !

psql¢ £ ¡ E © ! £

! 0 ¡ B

0 E ! B © 0 © § ! E ¡ § 0 ! 0 © £ Ã

B ! ! E ¡     0 ¡ E ¡ B ! ( ! £ ! § © © £ E ¡ § 0 ! © © ! £ E @ ¡ È 1 ! B ¡ B

§ © È

© § 1 ! £ © 0 £ ¡ E £ § ! 0 © £ ! E 0 ! B © 0 © È © E £ !

Þ

mydb=> \i nombreDelFichero

( ! £ ! ! § £ ©

psql £ © 1 £ © ! £ !

º

Ì © E £ !

Þ

mydb=> \q

psql0 © £ B ! £

¡ § © £

! § ! § © ! © £ © © ( ! £ ! E ¡ ¡ E © £ B

E 1 ¡ © © E ! Ã

¢ © È © E £ ! Î Ï © © § ² £ ¡ BC ¢ 0 © § B ¡ 0 ¡ £

3 ©~ ¢ © © 0 § ¹ ! £ © Q ¢ ! E ¡ © § ! E ¡     ¡ £

© © B     § ¡ ©     ! E ¡ È 0 ! § ! ¡ £ © § E ! £

E 0 © £ © © ! § © !

© § ! E ¡ § 0 ! 3 4 6 6 !

§ © ! B     § © E ¡ B © 0 ! ! E ¡ B © ¹ !     ¡ £ 5 Ð 7 6 ¡ © @ ! ! © " ¢ © § ¡ 1 ¡ ©

@ ! 0 ! © § ! § © § © ! © £

1 ¡ £ ! ¡ 6 ¡ E ¡ B © 0 ! £ ¡ B Í § 0     § © § ¡ © ¡ E ¢ ¢ ! B

© ! § © ! © ©    ! § ! E ¡ 5

Ê

² ²

Ê

7

Eliminando bases de datos3 © © § ! B 0 £ ! ¡ £ © § ! ! © © ! 0 ¡ B È     © © © § B ! £ § ! 0 § ¹ ! ¡ § ! Ã

1 © 0 © ¡ £ ©

º

Ì

Þ

% dropdb mydb

¥ 0 ! ! E E © § B ! E ! B © 0 © 0 ¡ ¡ § ¡ ! £ E @ ¡

º

Ì ! ¡ E ! ¡ ! § ! ! © © ! 0 ¡

¡     © © £ © E     © £ ! £ © È ! © © © £

@ ! E © £ © E ¡     £ © E ! E

w F

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 43/56

Capítulo 5. El Lenguaje de consultas¥ § § © 1 ! © © E ¡ § 0 ! © ( ¡ 0 1 £ © ( ¡ 0 1 £ © © ! ! £ ! 0 © © § © 0

! £ 3 4 6

8 © Ã

© B E @ ! © Ì 0 © ¡ © È 0 ! § © E ¡ B ¡ 0     ¡ © 0 © B ! © Ì 0 © § © È @ © £ © E ! È £ © 1 § ! ©

¢ £ ¡ E E E ¡ © ¥ 0 ! ¡ E ! £ ! E 0 © £ 0 E ! 0 ¡ B ! ! © § § © 1 ! © © E ¡ § 0 !

¡ £ 1 ! § © ( ¡ 0 1 £ © ( ¡ 0 4 © §

Ñ 0 ! © E E     £ ¡& ¢ ¡ £ E ¡ !     £ B © £ 0 ! ¹ ¡ © E B ¡

! £ ( ¡ 0 1 £ © 3 4 6     ! £ ! £ © ! § ¹ ! £ ¡     © £ ! E ¡ © © E § § ! 6 ! 0 © E © © 0 © B ! ! §

© BC ¢ § © B © 0 © § ! © ² £ ¡     ¡ £ E ¡ ! £ § © ! © ! © © 0 £ ! © £ © 3 4 6 ¡ © ©

1 Í B ¡ ¡ E ¡ Bw ¢ § © 0 ¡ 0 0 ¡ £ ! § ! E © £ E ! © 3 4 6 3 © @ ! © E £ 0 ¡ B © £ ¡ ¡ § £ ¡

¡ £ © 3 4 6 È E § © ¡ W ¥ 6 8 z

` ! W

}

8 ¥ z § ` 8 © 1 ! © E © 0 ! © ! § 1 ! E ! £ ! E Ã

0 © £ 0 E ! © § § © 1 ! © ¡ © Ì 0 © ¡ © © § © 0

! £

}

3

Monitor interactivo¥ § ¡ © © B     § ¡ © 1 © È ! B B ¡ © @ ! E £ © ! ¡ § ! ! © © ! 0 ¡ B E ¡ B ¡ ©

© E £ © © § ! © E E ! 0 © £ ¡ £ © @ ! ! £ £ ! E ! ¡

psql 6 ¡ © © B     § ¡ © !7 ¢ ! £ © Ã

E © © © 0 © B ! ! § 0 ! B ©     © © © E ¡ 0 £ ! £ ©

/usr/local/pgsql/src/tutorial/

¡ § 0 © © § E @ © £ ¡

README© © © £ © E 0 ¡ £ ¡     ! £ ! ! © £ E B ¡ ! £ § ¡ ( ! £ ! © BC ¢ © ¹ ! £

E ¡ © § 0 0 ¡ £ ! § @ ! 1 ! § ¡ 1 © 0 ©

Þ

% cd /usr/local/pgsql/src/tutorial

% psql -s mydbWelcome to the POSTGRESQL interactive sql monitor:

Please read the file COPYRIGHT for copyright terms of POSTGRESQL

type \? for help on slash commands

type \q to quit

type \g or terminate with semicolon to execute query

You are currently connected to the database: postgres

mydb=> \i basics.sql

¥ § E ¡ B ! ¡

\i§ © © © § ! E ¡ § 0 ! © © § ¡ E @ © £ ¡ ©     © E E ! ¡ 6 ! ¡     E

-s§ ©

¢ ¡ © © B ¡ ¡ 1 § © 0 ©     È © @ ! E © !) ¢ ! ! ! 0 © © © ! £ § ! E ¡ § 0 ! ! § © £ ¡ £

6 ! E ¡ § 0 ! © © 0 ! © E E © 0

© © § E @ © £ ¡

basics.sql

psql0 © © ! £ ¡ E ¡ B ! ¡

\d    ! £ ! B ¡ 0 £ ! £ ¡ £ B ! E © 0 © B !

¡ § 0 © 0 ¡

E ¡ B ! ¡ 9 ¢ ! £ ! © £ B

© 0 ! § § © 0 © E § © ©

\? © © © §     £ ¡ B     0

psql    ! £ ! © £ § 0 ! ¡

© E ¡ B ! ¡     ¡ § ©

Conceptos6 ! ¡ E ! B © 0 ! § © ( ¡ 0 1 £ © © § ! © E § ! © È © © ! E ¡ § © E E © 0 ! E !

© ¡ © 0 ¡

! ! 0 ! E ! 0 © © § ! B B ! E ¡ § © E E © ! 0 £ 0 ¡ E ! ! ! 0 £ 0 ¡ ©

© 0 ¢ ¡ ©     © E E ¡

! Í È E ! ! 0 ! E ! 0 © ©

Ô ì å ê æ Ô Ê é Ò ì Õ Ó ì å Õ ã ä å æ Õ

¢ © £ B ! © 0 © È © © Í E ¡ ! § ¡ § ! £ 1 ¡ © 0 ¡ ! § ! 0 ! § ! E

! © § ! 0 ! Ì 3 4 6 @ ! Ã

E © £ © © £ © E ! ! 0 ! § ! È ! £ © B ¡ § ¡ 0 £ B ¡

æ Ò ã è Ò

é è Ò ë å

0 0 ! B © 0 ©

}

B B ¡

È !

Ê è Ò

3 4 6 © !

Ô ê ë æ Ò ê é Ô Ò

§ !

é Õ è Ð Ñ ê Ò ë

3 4 6 ¡

Ò æ Ó Ô ã Ð æ Õ ë

¡ B ¡ ! © ¡ ! 0 © Ã

£ ¡ £ B © 0 © È § ! E § ! © © ! 1 £ ¢ ¢ ! © ! © © ! 0 ¡ ! E ¡ § © E E © ! © © ! 0 ¡

1 © 0 ¡ ! !     ¡ £ Í E ¡     £ ¡ E © ¡

postmasterE ¡ 0 0 © ! 0 ! § ! E ¡ 0 ¡

w V

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 44/56

Creación de una nueva clase( © © E £ © ! £ ! © ! E § ! © ©     © E E ! ¡ © § ¡ B £ © © § ! E § ! © È ! © B

© 0 ¡ ¡

§ ¡ ¡ B £ © © ! 0 £ 0 ¡ 0     ¡

Þ

CREATE TABLE weather (

city varchar(80),

temp_lo int, - temperatura mínima

temp_hi int, - temperatura máxima

prcp real, - precipitacióndate date

);

8 © 1 ! © E © 0 ! © § !     ! § ! £ ! E § ! © § ¡ © 0 E ! ¡ £ © ¡ © § © ! § ! B ! Í Ã

E § ! B Í E § ! 6 ¡ © 0 E ! ¡ £ ©     © © § § © 1 ! £ ! © £ © § © ! B ! Í E § ! ¡

B Í E § ! © § ©     ¡ © © 0 £ © ¡ § © E ¡ B § § ! È 0 ! § E ¡ B ¡ § ¡Ý ¢ © £ B 0 © 3 4 6 z

( ¡ 0 Ã

1 £ © 3 4 6 ¡     ¡ £ 0 ! § ¡ 0     ¡ @ ! 0 ! § © © 3 4 6 E ¡ B ¡

Þ

0 È à ¡ ! 0 È £ © ! § È B ! § § 0 È E @ ! £

È

! £ E @ ! £

È ! 0 © È 0 B © È 0 B © 0 ! B     È ! E ¡ B ¡ ¡ 0 £ ¡ © 0     ¡ 1 © © £ ! § ¡ 0 £ ¡ E ¡

£ E ¡ E ¡ 0 ¡ © 0     ¡ 1 © ¡ B 0 £ E ¡ 8 ! § E ¡ B ¡ © £ © B ¡ B

0 ! £ © È ( ¡ 0 1 £ ©     © © © £

E ¡ 1 £ ! ¡ E ¡ Í B © £ ¡ ! £ 0 £ ! £ ¡ © 0     ¡ © ! 0 ¡ © ¡ ¢ ¡ £ © § ! £ ¡

¡ © E © 0 © B © 0 © È § ¡ ¡ B £ © © 0     ¡ ¡ ¡ 0

E 0 E ! B © 0 ©     ! § ! £ ! E § ! © È © Ì Ã

E ©     0 ¡ ¡ © © £ © © £ !     ! £ ! ¡& ¢ ¡ £ 0 ! £ E ! ¡ ©     © E ! § © © © § © 0

! £ 3 4 6 z

© ¡

B

§ © ¡ È © § E ¡ B ! ¡ ( ¡ 0 1 £ ©

½ ¯ « Å ¯

© 0 E ¡ ! § E ¡ B ! ¡ ! ¡     ! £ ! E £ © ! £ !

0 ! § ! © © § 0 © B ! £ © § ! E ¡ ! § © © B     £ © 3 © B ! £ 1 ¡ È © £ © B ¡ © § ! E § ! © 0 © ©

¢ £ ¡     © ! © © ¡ © Ì 0 © ¡ © © § B ¡ © § ¡ £ © § ! E ¡ ! §

Llenando una clase con instancias6 ! © E § ! £ ! E

k · - l

© ! ¢ ! £ ! § § © ! £ ! E § ! © E ¡ 0 ! E !

Þ

INSERT INTO weather

VALUES (’San Francisco’, 46, 50, 0.25, ’11/27/1994’);

8 ! B     © © ! £ © § E ¡ B ! ¡

n °

    ! £ ! E ! £ 1 ! £ 1 £ ! © E ! 0 ! © © ! 0 ¡ © ©

E @ © £ ¡

}

3

í © © £ ! § B © 0 © © 0 ¡ © § © © £ B

£

    ¡     ¡ £ © § ¡ ! 0 ¡ ¡ § © ¡

¡ © E £ 0 ¡

E ¡ B ¡ ! Í E ! 0 £ ! ! E E £ © E 0 ! B © 0 © ! ¡ © © § ! 0 ! § ! © 0 ¡

º

© © B     § ¡ © £ !

Þ

COPY weather FROM ’/home/user/weather.txt’

USING DELIMITERS ’|’;

¡ © © §     ! 0 @ © § E @ © £ ¡ ¡ £ 1 © © © © £ ! E E © § © ! § © £ ¡ £ ! E F © È ¡ ! § E § © 0 © È

! © © § © £ ¡ £ § © © © § E @ © £ ¡ £ © E 0 ! B © 0 ©

Consutar a una clase6 ! E § ! © $ © ! 0 @ © £     © © © £ E ¡ § 0 ! ! E ¡ ! © § © E E £ © § ! E ¡ ! § ¡ £ B ! § E ¡ § Ã

0 ! ©     £ ¡ © E E 6 ! © E § ! £ ! E 3 4 6

· - ´ - n l

© !     ! £ ! @ ! E © £ © 0 ¡ 6 ! © E § ! £ ! E ©

© © ! § 0 ! © 0 ¡ § !     ! £ 0 © © § 0 ! § ¡ ! 0 £ 0 ¡ © @ ! © © £ © © § 0 ¡

w w

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 45/56

! E ! § E ! E § ! ¢ ! £ 0 © © © " ¢ © E E ! E ! § © £ £ © 0 £ E E

( ¡ £ © © B     § ¡ È ² ! £ !

£ © E     © £ ! £ 0 ¡ ! § ! § ! © $ © ! 0 @ © £ È © E £ !

Þ

SELECT * FROM weather;

! 0 @ © ¡ 0     0 @ ¡ § ©

Þ

+---------+------+------+----+--------+

|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 |

+---------+------+------+----+--------+

( © © ©     © E E ! £ E ! § © £ © Ì     £ © © § ! § 0 ! © © 0 ¡ ( ¡ £ © © B     § ¡ È     © © @ ! E © £

Þ

SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather;

6 ¡ ¡& ¢ © £ ! ¡ £ © ¡ ¡ § © ! ¡

k m

È

!

k l

©' ¢ © © ! £ © § ! E ! § E ! E ©

E ! § © £ E ¡ § 0 ! ( ¡ £ © © B     § ¡ È

SELECT * FROM weather

WHERE city = ’San Francisco’

AND prcp > 0.0;

! E ¡ B ¡ £ © § 0 ! ¡

Þ

+---------+------+------+----+--------+

|city | temp_lo | temp_hi | prcp | date |

+---------+------+------+----+--------+

|San Francisco | 46 | 50 | 0.25 | 11-27-1994 |

+---------+------+------+----+--------+

¡ B ¡ !     0 © ! § È     © © ©     © E E ! £ © § ¡ £ © § 0 ! ¡ © © § © E 0     © ! © £ © Ã

© § 0 ¡ ©

Ñ Ò ê å Ó Ò Õ Ó ì å ê Ò ì Ò

¡ 0 ! ¡ § !

Ô ê ë æ Ò ê é Ô Ò ë ì Ð ñ è Ô é Ò ì Ò ë

SELECT DISTINCT city

FROM weather

ORDER BY city;

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 46/56

Redireccionamiento de consultas SELECT

! § © £ E ¡ § 0 ! © § © E 0     © © © £ £ © £ © E E ¡ ! ! ! ! © ! E § ! ©

Þ

SELECT * INTO TABLE temp FROM weather;

¥ 0 ¡ ¡ £ B ! © B ! © £ ! B     § E 0 ! E ¡ B ! ¡

n - l -

È E £ ©

¡ © ! © ! E § ! © 0 © B    

E ¡ © § ! 0 £ 0 ¡ ! B © 0     © ©     © E E ! ¡ © § ! § 0 ! © 0 ¡ © § E ¡ B ! ¡

· - ´ - n l

k l

¥ 0 ¡ E ©     ¡ £ © B ¡ È     ¡ £     © 0 ¡ È £ © ! § ¹ ! £ E ! § © £ ¡     © £ ! E ¡ £ © § ! E § ! ©

£ © § 0 ! 0 © E ¡ B ¡ § ¡ @ ! £ ! B ¡ ¡ £ © E ! § © £ ¡ 0 £ ! E § ! ©

Joins (uniones) entre clasesÁ

! 0 ! ! @ ¡ £ ! È © 0 £ ! E ¡ § 0 ! § ¡ ! E E © ! ! ! E § ! © ! § ! © ¹ 6 ! E ¡ § 0 !     © Ã

© ! E E © © £ ! B Í § 0     § © E § ! © ! § ! © ¹ È ¡ ! E E © © £ ! § ! B B ! E § ! © © 0 ! § B ¡ ¡ ©

B Í § 0 ¢ § © 0 ! E ! © § ! E § ! © © !     £ ¡ E © ! ! ! § B B ¡ 0 © B     ¡

º

! E ¡ § 0 ! ©

! E E © ! ! B Í § 0     § © 0 ! E ! © § ! B B ! ¡ © £ © 0 © E § ! © ! § ! © ¹ © E ¡ ¡ E ©

E ¡ B ¡ ! E ¡ § 0 ! ¡

¡ B ¡ © © B     § ¡ È 1 ! B ¡ © © £ © B ¡ © E ¡ 0 £ ! £ 0 ¡ ¡ § ¡

£ © 1 0 £ ¡ © © 0

© © § £ ! 1 ¡ © 0 © B     © £ ! 0 £ ! © ¡ 0 £ ¡ £ © 1 0 £ ¡ ¥ © © E 0 ¡ È © E © Ã

0 ! B ¡ E ¡ BC ¢ ! £ ! £ § ¡ ! 0 £ 0 ¡ 0 © B     8 § ¡ 0 © B     8 @ © E ! ! 0 ! E ! ¥ ( E ¡ § ¡

! 0 £ 0 ¡ 0 © B     8 § ¡ 0 © B     8 @ © 0 ¡ ! § ! © B

0 ! E ! ¥ (

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.

( ¡ © B ¡ @ ! E © £ © 0 ¡ E ¡ § ! 1 © 0 © E ¡ § 0 !

Þ

SELECT W1.city, W1.temp_lo AS low, W1.temp_hi AS high,

W2.city, W2.temp_lo AS low, W2.temp_hi AS high

FROM weather W1, weather W2

WHERE W1.temp_lo < W2.temp_lo

AND W1.temp_hi > W2.temp_hi;

+---------+---+----+----------+---+----+

|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 verdaderadefinida por el producto cartesiano de las clases indicadas en la consulta. Para estasinstancias en el producto cartesiano cuya cualificación sea verdadera, Postgres calcula ydevuelve 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 Postgresen 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 .

¥ © 0 © E ! ¡ È 0 ! 0 ¡ )

E ¡ B ¡ )

¡ 0 0 ¡     ¡ £ ! 0 ! E ! © § ! E § ! © $ © ! 0 @ © £

© © Ì 0 © ©     ¡ £ 0 ¡ ! § ! 0 ! E ! © § ! E § ! © ¥ § ! 0 © £ B ¡ § ¡ 1 ! © § ! B ! ¡ £ !

w Ç

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 47/56

© § ¡ 0 © B ! © ! © © ! 0 ¡ )

)

© E ¡ ¡ E © E ¡ B ¡

Ó Ò ê û å Ò Ó Ô Ò ã è å ë ® Ò Ó Ô Ò ã è å ë

ì å Ó Ò ê û Õ ¯

º

! E ¡ § 0 !     © © E ¡ 0 © © £ Í B © £ ¡ ! £ 0 £ ! £ ¡ © ¡ B £ © © E § ! ©

0 0 E ¡ ©

Actualizaciones( © © ! E 0 ! § ¹ ! £ 0 ! E ! © Ì 0 © 0 © ! ¡ © § E ¡ B ! ¡     ! 0 © 3     ¡ 1 ! © © Ã

E £ © © § ! § © E 0 £ ! © § ! 0 © B     © £ ! 0 £ ! © §

ö ©

¡ © B £ © ©

1 £ ! ¡ ¢ ¢ © £ ¡ £ !

§ ! 0 © B     © £ ! 0 £ ! £ © ! § ( © © ! E 0 ! § ¹ ! £ § ¡ ! 0 ¡ © © 0 ! B ! © £ !

Þ

UPDATE weather

SET temp_hi = temp_hi - 2, temp_lo = temp_lo - 2

WHERE date > ’11/28/1994’;

Borrados6 ¡ ¡ £ £ ! ¡ © @ ! E © ! ¡ © § E ¡ B ! ¡

m - ´ - l - Þ

DELETE FROM weather WHERE city = ’Hayward’;

8 ¡ ¡ § ¡ £ © 1 0 £ ¡ © $ © ! 0 @ © £     © £ 0 © © E © 0 © !

Á

! $ ! £ ¡ ¡ £ £ ! ¡ © © £ ! © £

¢ £ © E ! ¡ E ¡ § ! E ¡ § 0 ! © § ! ¡ £ B !

DELETE FROM classname;

3 ! E ! § E ! E È

m - ´ - l -

B     § © B © 0 © ¡ £ £ ! £

0 ¡ ! § ! 0 ! E ! © § ! E § ! © ! Ã

! È ©

¡ § ! ! E ! ¥ § 0 © B ! ¡     © £

E ¡ £ B ! E ! 0 © © @ ! E © £ © 0 ¡

Uso de funciones de conjunto

¡ B ¡ ¡ 0 £ ¡ § © 1 ! © © E ¡ § 0 ! È ( ¡ 0 1 £ © 3 4 6 ¡     ¡ £ 0 ! E ¡ © © E ¡ 0 ¡

º

!

E © E ¡ 0 ¡ E ! § E § ! Í E ¡ £ © § 0 ! ¡ !     ! £ 0 £ © B Í § 0 ¢ § © § ! © © 0 £ ! !

( ¡ £ © © B     § ¡ È © Ì 0 © E ¡ © 1 § ¡ ! § © ¢ ! £ ! E ! § E § ! £

count E ¡ 0 ! £

È

sum B ! £

È

avg B © !

È

max B

Ì B ¡

!

min B B ¡

¡ £ © E ¡ 0 ¡ © 0 ! E !

¥ B     ¡ £ 0 ! 0 © E ¡ B     £ © © £ § ! £ © § ! E © 0 £ © § ! E ¡ © © E ¡ 0 ¡ § ! E §

§ !

3 4 6 Ó Ï

- -

Ï

¿ k µ

6 ! © £ © E ! ! B © 0 ! § © 0 £ © Ó Ï

- -

Ï

¿ k µ

© ©

Þ

Ó Ï

-

-

© § © E E ¡ ! § ! E ¡ § B ! © © 0 £ ! ! ! 0 © © § ¡ 1 £     ¡ © 0 ¡ E © © E ¡ B     0 ! § !

E ¡ © © E ¡ 0 ¡ © © 0 © B ¡ ¡ E ¡ 0 £ ¡ § ! § ! ! ! § ! E © E ¡ 0 ¡

È

B © 0 £ ! © Ï

¿ k µ

© § © E E ¡ ! 1 £     ¡ © § ! © " ¢ © § ¡ 1 £ ¢ ² ¡ © 0 ¡ E © ©

E ¡ B     0 ! § ! E ¡ © © E ¡ 0 ¡ © © 0 © B ¡ ¡ § ! E §

§ ! Ó Ï

- -

    © © ¡ E ¡ Ã

0 © © £ E ¡ © © E ¡ 0 ¡     © 0 ¡ © ¡ 0 © © © 0 ¡ 0 © 0 ! £ ! £ ! E

© E ¡ 0 ¡     ! £ ! © 0 © £ B ! £ § ! © £

§ ! © 0 £ ! ! © § ! E ( ¡ £ ¡ 0 £ !     ! £ 0 © È § !

E §

§ ! Ï

¿ k µ

© B     £ © E ¡ 0 © © E ¡ © © E ¡ 0 ¡ ¥ 0 £ E 0 ! B © 0 © @ ! § ! ¡ È

0 ©     © © © E £ £ ! E §

§ ! Ï

¿ k µ

© ¡ © E ¡ © © 1 £     ¡ È     © £ ¡ ¡ B © Ã

£ © E © § !     © ! 6 ! B B ! E ¡ E     ¡ £ ! © £ ! ! © B ¡ ¡ B

© E ! ¹ E ¡ Ó Ï

- -

¡ B ¡ © © B     § ¡     ¡ © B ¡ E ! £ § ! B B ! 0 © B     © £ ! 0 £ ! © E ! § © £     ! £ 0 © E ¡

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 48/56

SELECT max(temp_lo) FROM weather;

3 © £ © B ¡ ! © £ E ! ¡ E ! © ¡ © © © £ ¡ © 0 ! 0 © B     © £ ! 0 £ ! È     ¡ © Ã

B ¡     £ ¡ ! £

SELECT city FROM weather WHERE temp_lo = max(temp_lo);

¢ © £ ¡ ¡ E ¡ ! £

© ¡ ! © § ! E B ! Ì

¡     © © © £ ! ! © Ó Ï

- -

3

© B ! £ 1 ¡ È     ¡ © B ¡ £ ©     § ! 0 ! £ § ! E ¡ § 0 ! ¢ ! £ ! § § © ! £ ! E ! ¡ § ¡ © E ! B ¡ ¥ © 0 ©

E ! ¡ ! ¡ !

ë Ð ã ë å è å é é Ô Õ êÞ

SELECT city FROM weather WHERE temp_lo = (SELECT max(temp_lo) FROM weat-

her);

6 ¡ © ! © E ¡ £ £ © E 0 ¡ È ! © § ! © § © E E © ! ¡     © £ ! E ©     © © 0 © ©

E ! § E § !     £ ¡& ¢ ! E © 1 £     ¡ B     ¡ £ 0 ! £ § ¡ ©     ! © © © § © § © E 0 © Ì 0 © £ ¡ £

6 ! E ¡ © © 1 £     ¡ ¡ 0 ! B B Í 0 § © E ¡ B

¡ § ! E ¡ E §

§ !

û Ó Õ Ð ñ

ã ¤

( ¡ £ © © B     § ¡ È     ¡ © B ¡ ¡ 0 © © £ § ! 0 © B     © £ ! 0 £ ! B B ! 0 ¡ B ! ! © E ! ! E !

E ¡

Þ

SELECT city, max(temp_lo)FROM weather

GROUP BY city;

© ¡ © © § © ! § !     ¡ £ E ! ( ¡ © B ¡ § 0 £ ! £ © 0 ! § ! ! 1 £ ¢ ¢ ! ! ! ¡

Ï

¿ k µ Þ

SELECT city, max(temp_lo)

FROM weather

GROUP BY city

HAVING min(temp_lo) < 0;

© ¡ ! § ¡ B B ¡ £ © § 0 ! ¡ È     © £ ¡ © E ! © E ¡ 0 © BC ¢ © £ ! 0 £ ! ! ¡ E © £ ¡

Ã

! § B © 0 © È § ¡ ¡ 0 © £ © ! § ! E ! © E ¡ ¡ B £ © © BC ² © E ©     ¡ £ ( È © © Ã

£ ! B ¡ @ ! E © £

Þ

SELECT city, max(temp_lo)

FROM weather

WHERE city like ’P%’

GROUP BY city

HAVING min(temp_lo) < 0;

8 © 1 ! © E © 0 ! ©     ¡ © B ¡ !     § E ! £ § ! £ © 0 £ E E © § ¡ B £ © © E ! © Ó Ï

- -

È

! © ¡ © E © 0 ! E ¡ © © E ¡ 0 ¡ ¥ 0 ¡ © B

© E ! ¹ © !    ! £ § ! £ © 0 £ E E

! Ï

¿ k µ

È © ¡ ! © © 0 ! B ¡ @ ! E © £ § ¡ E

§ E § ¡ © 1 £     ¡     ! £ ! 0 ¡ ! § ! § ! ©

¡     ! ! © § § 0 £ ¡ © Ó Ï

- -

w ×

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 49/56

Capítulo 6. Características Avanzadas de SQL en PostgresÁ

! © ¡ E © £ 0 ¡ § ¡ ! " ¢ © E 0 ¡

E ¡ © ( ¡ 0 1 £ © 3 4 6     ! £ ! ! E E © © £ ! § ¡ ! 0 ¡ È Ã

E 0 £ © B ¡ ! @ ¡ £ ! ! © § § ! E ! £ ! E 0 © £ 0 E ! © ( ¡ 0 1 £ © © § ¡ 0 1 © © § ¡ 1 © Ã

0 ¡ £ © © ! © © ! 0 ¡ E ¡ © E ¡ ! § © ¥ 0 ! E ! £ ! E 0 © £ 0 E ! E § © @ © £ © E ! È 0 B ©

0 £ ! © § ! © © © § 0 © B     ¡

! § ¡ £ © ¡ Ã ! 0 B E ¡ © ! 0 ¡ ! 0 £ 0 ¡ ! ! ¡ © © E Ã

0 ¡ £ © E ¡ 0 ¡

6 ¡ © © B     § ¡ © © 0 ! © E E | ² © © © E ¡ 0 £ ! £ © 0 ! B ©

ad-

vance.sql© © § £ © E 0 ¡ £ ¡ © § 0 0 ¡ £ ! §

¡ § 0 © © §

!     0 § ¡ { ¢ ! £ ! © £ § ! ¡ £ B ! ©

0 § ¹ ! £ § ¡

Herencia

£ © © B ¡ ¡ E § ! © 6 ! E § ! © E !     0 ! § E ¡ 0 © © § ! E !     0 ! § © © § ¡ © 0 ! ¡ È § ! E ! § ©

¡ 0 ! B E ! ©

! 0 £ ! § B © 0 © È § ! E § ! © E !# ¢ 0 ! § © © £ ! @ © £ © ! £ © E 0 ©

CREATE TABLE cities (

name text,

population float,

altitude int - (in ft)

);

CREATE TABLE capitals (

state char(2)) INHERITS (cities);

¥ © 0 © E ! ¡ È ! 0 ! E ! © E !     0 ! § ù

å Ó å ì Ò

0 ¡ ¡ § ¡ ! 0 £ 0 ¡ ! B © È     ¡     § ! 0 ¡

! § 0 0 ©

©     ! £ © È E 0 © ¥ § 0     ¡ © § ! 0 £ 0 ¡ ! B © ¡ B £ ©

© 0 © Ì 0 È 0     ¡ ! 0 ¡

© ( ¡ 0 1 £ ©     ! £ ! E ! © !

}

3

© § ¡ 1 0 ! £ ! § © ¥ § 0     ¡ © § ! 0 £ 0 ¡     ¡     § ! 0 ¡

    ¡ § ! E

© à ¡ ! 0 È 0 ¢ ¡ © ! 0 ¡ È 0 ! B ! 0 ¡ © ( ¡ 0 1 £ © È     ! £ ! Í B © £ ¡ ©

¢ 0 ¡ à ¡ 0 ! 0 © © ¡ § ©     £ © E 6 ! E § ! © E !     0 ! § 0 © © ! 0 £ 0 ¡ © Ì 0 £ ! È 0 ! 0 © È ©

B © 0 £ ! ! © 0 ! ¡h ² © £ 0 © © E © ¥ ( ¡ 0 1 £ © È ! E § ! ©     © © @ © £ © ! £ © 1 ! ¡

! £ ! ¡ 0 £ ! E § ! © È ! E ¡ § 0 !     © © @ ! E © £ £ © © £ © E ! 0 ! 0 ¡ ! 0 ¡ ! § ! 0 ! E !

© ! E § ! © E ¡ B ¡ ! 0 ¡ ! § ! 0 ! E ! © ! E § ! © © E © © 0 ©

Nota: La jerarquía de la herencia es un gráfico acíclico dirigido.

( ¡ £ © © B     § ¡ È § ! 1 © 0 © E ¡ § 0 ! © E © 0 £ ! 0 ¡ ! ! © § § ! E ! © © © 0

Ã

0 ! ! ! ! § 0 £ ! © {

¡ B

    ©

Þ

SELECT name, altitude

FROM cities

WHERE altitude Ô 500;

+-------+-------+

|name | altitude |

+-------+-------+

|Las Vegas | 2174 |

+-------+-------+

|Mariposa | 1953 |

+-------+-------+

( ¡ £ ¡ 0 £ ¡ § ! ¡ È     ! £ ! © E ¡ 0 £ ! £ § ¡ ¡ B £ © © 0 ¡ ! § ! E ! © È E § ! § ! E !7 ¢ 0 ! Ã

§ © © 0 ! 0 ! § © È © © 0 0 ! ! ! ! ! § 0 0 © {

¡ B

    © È § ! E ¡ § 0 ! ©

Þ

SELECT c.name, c.altitude

w ï

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 50/56

¨

FROM cities* c

WHERE c.altitude > 500;

$ @ E @ £ © 0 £

Þ

+-------+-------+

|name | altitude |

+-------+-------+

|Las Vegas | 2174 |+-------+-------+

|Mariposa | 1953 |

+-------+-------+

|Madison | 845 |

+-------+-------+

}

© § 5 ² 7 ©     © E 0 © E ! © § ! E ¡ § 0 ! © © £ © ! § ¹ ! £ © ¡ £ © E 0 © 0 ¡ !

§ ! E § ! © © © 0     ¡ £ © ! ¡ © © § § ! © § ! © £ ! £ ! © § ! @ © £ © E ! E @ ¡ © § ¡

E ¡ B ! ¡ © ! @ © B ¡ E 0 ¡

· - ´ - n l

È

k m Õ °

! s !

m - ´ - l -

£ ! ¡¤ ² ¡ £ 0 ©

! © 0 ! ¡ 0 ! E © 5 ² 7 ! § 1 ! § © ¡ 0 £ ¡ E ¡ B ¡

´ l -

Valores No-Atómicosº

¡ © § ¡     £ E     ¡ © § B ¡ © § ¡ £ © § ! E ¡ ! § © © § ¡ ! 0 £ 0 ¡ © ! £ © § ! E

¡ ! 0 B E ¡ ( ¡ 0 1 £ © ¡ ¢ ¡ © © © 0 ! £ © 0 £ E E @ § ¡ ! 0 £ 0 ¡ ¢ © © E ¡ 0 © © £ Ã

! § ¡ £ © ! § ¡ ©     © © ! E E © © £ © © © © § § © 1 ! © © E ¡ § 0 ! ( ¡ £ © © BC ¢ § ¡ È © ¢ © Ã

© E £ © ! £ ! 0 £ 0 ¡ © © ! © E 0 ¡ £ © © ! § 1 ¡ © § ¡ 0     ¡ ! ©

Vectores( ¡ 0 1 £ ©     © £ B 0 © © § ¡ ! 0 £ 0 ¡ © ! 0 ! E ! © ! © ¡ E ¡ B ¡ © E 0 ¡ £ ©

B § 0 B © ¡ ! § © © § ¡ 1 0 ! ¡ ! £ ! § © ( © © E £ © ! £ © E 0 ¡ £ © © E ! § © £ !

© § ¡ 0     ¡ ! © ¡ © 0     ¡ © ¡     ¡ £ © § ! £ ¡ ( ! £ ! § 0 £ ! £ ¡ È E £ © © B ¡

¢ £ B © £ ¡ ! E § ! © E ¡ © E 0 ¡ £ © © 0 ¢ ¡ ! ©

CREATE TABLE SAL_EMP (name text,

pay_by_quarter int4[],

schedule text[][]

);

6 ! E ¡ § 0 ! © ! £ £ ! E £ © ! £

! E § ! © § § ! B ! ! 3

}

6 8 ¥ ( E ¡ ! E ! © ! © § 0 ¢ ¡

æ å æ

! B ©

È © E 0 ¡ £ B © ¡ ! § © § 0     ¡

Ô ê æ w

2 ¢ ! 8 8 ! £ 0 © £

È © § E ! § £ © ¢ £ © Ã

© 0 ! © § ! § ! £ ¡ 0 £ B © 0 £ ! § © § © B     § © ! ¡ © E 0 ¡ £ B © ¡ ! § © § 0     ¡

æ å æ

E @ © Ã

§ ©

È © £ ©     £ © © 0 ! § ! ! 1 © ! © B ! ! § © § © BC ¢ § © ! ¡

}

@ ¡ £ ! £ © ! § ¹ ! B ¡ ! § 1 ¡

õ Ö Ï j ¢

ø

Ï

@ ¡ 0 © © E ! ¡ ! 1 £ © 1 ! B ¡ ! § ¡ £ © ! © E 0 ¡ £ È © E © £ £ ! B ¡ § ¡ ! § ¡ £ ©

© 0 £ © § § ! © § ¡ ©     ! £ ! B ¡ B © ! 0 © E ¡ B ! 3 0 © E ¡ ¡ E ©

ð

È © 0 ¡ ¡ © 0 0 ¡ !

§ ! 0 ! Ì     ! £ ! E ! § ¹ ! £ © 0 £ E 0 £ !

INSERT INTO SAL_EMP

VALUES (’Bill’,

’{10000, 10000, 10000, 10000}’,

’{{"meeting", "lunch"}, {}}’);

»4

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 51/56

¨

INSERT INTO SAL_EMP

VALUES (’Carol’,

’{20000, 25000, 25000, 25000}’,

’{{"talk", "consult"}, {"meeting"}}’);

( ¡ 0 1 £ © 0 § ¹ ! © ¡ £ B !     £ © © 0 © £ B ! ! § ! E ¡ © E © © E 0 ¡ £ © á ! ! ¡ © ¡ á

Ð © © E £ È © E 0 ¡ £ © © § © B © 0 ¡ E ¡ B © ¹ ! E ¡ © E 0 ¡ £ W

` 0 © £ B ! E ¡ © E 0 ¡ £ W `

}

@ ¡ £ ! ¢ ¡ © B ¡ © © E 0 ! £ ! § 1 ! E ¡ § 0 ! ¡ £ © 3

}

6 8 ¥ ( ( £ B © £ ¡ B ¡ 0 £ ! B ¡ E ¡ Ã

B ¡ ! E E © © £ ! ¡ § ¡ © § © B © 0 ¡ © § © E 0 ¡ £     ¡ £ © ¹ ¥ 0 ! E ¡ § 0 ! © © § © § ¡ ¡ B Ã

£ © © § ¡ © BC ² § © ! ¡ E ¡     ! 1 ¡ @ ! E ! B ! ¡ © © § © 1 ¡ 0 £ B © 0 £ ©

Þ

SELECT name

FROM SAL_EMP

WHERE SAL_EMP.pay_by_quarter[1]× Ô

SAL_EMP.pay_by_quarter[2];

+----+

|name |

+----+

|Carol |

+----+

6 ! 1 © 0 © E ¡ § 0 ! £ © E     © £ ! © §     ! 1 ¡ © § 0 © £ E © £ 0 £ B © 0 £ © © 0 ¡ ¡ § ¡ © B     § © ! ¡

Þ

SELECT SAL_EMP.pay_by_quarter[3] FROM SAL_EMP;

+----------+

|pay_by_quarter |

+----------+

|10000 |

+----------+

|25000 |

+----------+

8 ! B     ¡ © B ¡ ! E E © © £ ! E ! § © £     ¡ £ E © © E 0 ¡ £ È ¡ © E 0 ¡ £ © ¥ 0 ! E ¡ Ã

§ 0 ! £ © E     © £ ! © §     £ B © £ 0 © B © § ! ! 1 © ! ©

§ §     ! £ ! § ¡     £ B © £ ¡ ¡ ! © § !

© B ! !

SELECT SAL_EMP.schedule[1:2][1:1]

FROM SAL_EMP

WHERE SAL_EMP.name = ’Bill’;

+-------------+

|schedule |

+-------------+

|{{"meeting"},{""}} |

+-------------+

»ó

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 52/56

¨

Time Travel (Viaje en el tiempo)}

§ B ¡ B © 0 ¡ © ! § £ § ! © £ ÷

© ( ¡ 0 1 £ © ÷

È

è Ò é Ò Ó Ò é æ å Ó ò ë æ Ô é Ò ì å Ô Ò ä å å ê å è æ Ô å Ñ ñ Õ

® æ Ô Ñ å æ Ó Ò å è ¯ ¤ Ò ê Õ å ë æ ë Õ ñ Õ Ó æ Ò ì Ò

¥ Ì 0 © ! £ ! £ ! ¹ ¡ ©     ! £ ! © 0 ¡

Þ

B     ! E 0 ¡ ¡ £ © © §

£ © B © 0 ¡ È © § 0 ! B !    ¡ © ! § B ! E © ! B © 0 ¡ È ! £ E @ ¡     1 8 0 B © © E £ © E © @ ! 0 ! © §

0 ¡ ©     ¡ E ¡ 0 © B     ¡

¥ E ! B ¡ È     ¡ © © © ! E ! £ ! E 0 © £ 0 E ! E ¡ B ¡ § ¡     ! £ ! ¡ £ © 0 £ 1 1 © £

©

¢ © £ B 0 © B 0 ! £ © § E ¡ BC ¢ ¡ £ 0 ! B © 0 ¡ © § ! © © © § 0 © B     ¡ E ! ¡ © © © © È E Ã

£ £ £ © ¡ £ © E ! £ 1 ! E ! ¡ ¡ © © E © 0 ! © 1 © © £ ! § È § ! B ! ¡ £9 ¢ ! £ 0 © © § 0 © B     ¡

Â

© !

§ ¡ © © B     § ¡ © © § £ © E 0 ¡ £ ¡

contrib    ! £ ! B ! ¡ £ ¡ £ B ! E

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 quepermiten obtener los mismos resultados. ¿Voluntarios? - thomas 12-01-1998.

Ø Ù Ú Û Ü Ý Þ Ú Ú Ù ß Ù Ý Û à á à â ã Þ à ã Þ á ä â à å Þ Þ æ Þ á Û â Þ ç ß Ù è é Ú Û Ù ß Þ Ý ç â Û Þ à ê æ ê Ú ê à Ý â Ù ë Ù Ý Ý Þ Ý ë Ù æ ì

Ú ê á Û à Ú í â Ú Û î Ý â ë à Ú è Ø Ù Ý Þ å Þ ç ß á Ù ï ß à Ý à Þ æ ë Ù æ Û Ý à Ý á à ß Ù ð á à ë â î æ à ë Û ê à á ã Þ á à ë â ê ã à ã ã Þ

ò à Ý â ß Ù Ú à ï ê Ú Û Þ ã ã Þ ð Þ Ý ó à Ý Þ à á â õ à Ý á à Ú â Ü ê â Þ æ Û Þ ë Ù æ Ú ê á Û à ö

SELECT * FROM cities WHERE name = ’Mariposa’;

+------+--------+-------+|name | population | altitude |

+------+--------+-------+

|Mariposa | 1320 | 1953 |

+------+--------+-------+

Ø Ù Ú Û Ü Ý Þ Ú à ê Û Ù ç ÷ Û â ë à ç Þ æ Û Þ Þ æ ë Ù æ Û Ý à Ý ÷ á à ä Þ Ý Ú â î æ ã Þ á Ý Þ Ü â Ú Û Ý Ù ã Þ ò à Ý â ß Ù Ú à ä ÷ á â ã à ß à Ý à

Þ Ú Û Þ ç Ù ç Þ æ Û Ù è ø Ú Û Þ ã Û à ç ð â ù æ ß Ù ã Ý ó à Þ Ú ß Þ ë â ú ë à Ý ê æ â æ Û Þ Ý ä à á Ù ã Þ Û â Þ ç ß Ù è Ø Ù Ý Þ å Þ ç ß á Ù ï

ß à Ý à ä Þ Ý á à ß Ù ð á à ë â î æ ß à Ú à ã à û ß Ý Þ Ú Þ æ Û Þ ã Þ á à ë â ê ã à ã ã Þ ò à Ý â ß Ù Ú à ï ê Ú Û Þ ã ë Ù Ý Ý Þ Ý ó à á à

Ú â Ü ê â Þ æ Û Þ ë Ù æ Ú ê á Û à ö

SELECT name, population

FROM cities[’epoch’, ’now’]

WHERE name = ’Mariposa’;

ã Ù æ ã Þ ý Þ ß Ù ë í ý â æ ã â ë à Þ á ë Ù ç â Þ æ õ Ù ã Þ á Ý Þ á Ù å ã Þ á Ú â Ú Û Þ ç à è

Nota: En los sistemas Unix, esto siempre es la medianoche del 1 de enero de 1970,GMT.

þâ í à Ý Þ à á â õ à ã Ù Û Ù ã Ù Ú á Ù Ú Þ å Þ ç ß á Ù Ú í à Ú Û à à í Ù Ý à ï á à ë Ù æ Ú ê á Û à à æ Û Þ Ý â Ù Ý ã Þ ä Ù á ä Þ Ý ÷ ö

+------+--------+

|name | population |

+------+--------+

|Mariposa | 1200 |+------+--------+

|Mariposa | 1320 |

+------+--------+

ÿ   

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 53/56

é á ä à á Ù Ý ß Ý Þ ã Þ Û Þ Ý ç â æ à ã Ù ß à Ý à Þ á ë Ù ç â Þ æ õ Ù ã Þ á â æ Û Þ Ý ä à á Ù ã Þ Û â Þ ç ß Ù Þ Ú Þ á ç Þ æ Ù Ý ä à á Ù Ý

S

ê Þ ß ê Þ ã à Ý Þ ß Ý Þ Ú Þ æ Û à Ý Þ á Ú â Ú Û Þ ç à ï ç â Þ æ Û Ý à Ú

S

ê Þ Þ á ä à á Ù Ý ß Ý Þ ã Þ Û Þ Ý ç â æ à ã Ù ß à Ý à Þ á ú æ à á

ã Þ á â æ Û Þ Ý ä à á Ù Þ Ú á à í Ù Ý à à ë Û ê à á è Ø Ù Ý á Ù Û à æ Û Ù ï Þ á â æ Û Þ Ý ä à á Ù ã Þ Û â Þ ç ß Ù ê Û â á â õ à ã Ù Þ æ á à

ë Ù æ Ú ê á Û à à æ Û Þ Ý â Ù Ý ß Ù ã Ý ó à í à ð Þ Ý Ú Þ à ð Ý Þ ä â à ã Ù ë Ù ç Ù T V ï W è X

Más características avanzadasØ Ù Ú Û Ü Ý Þ Ú ß Ù Ú Þ Þ ç ê ë í à Ú ë à Ý à ë Û Þ Ý ó Ú Û â ë à Ú

S

ê Þ æ Ù Ú Þ í à æ ä â Ú Û Ù Þ æ Þ Ú Û Þ Û ê Û Ù Ý â à á ï Þ á ë ê à á

í à Ú â ã Ù Ù Ý â Þ æ Û à ã Ù í à ë â à ê Ú ê à Ý â Ù Ú æ ê Þ ä Ù Ú ã Þþ Y a

èa

à Ú ç Þ æ ë â Ù æ à ã à Ú ë à Ý à ë Û Þ Ý ó Ú Û â ë à Ú Ú Þ

ã â Ú ë ê Û Þ æ Û à æ Û Ù Þ æ á à c ê ó à ã Þ á ø Ú ê à Ý â Ù ë Ù ç Ù Þ æ á à ã Þ á Ø Ý Ù Ü Ý à ç à ã Ù Ý è

ÿ e

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 54/56

ÿ i

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 55/56

Bibliografíaþ

Þ á Þ ë ë â î æ ã Þ Ý Þ p Þ Ý Þ æ ë â à Ú û á Þ ë Û ê Ý à Ú Ú Ù ð Ý Þ

þ Y a

û Ø Ù Ú Û Ü Ý Þ Ú è

Libros de referencia sobre SQL

Documentación específica sobre PostgreSQL

Procedimientos y Articulos

Notasq

è í Û Û ß ö r r Ú â ç Ù æ è ë Ú è ë Ù Ý æ Þ á á è Þ ã ê r í Ù ç Þ r ß Ý à ä Þ Þ æ r ß à ß Þ Ý Ú r ß à Ý Û â æ ã Þ u è ã Þ v w è ß Ú è x

y è í Û Û ß ö r r Ú y ì p Û ß è þ

è Þ Ý Þ á Þ û è é ø ö r ß Ù Ú Û Ü Ý Þ Ú r ß à ß Þ Ý Ú r é a

ì ò v ì

q

è ß ã p

ÿ ÿ

8/2/2019 PostgreSQL - Tutorial.pdf

http://slidepdf.com/reader/full/postgresql-tutorialpdf 56/56