Está en la página 1de 70

Copyright 2004

PostgreSQL
PostgreSQL
Ministerio del Poder Popular para Ciencia
y Tecnologa e Industrias Intermedias. Instructor: Jess Mata
Copyright 2004
Unidad
Unidad
!undamentos de PostgreSQL
!undamentos de PostgreSQL
Ministerio del Poder Popular para Ciencia
y Tecnologa e Industrias Intermedias. Instructor: Jess Mata
Copyright 2004
"#$eti%os del &prendi'a$e
"#$eti%os del &prendi'a$e

Listar las capacidades de PostgreSQL.

Describir la licencia BSD.

Describir copyleft

Describir la historia de PostgreSQL y s e!olci"n.

Listar las principales caracter#sticas de PostgreSQL.

Describir los ni!eles de $erar%#a en PostgreSQL.

Disctir sobre la ar%itectra de PostgreSQL.

Describir el fnciona&iento de PostgreSQL.

Describir los cat'logos del siste&a de PostgreSQL

()plicar co&o es i&ple&entada la segridad en PostgreSQL.


Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
"#$eti%os del &prendi'a$e
"#$eti%os del &prendi'a$e

Describir el siste&a de pri!ilegios de PostgreSQL.

Listar las si&ilitdes y diferencia entre PostgreSQL y


*ySQL

Describir el cliente ps%l


Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Introducci(n
Introducci(n

PostgreSQL es el &'s a!an+ado siste&a


ad&inistrador de base de datos de c"digo abierto
,open sorce-.

.iene todas las caracter#sticas de n siste&a


co&ercial/ soporta fncionalidades a!an+adas co&o0
1istas/ Procedi&ientos 2l&acenados y Disparadores
,triggers-.

.iene n sofisticado &ecanis&o de segridad %e


i&pide el acceso no atori+ado a la infor&aci"n.

PostgreSQL es licenciado ba$o BSD/ esto lo hace


libre para todo so/ inclyendo co&ercial.
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Licencia )S*
Licencia )S*

BSD son las iniciales de 1ersi"n de Soft3are


Ber4eley ,Ber4eley Soft3are Distribtion-/ es n
proyecto desarrollado por la 5ni!ersidad de
California en Ber4eley.

BSD es co&parable a 6PL en el sentido de


pretender garanti+ar la libertad de co&partir y
&odificar soft3are libre/ an%e e)iste na diferencia
en el sentido %e esta licencia per&ite %itar la
libertad al soft3are7 es decir/ apro!echar n traba$o
de BSD y con!ertirlo en soft3are co&ercial cerrado/
%itando las libertades originales.

La licencia BSD no ofrece ningna garant#a de


fnciona&iento/ en si/ garant#as e)presas o i&pl#citas
est'n negadas.
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Copyle+t
Copyle+t

Soft3are libre cyos t8r&inos de distribci"n no


per&iten a los re9distribidores agregar restricciones
a cada copia del soft3are/ an &odificado debe ser
libre.

Cal%iera %e redistribye con o sin ca&bios/ debe


dar la libertad de copiarlo y &odificarlo.

Cando se habla de soft3are libre/ se refiere a


libertad del c"digo fente/ no al precio.
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
,istoria de PostgreSQL
,istoria de PostgreSQL

La historia de PostgreSQL co&ien+a co&o n proyecto de


in!estigaci"n en :;<0 en la ni!ersidad de Ber4eley/ el
proyecto original fe n &ane$ador de base de datos lla&ado
=ngres.

Desde :;<2 hasta :;<> el proyecto es abandonado.

(n :;<> se reto&a el proyecto rebati+'ndolo postgres ,post9


ingres-.

(l proyecto se dio por finali+ado con la !ersi"n 4.2/ debido al


gran age %e estaba teniendo/ lo cal cas" la i&posibilidad
de &anteni&iento por parte de los desarrolladores.

(n :;;4 dos estdiantes 2ndre3 ? y @olly Chen reescribieron


gran parte del c"digo de postgres/ sstityeron el lenga$e
PAS.Q5(L y aBadieron n int8rprete de SQL.
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
,istoria de PostgreSQL
,istoria de PostgreSQL

(sta ne!a !ersi"n se lan+o en :;;> co&o


Postgres;>/ la cal fe liberada co&o n proyecto
libre ,Apen Sorce-.

(n :;;C/ desp8s de estdios reali+ados se decidi"


ca&biar el no&bre/ por no &'s co&ercial
PosgreSQL/ este se obt!o a partir de la
co&binaci"n de postgres y SQL.

PostgreSQL es n siste&a ad&inistrador de bases


de datos basado en el &odelo relacional/ an%e
incorpora algnos conceptos del paradig&a
Arientado a Ab$etos/ tales co&o la herencia/ soporta
el est'ndar SQL co&o lenga$e de conslta y est'
i&ple&entado sigiendo la ar%itectra cliente9
ser!idor.
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Caractersticas de PostgreSQL
Caractersticas de PostgreSQL

Siste&a ad&inistrador de base de datos Ab$eto9


Delacional.

()tensibilidad

Soporta el est'ndar SQL

=ntegridadDeferencial

*Fltiples 2P=Gs disponibles

Lenga$esProcedrales

*1CC ,*lti91ersion Concrrency Control-

ClienteHSer!idor

Irite2headLogging,I2L-,(scritra a continaci"n
del registro
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Caractersticas de PostgreSQL
Caractersticas de PostgreSQL
Caractersticas "peracionales:
.ransacciones ,C&ple co&pleta&ente con 2C=D-.
Disparadores ,.riggers-.
Destricciones ,Constrains-/ =ntegridad Deferencial.
Despaldo y Decperaci"n ,Bac4p J Deco!ery-.
5niones e)ternas. ,Ater @oins-.
Sinta)is 2KS= SQL <;/ ;2 y ;;.
Arientado a Ab$etos
Soporte para 5nicode
Sb9consltas
Soporte para consltas con 5K=AK y 5K=AK 2LL.

Lndices parciales
Merra&ientas %e per&iten generar SQL portable/ para
co&partir con otros siste&as co&patibles con SQL
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
-i%eles de $erar.ua en PostgreSQL
-i%eles de $erar.ua en PostgreSQL
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
&r.uitectura de PostgreSQL
&r.uitectura de PostgreSQL

PostgreSQL esta i&ple&entado sobre na ar%itectra clienteH


ser!idor.

(st' di!idido en tres grandes procesos0 post&aster/ postgres


,bac4end- y cliente ,frontend-
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
!uncionamiento de PostgreSQL
!uncionamiento de PostgreSQL

(n la ar%itectra de fnciona&iento de postgreSQL n


proceso cliente se conecta e)acta&ente a n proceso
ser!idor

PostgreSQL i&ple&enta n proceso Nsper!isorO lla&ado


post&aster %e corre en segndo plano esperando %e
sr$an peticiones/ nor&al&ente hay n post&aster en
e$ecci"n en cada &'%ina/ an%e pede haber !arios
en e$ecci"n en na &is&a &'%ina

Sie&pre %e n pedido de cone)i"n es detectado el


proceso Nsper!isorO crea y asigna n ne!o proceso
lla&ado postgres %e es el encargado de &ane$ar y dar
respesta a las peticiones del proceso cliente

Si e)isten peticiones de consltas SQL concrrentes n proceso


postgres es creado por cada na ellas/ el proceso post&aster es el
encargado de iniciar estos procesos
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
/Por.ue seleccionar a PostgreSQL0
/Por.ue seleccionar a PostgreSQL0

PostgreSQL es n siste&a ad&inistrador de base de datos


de c"digo libre Nopen sorceO

Co&parable en fnciona&iento con siste&as co&erciales de


la talla de Aracle/ Sybase o DB2/ es sado en grandes
organi+aciones/ ni!ersidades y en aplicaciones de &isi"n
critica

Posee na gran escalabilidad/ &ane$o de transacciones/


soporte para disparadores ,triggers- y procedi&ientos
al&acenados

(l soporte a est'ndares de SQL esta garanti+ado con SQL;;


y SQL;2/ entre otros

Por ser soft3are libre per&ite %e sea instalado en &chos lgares/ es


decir la instalaci"n seria ili&itada/ ya %e no se re%iere licencias
adicionales de instalaci"n.
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
/Por.ue seleccionar a PostgreSQL0
/Por.ue seleccionar a PostgreSQL0

*odelos de negocios &'s rentables/ ahorros considerables


en costos de operaci"n

Ko e)iste la posibilidad de ser aditado para !erificar


c&pli&iento de licencia en ningFn &o&ento

Ple)ibilidad para hacer in!estigaci"n y desarrollo sin


necesidad de incrrir en costos adicionales de licencia&iento

()istencia de na i&portante co&nidad de profesionales y


entsiastas de PostgreSQL de los %e las co&paB#as peden
obtener beneficios y contribir a ne!os desarrollos

PostgreSQL ha sido diseBado y creado para tener n


&anteni&iento y a$ste &cho &enor %e los prodctos de
los pro!eedores co&erciales/ conser!ando todas las
caracter#sticas/ estabilidad y rendi&iento
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
*e+iciencias del PostgreSQL
*e+iciencias del PostgreSQL

PostgreSQL es n &agn#fico siste&a ad&inistrador de bases


de datos/ capa+ de co&petir con &chos siste&as
co&erciales/ an%e carece de algnas caracter#sticas0

Co&o por e$e&plo n con$nto de herra&ientas %e per&itan


na f'cil gesti"n de los sarios y de las bases de datos %e
contenga el siste&a

Por otro lado/ la !elocidad de respesta %e ofrece este


siste&a con bases de datos relati!a&ente pe%eBas pede
parecer n poco deficiente

(l siste&a ad&inistrador de base de datos es n siste&a no distribido

Ko e)iste esfer+o focali+ado de &ar4eting/ co&o en otros siste&as de


c"digo abierto Nopen sorceO

(l soporte %e ofrece la herra&ienta a ni!el e&presarial no es &y bien


difndido
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Cat1logo del sistema de PostgreSQL
Cat1logo del sistema de PostgreSQL

(n los siste&as ad&inistradores de base de datos el


cat'logo del siste&a es tili+ado para gardar infor&aci"n
referente a la &etadata

(l cat'logo del siste&a pede ser consltado a tra!8s de


sentencias SQL de la &is&a for&a %e na tabla cal%iera.

2lgnas tablas del cat'logo del siste&a ser'n listadas aba$o0

pgQdatabase

pgQinde)es

pgQclass

pgQ!ie3

pgQattribte

pgQconstraint

pgQtype

pgQshado3
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Seguridad en PostgreSQL
Seguridad en PostgreSQL

Para los ad&inistradores de base de datos la segridad de


la infor&aci"n es no de los pntos &'s i&portantes

Ki!eles %e peden i&ple&entarse para garanti+ar la


segridad de la infor&aci"n en PostgreSQL0
2. Las cone)iones de los clientes al ser!idor de la base
de datos est'n per&itidas/ por defecto/ Fnica&ente
en cone)iones locales
B. Las cone)iones de los clientes se peden restringir
por direcci"n =P yHo por no&bre de sario &ediante
el archi!o pgQhba.conf sitado en el directorio data
C. 2 cada sario de PostgreSQL se le asigna n no&bre de
sario y ,opcional&ente- na contraseBa
D. Los sarios peden ser inclidos en grpos/ y el acceso a las
tablas pede restringirse en base a esos grpos
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Seguridad en PostgreSQL
Seguridad en PostgreSQL

La segridad de n siste&a debe ser e%ilibrada/ no son


reco&endables los e)tre&os0

(s &enos con!eniente &chos &ecanis&os de


segridad %e entorpecen el traba$o de sarios
atori+ados

De$ar pertas abiertas donde sarios no atori+ados


pedan ingresar y casar daBos al siste&a

(n PostgreSQL deben de to&arse en centa tres aspectos


para tener ni!eles altos de segridad0
:.9 Segridad de los archi!os de datos de PostgreSQL
2.9 Segridad en los accesos de clientes ,ssl-
R.9 Atorgar y denegar acceso a tablas y sarios.
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sistema de pri%ilegios de acceso en
Sistema de pri%ilegios de acceso en
PostgreSQL
PostgreSQL

(l &ecanis&o &ediante el c'l se asegran los datos y la


integridad es el siste&a de pri!ilegios de PostgreSQL

(s n &ecanis&o %e est' basado en la !alidaci"n de


sarios %e intentan conectarse a n ser!idor de base de
datos y en la asignaci"n de pri!ilegios tales co&o S(L(C./
=KS(D./ 5PD2.(/ D(L(.(/ etc

Cal%ier sario %e cree n ob$eto de base de datos se


con!ierte ato&'tica&ente en s propietario

5sando la sentencia 6D2K. es posible otorgar pri!ilegios a


otros sarios sobre ob$etos de base de datos
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Comparaci(n entre MySQL y
Comparaci(n entre MySQL y
PostgreSQL
PostgreSQL

*ySQL0
Sistemas "perati%os0 Lin)/ Iindo3s PreeBSD /*acASS/ Solaris/ MP5S/ 2=S
Soporte a &-SI SQL0 (l &otor SQL de *ySQL esta escrito sobre los fnda&entos de
SQL;2 y da soporte a SQL;;. (n *ySQL se peden constrir sentencias %e san tablas
%e se encentran en diferentes base de datos. ()iste soporte para left y right oter $oins.
*ySQL 4.: &ane$a sb9consltas/ se esti&a %e *ySQL >.) soporte 1istas ,!ie3-
2endimiento: *ySQL es &y r'pido en la e$ecci"n de sentencias SQL si&ples y
co&ple$as/ *ySQL es con!eniente para ser sado en aplicaciones I(B
3sta#ilidad: (n las pri&eras !ersiones *ySQL era bastante inestable/ ofrec#a pocas
fncionalidades/ la descone)iones sin &oti!o estaban presentes a cada &o&ento
Integridad de *atos: *ySQL ofrece soporte a integridad referencial y transacciones a
tra!8s del &otor de al&acena&iento =nnoDB
Seguridad: *ySQL tiene n e)cepcional control de acceso/ es posible otorgar o re!ocar
cal%ier derecho basado en sarios/ tabla o &'%ina ,host-
Soporte para0 Sb9consltas/ Deplicaci"n de base de datos/ Cla!e for'nea/ ADBC y @DBC
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Comparaci(n entre MySQL y
Comparaci(n entre MySQL y
PostgreSQL
PostgreSQL

PostgreSQL0
Sistemas "perati%os0 Iindo3s/ siste&as tipo 5ni) ,Lin)/ all BSDs/ MP95S/T-
Soporte a &-SI SQL0 PostgreSQL soporta &y bien SQL;2H;;. PostgreSQL es capa+ de
&ane$ar sentencias SQL co&ple$as/ sb9consltas/ !istas/ transacciones/ left/ fll y right
oter $oins/ no es posible sar tablas %e se encentren en diferentes base de datos
2endimiento: PostgreSQL es lento en la e$ecci"n/ el tie&po de respesta del proceso
bac4end NpostgresO es pobre con respecto a otros &ane$adores e$ectando la &is&a
sentencia
3sta#ilidad: Las series de PostgreSQL C.) eran &y inestables/ en la serie U.) &chos de
estas y otras fallas se solcionaron/ a&entado la estabilidad/ la serie < es &y estable/ en
&chos lgares esta siendo sada en a&bientes de prodcci"n.
Integridad de *atos: PostgreSQL &ane$a e)celente&ente la integridad referencial/
soportando la definici"n de cla!es pri&arias/ for'neas/ entre otras. *ane$a transacciones/
blo%eos
Seguridad: PostgreSQL tiene n &ecanis&o de control de acceso parecido a *ySQL/ se
basa en tres aspectos i&portantes 0 :.9 Segridad de los archi!os de datos de PostgreSQL/
2.9 Segridad en los acceso de clientes ,ssl- y R.9 Atorgar y denegar acceso a tablas y
sarios espec#ficos
Soporte para0 Sb9consltas/ Deplicaci"n de base de datos/ Cla!e for'nea/ 1istas/ Pll
@oins/ ADBC y @DBC
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Cliente ps.l
Cliente ps.l

(l cliente ps%l es na aplicaci"n hecha en C/ frecente&ente


es lla&ado &onitor interacti!o o ter&inal interacti!o/ sir!e
co&o cliente/ &onitor y front9end hacia el &otor de
PostgreSQL

Per&ite escribir co&andos SQL interacti!a&ente/ en!iarlos a


PostgreSQL y !isali+ar los resltados de la conslta

Las sentencias SQL peden leerse desde n archi!o/


ade&'s pro!ee !arios &eta9co&andos ,n &eta9co&ando es
na instrcci"n %e es atendida por el &onitor &'s no por el
bac4end o &otor de postgreSQL-

ps%l es parte de la distribci"n nor&al de PostgreSQL

Sinta)is en ps%l0

ps%l VWh no&breQdelQhostX Wd baseQDeQdatos W5 no&breQdeQsario


Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Cliente ps.l
Cliente ps.l

($e&plo0

Ps%l Wh localhost Wd te&plate: W5 postgres


L#nea de co&andos ps%l


Yh Para obtener ayda de co&andos SQL
YZ Para obtener ayda de co&andos espec#ficos de ps%l
Yg Para e$ectar sentencias SQL
Y% Para salir
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Cliente ps.l
Cliente ps.l

(ditar n archi!o de te)to con la herra&ienta !i

(scribir la sentencia0 select [ fro& pgQdatabase7

6ardar el archi!o y colocar co&o no&bre Nentrada.t)tO

2hora le!anta&os na consola ps%l0

ps%l Wh localhost Wd te&plate: W5 postgres

y e$ecta&os el sigiente co&ando0

Yi entrada.t)t

La tilidad principal de este &etaco&ando/ es per&itir la


e$ecci"n de sentencias SQL/ por e$e&plo %e hayan sido
obtenidas del proceso de respaldo de na base de datos
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
2esumen
2esumen

5sted debe ser capa+ de0

Listar las capacidades de PostgreSQL.

Describir la licencia BSD.

Describir copyleft

Describir la historia de PostgreSQL y s e!olci"n.

Listar las principales caracter#sticas de PostgreSQL.

Describir los ni!eles de $erar%#a en PostgreSQL.

Disctir sobre la ar%itectra de PostgreSQL.

Describir el fnciona&iento de PostgreSQL.

Describir los cat'logos del siste&a de PostgreSQL

Listar las si&ilitdes y diferencia entre PostgreSQL y *ySQL


Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Unidad 4
Unidad 4
3$ecuci(n de sentencias SQL
3$ecuci(n de sentencias SQL
con PostgreSQL
con PostgreSQL
Ministerio del Poder Popular para Ciencia
y Tecnologa e Industrias Intermedias. Instructor: Jess Mata
Copyright 2004
"#$eti%os del &prendi'a$e
"#$eti%os del &prendi'a$e

Describir el lenga$e SQL

Describir los tipos de datos soportados por


PostgreSQL

()plicar %8 son DDL/ D*L y DCL

Describir los pri!ilegios de PostgreSQL

(scribir na sentencia S(L(C. si&ple

(scribir na sentencia S(L(C. condicional

(scribir consltas &ltitablas

6enerar respaldo de base de datos

($ectar sentencias en el cliente ps%l


Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Introducci(n al SQL
Introducci(n al SQL

SQL ,Lenga$e de conslta estrctrado- es n


lenga$e &y sencillo

Basado en el habla ingl8s/ orientado principal&ente a


base de datos relacionales y/ sobre todo/ al &ane$o
de consltas

SQL consiste de sentencias. 5na sentencia esta


co&pesta de co&andos y cl'slas ter&inadas en
pnto y co&a N7O ,en PostgreSQL-

(l ob$eti!o principal de SQL es la reali+aci"n de


consltas y c'lclos con los datos de na o !arias
tablas

(n esta nidad/ se da na e)plicaci"n co&pleta del


so de las sentencias SQL sobre el siste&as
ad&inistrador de base de datos PostgreSQL
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
3l Lengua$e de consultas de PostgreSQL
3l Lengua$e de consultas de PostgreSQL

(l lenga$e de consltas de PostgreSQL es na


!ariaci"n del lenga$e SQL est'ndar/ y son
e)tensiones propias de PostgreSQL.

Para listar los co&andos propios de PostgreSQL


debe&os sar YZ.

La relaci"n %e se hace entre SQL y el &odelo de


progra&aci"n orientada a ob$etos es0 na tabla
corresponde a na clase/ na fila corresponde a na
instancia de na clase y las col&nas a los atribtos.

Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
3$ecuci(n de sentencias SQL con el
3$ecuci(n de sentencias SQL con el
programa ps.l
programa ps.l

(l cliente ps%l es n progra&a de l#nea de co&andos


sado para en!iar sentencias SQL al ser!idor/ !iene
inclido en el pa%ete de distribci"n de PostgreSQL

Para conectarse al ser!idor/ sal&ente necesita&os


de n no&bre de sario ,login- y de na contraseBa
,pass3ord-/ y si el ser!idor al %e nos desea&os
conectar est' en na &'%ina diferente de la
nestra/ ta&bi8n necesita&os indicar el no&bre o la
direcci"n =P de dicho ser!idor

Cando es iniciado por pri&era !e+ solo e)isten dos


base de datos definidas0 te&plate0 y te&plate:/ las
c'les son la base de todas las base de datos %e se
definen en el ser!idor
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
3$ecuci(n de sentencias SQL con el
3$ecuci(n de sentencias SQL con el
programa ps.l
programa ps.l

(s posible conocer las bases de datos %e est'n


creadas en el siste&a ad&inistrador de base de
datos/ esto se hace a tra!8s de la sentencia0

shell\ ps%l W5 postgres 9l

Para crear na base de datos desde la l#nea de


co&ando del siste&a operati!o sa&os0

createdb W5 postgres test: VPresione (K.(DX


Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
3$ecuci(n de sentencias SQL con el
3$ecuci(n de sentencias SQL con el
programa ps.l
programa ps.l

2cti!e na !entana de l#nea de co&andos en el


siste&a operati!o/ y e$ecte el sigiente co&ando0

ps%l W5 postgres test: VPresione la tecla (nterX

Si la cone)i"n al ser!idor PostgreSQL se pdo


establecer de &anera satisfactoria/ se recibir' el
&ensa$e de bien!enida y se acti!a el pro&pt de
PostgreSQL0
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
3$ecuci(n de sentencias SQL con el
3$ecuci(n de sentencias SQL con el
programa ps.l
programa ps.l

Desde la l#nea de co&andos de ps%l es posible


conectarse a otra base de datos con el co&ando Yc

test:]^Yc te&plate:
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Tipos de *atos en PostgreSQL
Tipos de *atos en PostgreSQL

Tipos de datos num5ricos

Tipos de datos car1cter

Tipos de datos +ec6a76ora

Tipo de dato #ooleano 8#oolean9

Tipos de datos geom5trico

Tipos de datos direcci(n de red

&rreglos

Tipos compuestos
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004

Tipos de datos num5ricos


Tipos de *atos en PostgreSQL
Tipos de *atos en PostgreSQL
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004

Tipos de datos car1cter

C,&2&CT328n9: puede mantener cadenas +i$as de


n caracteres: puede ser a#re%iado como C,&28n9:
si el %alor ;n< no se coloca cuando se de+ine una
columna C,&2&CT32 el sistema asume longitud

C,&2&CT32 =&2>I-?8n9: Mantiene cadenas de


longitud %aria#le: puede ser a#re%iado como
=&2C,&28n9: si el %alor ;n< no se coloca cuando se
de+ine una columna C,&2&CT32 =&2>I-? es
posi#le almacenar cadenas de cual.uier longitud
8La m1@ima longitud de almacenamiento es ?)9

T3AT: 3s e.ui%alente a un =&2C,&2 sin


especi+icar la longitud: este tipo de dato puede
almacenar cadenas de cual.uier longitud.
Tipos de *atos en PostgreSQL
Tipos de *atos en PostgreSQL
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Tipos de *atos en PostgreSQL
Tipos de *atos en PostgreSQL

Tipos de datos !ec6a7,ora

timestamp: Com#inaci(n de +ec6a y 6ora

inter%al: 2epresenta un inter%alo de tiempo

date: Permite almacenar una +ec6a

time: 3s una representaci(n gen5rica de %alores


de tiempo e@presado en 6oras: minutos y
segundos. 3l +ormato de almacenamiento es de
B66:mm:ssB
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Tipos de *atos en PostgreSQL
Tipos de *atos en PostgreSQL

Tipo de datos #ooleano 8#oolean9

PostgreSQL pro%ee el tipo est1ndar #oolean


8#ooleano9 de SQL: #oolean 8#ooleano9 puede
tener tres estados ;true<: ;+alse< y ;desconocido<
8unCnoDn9 el cual es representado por el %alor
null

=alores %alidos para el estado ;true< 8=erdadero9:

=alores %alidos para el estado ;!alse< 8!also9:


.D5( _t_ _treG _y_ _yes_ _:_
FALSE 'f 'false' 'n' 'no' _0_
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Tipos de *atos en PostgreSQL
Tipos de *atos en PostgreSQL

Tipos de datos ?eom5tricos

Punto 8P"I-T9

Segmento 8LS3?9

Ca$a 8)"A9

2uta 8P&T,9

Polgono 8P"L>?"-9

Circula 8circle9

3stos tipos de datos son tiles en 1reas de la


inteligencia de negocios: por e$emplo pueden ser
utili'ados para representar 'onas de potenciales
compradores: u#icaciones en autopistas: comercios:
etc
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Tipos de *atos en PostgreSQL
Tipos de *atos en PostgreSQL

Tipos de datos direcci(n de red

PostgreSQL da soporte a tipos de datos para


almacenar direcciones Ip%E: IP%F y M&C.
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Tipos de *atos en PostgreSQL
Tipos de *atos en PostgreSQL

&rreglos

PostgreSQL permite de+inir columnas como


arreglos unidimensionales: #idimensionales y
multidimensionales

Un e$emplo de un arreglo multidimensional:


CREATE TABLE salario_empleado (
ci bigint,
salario decimal(10,2)[!,
plani"icacion te#t[2![2!)$

Inserci(n de %alores en columnas del tipo arreglo


multidimensional:
%&'ERT %&T( salario_empleado )AL*E'(1+,-.21- ,
/02,-1+21+,2,-2-,, -,1+2-,3/,
/004Entrenamiento4, 4'oporte T5cnico43,
04)acaciones4,46resentaci7n433/)$
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Tipos de *atos en PostgreSQL
Tipos de *atos en PostgreSQL

&rreglos

S3L3CT G !2"M salarioHempleadoI

S3L3CT ci !2"M salarioHempleado J,323


salarioKL M N4OO &-* salarioK4LM 4OI
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Tipos de *atos en PostgreSQL
Tipos de *atos en PostgreSQL

Tipo compuesto

Un tipo de dato compuesto descri#e la estructura


de una +ila o registro en +orma de nom#res de
campos y tipos de datos

3$emplo de tipo compuesto:


CREATE T86E prod9cto A' (identi"icador integer,
nombre_prod9cto te#t, id_pro:eedor integer,
precio decimal(10,2)9I

Usando tipos compuestos para de+inir ta#las:


CREATE TABLE deposito (
item prod9cto,
cantidad integer 9I
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Tipos de *atos en PostgreSQL
Tipos de *atos en PostgreSQL

Tipo compuesto

Insertando %alores en la ta#la:


%&'ERT %&T( deposito )AL*E' (R(;(1,/comp9tador 120
g<=/, -2,100>),-0)$
%&'ERT %&T( deposito )AL*E' (R(;(2,/comp9tador 122
g<=/, -2,>>>),-0)$

Usando tipos compuestos para de+inir ta#las:


CREATE TABLE deposito (
item prod9cto,
cantidad integer 9I

Selecci(n de registros desde una ta#la:


'ELECT (item)2nombre_prod9cto ?R(@ deposito$
'ELECT (deposito)2item2nombre_prod9cto ?R(@
deposito ;AERE (deposito)2item2precioB >>>$
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias **L
Sentencias **L
CREATE DATABASE: Permite crear una base de
datos:
CREATE DATABASE nombre!base!de!Datos"
DR#P DATABASE: Elimina una base de datos:
DR#P DATABASE nombre!base!de!datos"
CREATE SC$E%A: Los es&uemas 'sc(ema)
contienen ob*etos de base de datos como +or
e*em+lo tablas
E*em+lo:
CREATE SC$E%A m,sc(ema"
DR#P SC$E%A: Esta sentencia +ermite eliminar un
es&uema 'sc(ema) s- est. /aci0
DR#P SC$E%A m,sc(ema"
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias **L
Sentencias **L
CREATE TABLE: Esta sentencia es utili1ada +ara
crear una tabla , definir columnas2
Sinta3is:
CREATE TABLE nombre_tabla( LIKE
otra_tabla);
CREATE [ TEMPORARY | TEMP ] TABLE
nombre_tabla (
nombre_colmna t!"o
[ re#tr!cc!$n_colmna [ %%% ]][&%%%]
[& re#tr!cc!$n_tabla [& %%% ]]) ;
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias **L
Sentencias **L
CREATE TABLE E*em+los
425 CREATE TE%P#RAR6 TABLE
7astos'
id inte7er 8#T 89LL PR:%AR6 ;E6<
moti/o te3t<
fec(a date<
monto decimal '4=<>))"

.(*PAD2D? o .(*P
.anto los datos co&o la estrctra de las
tablas te&porales son eli&inadas de
&anera ato&'tica al ter&inar la sesi"n de
sario actal.

>25CREATE TABLE em+leado'


id serial<
nombre /arc(ar'?=)<
salario numeric'@<>))"

A25 CREATE TABLE cliente'


id!cliente :8TEBER 8#T 89LL<
nombre CARC$AR'>=)<
PR:%AR6 ;E6 'id!cliente))"
(n *ySQL la restricci"n KA. K5LL es
opcional cando se especifica la
col&na co&o pri&ary 4ey ,(sta i&pl#cita
con pri&ary 4ey -.
4 CD(2.( .2BL( copiaQcliente,li4e
cliente-7
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias **L
Sentencias **L
Con la sentencia Dd es +osible obtener informaci0n
sobre la definici0n de una tabla:
Sinta3is:
Dd nombre!tabla
E*em+lo
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias **L
Sentencias **L
CREATE :8DEE constru,e un -ndice sobre una tabla
es+ecificada2 Los -ndices son +rinci+almente usados +ara
me*orar el rendimiento de acceso a los datos2
Sinta3is:
CREATE [ ()I*(E ] I)+E, nombre_!n-!ce O)
nombre_tabla(colmna#);
E*em+lo:
CREATE TABLE em" (!- #er!al&
nombreem" .arc/ar(01) ()I*(E&
#alar!o nmer!c(2&3) )OT )(LL&
nrotele4ono 5ARC6AR(31)&
mone-a .arc/ar(7) +E8A(LT 9BL59);
CREATE ()I*(E I)+E, tel!n-e: O) em"(nrotele4ono);
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias **L
Sentencias **L
Con ALTER TABLE se +uede a7re7ar columnas<
eliminar columnas< cambiar el ti+o< etc2
Sinta3is:

ALTER TABLE
nombre_-e_tabla
Acc!one# [& %%% ]
Sentencia sada para especificar
ne!as col&nas/ eli&inar
col&nas/ ca&biar la estrctra de
col&nas/ agregar restricciones/ etc.
ALTER TABLE
nombre_-e_tabla
RE)AME nombrecolmna TO
ne.o_nombre_colmna
Sentencia sada para ca&biar el
no&bre de na col&na.
ALTER TABLE
nombre_-e_tabla
RE)AME TO ne.o_nombre
Sentencia sada para ca&biar el
no&bre de na tabla
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias **L
Sentencias **L
E*em+los de ALTER TABLE
Esta sentencia +ermite a7re7ar una columna +a-s del ti+o
CARC$AR'4=) a la tabla em+:
ALTER TABLE em" A++ COL(M) "a!# 5ARC6AR(;1);
Si se desea seleccionar un /alor +or defecto +ara la
columna< e*ecute la si7uiente sentencia:
ALTER TABLE em" ALTER COL(M) "a!# <ET
+E8A(LT 95)=9;
Con ALTER TABLE es +osible cambiar el nombre de una
tabla< el si7uiente e*em+lo lo ilustra:
ALTER TABLE em" RE)AME TO ol-em";
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias **L
Sentencias **L
E*em+los de ALTER TABLE
Cambiar el +ro+ietario de una tabla:
ALTER TABLE ol-em" O>)ER TO a#la_#er;
A7re7ar una restricci0n de no nulo '8#T 89LL) a nFmero
telef0nico:
ALTER TABLE ol-em" ALTER nrotele4ono <ET )OT
)(LL;
;%? ALTER TABLE cl!ente
A++ COL(M) #alar!o I)TE@ER;
3%? ALTER TABLE cl!ente
+ROP COL(M) #alar!o;
A%? ALTER TABLE cl!ente
A++ COL(M) #alar!o +O(BLE
PRECI<IO);

Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.


Instructor: Jess Mata
Copyright 2004
Sentencias *ML
Sentencias *ML
:8SERT: Sentencia usada +ara insertar datos en una
tabla
Sinta3is:
I)<ERT I)TO nombre_tabla [ ( colmna [& %%%]) ]
B+E8A(LT 5AL(E< | 5AL(E< ( B e:"re##!on |
+E8A(LT C [& %%%] ) | Con#lta_<ELECT C
CARBAR DAT#S %AS:C#S 'C#P6): Para car7ar
datos en una tabla desde un arc(i/o e3terno se usa
la sentencia C#P6
COPY table 8ROM B 94!lename9 | #t-!n C
[ [(<I)@] +ELIMITER< 9-el!m!ter9 ]
COPY table TO B 94!lename9 | #t-ot C
[[(<I)@] +ELIMITER< 9-el!m!ter9 ]
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias *ML
Sentencias *ML

5PD2.(0 La sentencia 5PD2.( es sada para actali+ar


!alores de col&nas de na tabla

Sinta)is0
(P+ATE nombre_tabla
<ET nombrecol;D.alor& [nombrecol3D.alor& %%%]
[>6ERE Con-!c!$n]

D(L(.(0 La sentencia D(L(.( es sada para eli&inar registros


de na tabla
Sinta)is0
+ELETE 8ROM table [ >6ERE con-!c!$n ]
PostgreSQL pro!ee na sentencia %e procesa la eli&inaci"n de todos los
datos de na tabla r'pida&ente/ esta es .D5KC2.(0
Sinta)is:
TR()CATE [ TABLE ] name


Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias *QL
Sentencias *QL

S(L(C.0 La sentencia S(L(C. se sa para recperar filas


seleccionadas de na o &'s tablas Sinta)is0
Sinta3is:
<ELECT [ ALL | +I<TI)CT] |
E | nombre_colmna [ A< nombre_#al!-a ]
[& %%%]
[ 8ROM 8ente [& %%%] ]
[ >6ERE con-!c!$n ]
[ @RO(P BY nombre_colmna [& %%%] ]
[ 6A5I)@ con-!c!$n [& %%%] ]
[OR+ER BY nombre_colmna [ A<C | +E<C [& %%%]
]
[ LIMIT B cant!-a- | ALL C ]
[ O88<ET !n!c!o ]
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias *QL
Sentencias *QL

D=S.=KC.0 (s sado para restringir la aparici"n de filas


repetidas
E*em+lo:
SELECT D:ST:8CT nombre FR#% cliente"

IM(D(0 La &e$or tilidad de na base de datos es la


posibilidad de hacer consltas en fnci"n de ciertas
condiciones
E*em+lo:
SELECT G FR#% cliente H$ERE nombreI'Luis'"

2L=2S0 (l alias se sa co&o n no&bre de col&na en


e)presiones/ ta&bi8n es posible definir alias a las tablas de la
cl'sla PDA*.
E*em+lo:
SELECT nombre JJ'< 'JJ salario 8ombre!Salario FR#%
cliente #RDER B6 8ombre!Salario"
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias *QL
Sentencias *QL

6DA5P B?0 (s posible agrpar filas en la salida de na


sentencia S(L(C. sando la cl'sla 6DA5P B?/ si la
cl'sla M21=K6 esta presente/ esta eli&ina los grpos %e no
satisfacen na condici"n dada
E*em+lo:
SELECT count'id!cliente)< nombre FR#% cliente BR#9P
B6 nombre"
SELECT count'id!cliente)< nombre FR#% cliente BR#9P
B6 nombre $AC:8B count'id!cliente) KI >"

ADD(D B?0 (s sada para dar ordena&iento a los datos


recperados en na sentencia S(L(C./ por defecto es
ascendente
E*em+lo:
SELECT id!cliente< nombre FR#% cliente #RDER B6
id!cliente< nombre"
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias *QL
Sentencias *QL

L=*=.0 La cl'sla L=*=. per&ite li&itar el nF&ero de filas


recperadas por la sentencia S(L(C.
E*em+lo:
SELECT G FR#% cliente L:%:T A"

APPS(.0 La cl'sla APPS(. especifica el nF&ero de filas a


ser ob!iadas antes de co&en+ar las filas retornadas
E*em+lo:
SELECT G FR#% cliente #FFSET A"

Aperador =K0 (l operador =K se sa para reali+ar


co&paraciones con na lista de !alores.
E*em+lo:
SELECT G FR#% cliente H$ERE nombre :8 ''Lesus'<
'Pedro'< '8elson')"
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias *QL
Sentencias *QL

Aperador B(.I((K0 (l operador B(.I((K se sa para


co&probar si cierto !alor est' dentro de n rango dado
E*em+lo:
F
<ELECT !-_cl!ente&nombre 8ROM cl!ente >6ERE
#alar!o GD ;111 A)+ #alar!o HD 01111;
La consulta anterior +uede ser escrita usando el o+erador
BET>EE)2
SELECT id!cliente<nombre FR#% cliente H$ERE salario
BETHEE8 4=== A8D ?===="

Aperador =S0 Los operadores =S K5LL e =S KA. K5LL son


tili+ados para !erificar si na e)presi"n deter&inada es o no
nla
E*em+lo:
SELECT G FR#% cliente H$ERE nombre :S 8#T 89LL"
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Sentencias *QL
Sentencias *QL

Aperador L=`(0 Se sa para hacer co&paraciones


entre cadenas y patrones. (l resltado es !erdadero
,:- si la cadena se a$sta al patr"n/ y falso ,0- en
caso contrario
MN Es usado +ara (acer coincidir cual&uier nFmero
de caracteres< incluso nin7uno2

aQG (s sado para hacer coincidir con n Fnico


car'cter.

E*em+lo:
SELECT G FR#% cliente H$ERE nombre L:;E '%i7uelN'"
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Consultas Multita#las
Consultas Multita#las

Los datos est'n distribidos en diferentes tablas


debido a la nor&ali+aci"n

(nla+a tablas de datos por &edio de n !alor de


atribto co&Fn en a&bas tablas

Pede ser aplicada a dos o &'s tablas para poder


recperar registros de &Fltiples tablas

.ipos de @A=K0

Cartesian @A=K ,Prodcto Cartesiano-

=KK(D @A=K

Dight Ater

Left Ater

Pll Ater

Self
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Consultas Multita#las
Consultas Multita#las

PDAD5C.A C2D.(S=2KA ,C2D.(S=2K @A=K-0 Mace


corresponder todas las filas de la pri&era tabla con todas
las filas de la segnda tabla y presenta na co&binaci"n de
todos los registros de a&bas tablas.

($e&plo

S(L(C. [ PDA* personal/ ato&o!il7


Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Consultas Multita#las
Consultas Multita#las

=KK(D @A=K0 Las co&posiciones internas ,=KK(D @A=K-


se definen a partir de n prodcto cartesiano/ eli&inado las
filas %e no c&plen la condici"n de co&posici"n

($e&plos
W
S(L(C. [ PDA* personal/ ato&o!il IM(D(
personal.noQpersonal]ato&o!il.noQpersonal7

Deescribiendo la sentencia anterior con @A=K0


S(L(C. [ PDA* personal @A=K ato&o!il AK
,personal.noQpersonal]ato&o!il.noQpersonal-7
S(L(C. [ PDA* personal =KK(D @A=K ato&o!il AK
,personal.noQpersonal]ato&o!il.noQpersonal-7
S(L(C. [ PDA* personal @A=K ato&o!il 5S=K6,noQpersonal-7
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Consultas Multita#las
Consultas Multita#las

D=6M. A5.(D @A=K0 La sentencia Dight Ater @A=K hace


corresponder los registros de la tabla del lado derecho con
los registros de la tabla del lado i+%ierdo bas'ndose en la
igaldad de !alores %e se especifica en la condici"n @A=K

($e&plos
W
S(L(C. [ PDA* personal D=6M. A5.(D @A=K
ato&o!il AK
,personal.noQpersonal]ato&o!il.noQpersonal-7

Pede ser escrito co&o0


W
S(L(C. [ PDA* personal D=6M. A5.(D @A=K
ato&o!il 5S=K6,noQpersonal-7
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Consultas Multita#las
Consultas Multita#las

L(P. A5.(D @A=K0 La sentencia Left Ater @A=K hace


corresponder los registros de la tabla del lado i+%ierdo con
los registros de la tabla del lado derecho bas'ndose en la
igaldad de !alores %e es especificada en la condici"n
@A=K

($e&plo
W
S(L(C. [ PDA* personal L(P. A5.(D @A=K
ato&o!il AK
,personal.noQpersonal]ato&o!il.noQpersonal-7

Pede ser escrito co&o0


W
S(L(C. [ PDA* personal L(P. A5.(D @A=K
ato&o!il 5S=K6 ,noQpersonal-7
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Consultas Multita#las
Consultas Multita#las

P5LL A5.(D @A=K0 La sentencia Pll Ater @oin hace


corresponder los registros de la tabla del lado i+%ierdo con
los registros del lado derecho y los registros de la tabla del
lado derecho con los registros de la tabla del lado i+%ierdo
bas'ndose en la igaldad de !alores %e es especificada
en la condici"n @A=K

($e&plo
W
S(L(C. [ PDA* personal P5LL A5.(D @A=K
ato&o!il AK
,personal.noQpersonal]ato&o!il.noQpersonal-7

Pede ser escrito co&o0


W
S(L(C. [ PDA* personal P5LL A5.(D @A=K
ato&o!il 5S=K6 ,noQpersonal-7
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004

S(LP @A=K0 (s posible reali+ar n @A=K en na &is&a


tabla si na tabla tiene dos atribtos %e co&parten el
&is&o !alor

($e&plos
W
S(L(C. S.no&bre/ *.no&bre PDA* personal S/
personal * IM(D( S.noQgrnt ] *.noQpersonal7
Consultas Multita#las
Consultas Multita#las
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata
Copyright 2004
Su#Consultas
Su#Consultas

Sbconslta Correlacionada0 Cando la sbconslta hi$a hace


referencia a na o &'s col&nas de la sbconslta padre.

($e&plo
W
S3L3CT automo%il.modelo
!2"M autom(%il J,323 3AISTS 8S3L3CT noHpersonal
!2"M personal J,323
personal.noHpersonal P automo%il.noHpersonal9I

Sbconslta Ko Correlacionada0 Ko e)iste referencia de las col&nas


entonces se dice %e es no9correlacionada/ PostgreSQL per&ite tili+ar
sbconsltas en la cl'sla PDA* por e$e&plo0

($e&plo
W
S3L3CT G !2"M 8S3L3CT G !2"M automo%il9 &S su#consulI
83s mandatorio usar alias en la su#consulta interna9
Ministerio del Poder Popular para Ciencia y Tecnologa e Industrias Intermedias.
Instructor: Jess Mata

También podría gustarte