Sei sulla pagina 1di 48

Business

Business

Intelligence
Intelligence

Temario
Temario

Instalacin de PostgreSQL y la Suite de


Pentaho

Repaso de SQL

PAC (Administracin)

PI (!TL)

"ondrian (ata #arehouse y cu$os)

%e&a ("ining)

Reportes (PR)

Bases de datos
Bases de datos
e'inicin y tipos de Bs
e'inicin y tipos de Bs

(er)r*uicas y de red (er)r*uicas y de red


(o$soletas) (o$soletas)

Transaccionales Transaccionales
(optimi+an operaciones) (optimi+an operaciones)

Relacionales Relacionales
(normali+acin) (normali+acin)

"ultidimensionales "ultidimensionales
(hechos y dimensiones) (hechos y dimensiones)

!st)ticas (Slo lectura, !st)ticas (Slo lectura,


-so. proyeccin y -so. proyeccin y
an)lisis) an)lisis)

in)micas (Cam$ian in)micas (Cam$ian


constantemente/ se constantemente/ se
actuali+an/ se ingresan actuali+an/ se ingresan
datos/ se $orran, -so. datos/ se $orran, -so.
manipulacin y consulta) manipulacin y consulta)
Con0unto de datos pertenecientes a un mismo Con0unto de datos pertenecientes a un mismo
conte1to almacenados sistem)ticamente, conte1to almacenados sistem)ticamente,
!0emplo. una $i$lioteca !0emplo. una $i$lioteca

Bases de datos
Bases de datos
Las $ases de
Las $ases de
datos est)n
datos est)n
integradas
integradas
por.
por.

Ta$las
Ta$las

Columnas
Columnas

2ilas
2ilas

Registros
Registros

Campos
Campos

Bases de datos
Bases de datos
"odelo relacional
"odelo relacional
Caracter3sticas
Caracter3sticas

Cat)logos
Cat)logos

Lla4es
Lla4es
primarias
primarias

Lla4es 'or)neas
Lla4es 'or)neas

5o admite
5o admite
redundancia
redundancia

Sistemas
Sistemas
operacionales
operacionales

Bases de datos
Bases de datos
"odelo dimensional
"odelo dimensional
Caracter3sticas
Caracter3sticas

Ta$las de
Ta$las de
dimensiones
dimensiones

Ta$las de hechos
Ta$las de hechos

Lla4es su$rogadas
Lla4es su$rogadas

Admite redundancia
Admite redundancia

ata %arehouses
ata %arehouses
y
y
ata "arts
ata "arts

PostgreSQL
PostgreSQL

PostgreSQL es un sistema de gestin de PostgreSQL es un sistema de gestin de


$ases de datos o$0eto6relacional/ $ases de datos o$0eto6relacional/
distri$uido $a0o licencia BS y con su distri$uido $a0o licencia BS y con su
cdigo 'uente disponi$le li$remente, cdigo 'uente disponi$le li$remente,

!s el sistema de gestin de $ases de !s el sistema de gestin de $ases de


datos de cdigo a$ierto m)s potente del datos de cdigo a$ierto m)s potente del
mercado y en sus 7ltimas 4ersiones no mercado y en sus 7ltimas 4ersiones no
tiene nada *ue en4idiarle a otras $ases de tiene nada *ue en4idiarle a otras $ases de
datos comerciales, datos comerciales,

PostgreSQL utili+a un modelo PostgreSQL utili+a un modelo


cliente8ser4idor y usa multiprocesos en cliente8ser4idor y usa multiprocesos en
4e+ de multihilos para garanti+ar la 4e+ de multihilos para garanti+ar la
esta$ilidad del sistema, -n 'allo en uno de esta$ilidad del sistema, -n 'allo en uno de
los procesos no a'ectar) el resto y el los procesos no a'ectar) el resto y el
sistema continuar) 'uncionando, sistema continuar) 'uncionando,

PostgreSQL
PostgreSQL
Antecedentes
Antecedentes
9raphics 9raphics R!trie4al R!trie4al System System) *ue ) *ue
estu4o acti4o de :;<< a :;=>, Su estu4o acti4o de :;<< a :;=>, Su
creador/ el pro'esor "ichael creador/ el pro'esor "ichael
Stone$ra&er de la -ni4ersidad de Stone$ra&er de la -ni4ersidad de
Ber&eley se $as incialmente en el Ber&eley se $as incialmente en el
?System R@, Ingres compiti con ?System R@, Ingres compiti con
Aracle por el mercado, !n :;=> Aracle por el mercado, !n :;=>
Stone$ra&er regresa a Ber&eley e Stone$ra&er regresa a Ber&eley e
inicia el proyecto PostgreSQL, inicia el proyecto PostgreSQL,
!n :;;B los estudiantes Andre# Cu y !n :;;B los estudiantes Andre# Cu y
(olly Chen depuran el cdigo para *ue (olly Chen depuran el cdigo para *ue
'uera :DDE en A5SI C/ implementan 'uera :DDE en A5SI C/ implementan
un intFrprete de lengua0e SQL y un intFrprete de lengua0e SQL y
desarrollan la inter'a+ pgs*l para las desarrollan la inter'a+ pgs*l para las
consultas, Lo li$eraron en :;;> como consultas, Lo li$eraron en :;;> como
PostgreSQL;>, PostgreSQL;>,
!n :;;G se cam$ia a PostgreSQL y se !n :;;G se cam$ia a PostgreSQL y se
crea el PostgreSQL 9lo$al crea el PostgreSQL 9lo$al
e4elopment Team, e4elopment Team,
IB" ha$3a estado tra$a0ando desde IB" ha$3a estado tra$a0ando desde
:;<H con los primeros conceptos/ :;<H con los primeros conceptos/
ideas y teor3as so$re $ases de datos ideas y teor3as so$re $ases de datos
relacionales, relacionales,
Su proyecto I Su proyecto ISystem System RI 'ue entre RI 'ue entre
otras cosas la primera otras cosas la primera
implementacin del lengua0e SQL implementacin del lengua0e SQL
( (Structured Structured Query Query Language Language), ),
!ste proyecto/ sus decisiones de !ste proyecto/ sus decisiones de
diseJo y muchos de los algoritmos diseJo y muchos de los algoritmos
usados/ in'luenciaron muchos de los usados/ in'luenciaron muchos de los
sistemas de $ases de datos sistemas de $ases de datos
relacionales *ue aparecieron relacionales *ue aparecieron
posteriormente, posteriormente,
!l antecesor de PostgreSQL es el !l antecesor de PostgreSQL es el
proyecto Ingres (I5teracti4e proyecto Ingres (I5teracti4e

PostgreSQL
PostgreSQL
Caracter3sticas
Caracter3sticas

ocumentacin completa, ocumentacin completa,

Licencia BS (Admite el uso de su cdigo 'uente en so't#are propietario), Licencia BS (Admite el uso de su cdigo 'uente en so't#are propietario),

isponi$le para Linu1 y -5IK en todas sus 4ariantes (AIK/ BS/ LP6-K/ isponi$le para Linu1 y -5IK en todas sus 4ariantes (AIK/ BS/ LP6-K/
S9I IRIK/ "ac AS K/ Solaris/ TruGB) y %indo#s HM8GB$it, S9I IRIK/ "ac AS K/ Solaris/ TruGB) y %indo#s HM8GB$it,

2unciones8procedimientos almacenados (stored procedures) en numerosos 2unciones8procedimientos almacenados (stored procedures) en numerosos
lengua0es de programacin/ entre otros PL8pgSQL (similar al PL8SQL de lengua0es de programacin/ entre otros PL8pgSQL (similar al PL8SQL de
Aracle)/ PL8Perl/ PL8Python y PL8Tcl, Aracle)/ PL8Perl/ PL8Python y PL8Tcl,

5umerosos tipos de datos y la posi$ilidad de de'inir nue4os tipos, 5umerosos tipos de datos y la posi$ilidad de de'inir nue4os tipos,

Adem)s de los tipos est)ndares en cual*uier $ase de datos/ tenemos Adem)s de los tipos est)ndares en cual*uier $ase de datos/ tenemos
disponi$les/ entre otros/ tipos geomFtricos/ de direcciones de red/ de disponi$les/ entre otros/ tipos geomFtricos/ de direcciones de red/ de
cadenas $inarias/ --I/ K"L/ matrices/ etc, cadenas $inarias/ --I/ K"L/ matrices/ etc,

Soporta el almacenamiento de o$0etos $inarios grandes, Soporta el almacenamiento de o$0etos $inarios grandes,

APIs para programar en C8CNN/ (a4a/ ,5et/ Perl/ Python/ Ru$y/ Tcl/ ABC/ APIs para programar en C8CNN/ (a4a/ ,5et/ Perl/ Python/ Ru$y/ Tcl/ ABC/
PLP/ Lisp/ Scheme/ Qt y muchos otros, PLP/ Lisp/ Scheme/ Qt y muchos otros,

PostgreSQL
PostgreSQL
Instalacin
Instalacin
PostgreSQL
PostgreSQL

2uentes
2uentes

Instalador
Instalador
Inter'aces
Inter'aces

ps*l
ps*l

pgAdmin
pgAdmin
http.88###,postgres*l,org8 http.88###,postgres*l,org8

PostgreSQL
PostgreSQL
Instalacin Instalacin

PostgreSQL/ ps*l/ pgAdmin PostgreSQL/ ps*l/ pgAdmin


esde 'uentes esde 'uentes
Seguir las instrucciones del Seguir las instrucciones del
archivo INSTALL archivo INSTALL
,8con'igure ,8con'igure
gma&e gma&e
su su
gma&e install gma&e install
adduser postgres 66crea el usuario adduser postgres 66crea el usuario
postgres postgres
m&dir 84ar8li$8pgs*l8data 66crea la carpeta m&dir 84ar8li$8pgs*l8data 66crea la carpeta
de los datos de los datos
cho#n postgres 84ar8li$8pgs*l8data 66otorga cho#n postgres 84ar8li$8pgs*l8data 66otorga
pri4ilegios a postgres so$re los datos pri4ilegios a postgres so$re los datos
su 6 postgres su 6 postgres
8usr8local8pgs*l8$in8initd$ 6 8usr8local8pgs*l8$in8initd$ 6
84ar8li$8pgs*l8data 66iniciali+a el cluster 84ar8li$8pgs*l8data 66iniciali+a el cluster
8usr8local8pgs*l8$in8postgres 6 8usr8local8pgs*l8$in8postgres 6
84ar8li$8pgs*l8data Olog'ile MOP: P 84ar8li$8pgs*l8data Olog'ile MOP: P
8usr8local8pgs*l8$in8created$ test 66 crea 8usr8local8pgs*l8$in8created$ test 66 crea
$ase de datos de prue$a $ase de datos de prue$a
8usr8local8pgs*l8$in8ps*l test 66a$re la $ase 8usr8local8pgs*l8$in8ps*l test 66a$re la $ase
de datos de prue$a de datos de prue$a
escargar y descomprimir archi4os escargar y descomprimir archi4os
'uente. 'uente.

tar 614+' postgres*l6K,K,K,tar,g+ tar 614+' postgres*l6K,K,K,tar,g+



PostgreSQL
PostgreSQL
Instalacin u$untu Instalacin u$untu
e ser necesario actuali+ar el e ser necesario actuali+ar el
repositorio repositorio

sudo aptQget update sudo aptQget update


Instalacin u$untu Instalacin u$untu

sudo apt6get install sudo apt6get install


postgres*l postgres*l
postgres*l6contri$ postgres*l6contri$

sudo apt6get install sudo apt6get install


pgadminH pgadminH
Para conectarse se de$e Para conectarse se de$e
hacer como el usuario hacer como el usuario
administrador postgres administrador postgres

sudo 6u postgres sudo 6u postgres


Para acceder a la inter'a+ Para acceder a la inter'a+
ps*l ps*l

Ps*l Rnom$reQ$aseS Ps*l Rnom$reQ$aseS



PostgreSQL
PostgreSQL

pgAdmin
pgAdmin

PostgreSQL
PostgreSQL
Iniciar y detener PostgreSQL
Iniciar y detener PostgreSQL
Como superusuario Como superusuario
saraT5aomi. sudo su saraT5aomi. sudo su
Iniciar el servicio Iniciar el servicio
rootT5aomi.8home8saraU rootT5aomi.8home8saraU
8etc8init,d8postgres*l start 8etc8init,d8postgres*l start
Detener el servicio Detener el servicio
rootT5aomi.8home8saraU rootT5aomi.8home8saraU
8etc8init,d8postgres*l stop 8etc8init,d8postgres*l stop

Para con'igurar *ue el ser4idor de
Postgres arran*ue al le4antar el
e*uipo de$emos editar el archi4o
start,con'
saraT5aomi. sudo su 6 postgres
RsudoSp#d.
saraT5aomi. nano
8etc8postgres*l8;,H8main8start,con'

PostgreSQL
PostgreSQL
Iniciar y detener PostgreSQL
Iniciar y detener PostgreSQL


PostgreSQL
PostgreSQL
Comandos bsicos de psql
Comandos bsicos de psql
!ntrar desde una terminal con. !ntrar desde una terminal con. sudo su - postgres sudo su - postgres
Como usuario postgres e0ecutar la orden. Como usuario postgres e0ecutar la orden. psql psql Rnom$re$dS Rnom$re$dS

VW muestra el listado de los comandos de ps*l (salir VW muestra el listado de los comandos de ps*l (salir
con *) con *)

Vh muestra la lista de rdenes para generar sentencias Vh muestra la lista de rdenes para generar sentencias

Vh RordenS muestra la sinta1is de las sentencias en Vh RordenS muestra la sinta1is de las sentencias en
PostgreSQL PostgreSQL

V* salir de ps*l V* salir de ps*l

Vl enlistar $ases de datos en el ser4idor Vl enlistar $ases de datos en el ser4idor

Vc R Vc Rnombrebase nombrebaseS conectarse a la $ase de datos con ese S conectarse a la $ase de datos con ese
nom$re nom$re

Vc Rnom$re$aseS 6 usuario Vc Rnom$re$aseS 6 usuario

Vp mostrar el contenido del $7'er de consulta Vp mostrar el contenido del $7'er de consulta

Vr reiniciar (limpiar) el $7'er de consulta Vr reiniciar (limpiar) el $7'er de consulta



PostgreSQL
PostgreSQL
Comandos bsicos de psql
Comandos bsicos de psql

V# R V# Rnombrearchivo nombrearchivoS escri$ir el $u'er de consulta en un archi4o S escri$ir el $u'er de consulta en un archi4o
Los siguientes comandos con un Los siguientes comandos con un S+ S+ detallan la consulta. detallan la consulta.

Vd R Vd Rnombretabla o ndice o vista nombretabla o ndice o vistaS despliega el detalle de la S despliega el detalle de la
ta$la/ el 3ndice o la 4ista ta$la/ el 3ndice o la 4ista

Vd enlista las ta$las/ 4istas y secuencias Vd enlista las ta$las/ 4istas y secuencias

Vdt enlista las ta$las de la $ase de datos acti4a Vdt enlista las ta$las de la $ase de datos acti4a

Vdi enlista los 3ndices Vdi enlista los 3ndices

Vdg enlista los roles Vdg enlista los roles

Vd4 enlista las 4istas Vd4 enlista las 4istas

Vpass#ord RusuarioS cam$ia el pass#ord de un usuario Vpass#ord RusuarioS cam$ia el pass#ord de un usuario

Vcopyright muestra la 4ersin de PostgreSQL instalada Vcopyright muestra la 4ersin de PostgreSQL instalada

PostgreSQL
PostgreSQL
Comandos bsicos de psql
Comandos bsicos de psql

select currentQuser/ sessionQuserX les permite sa$er *uiFn select currentQuser/ sessionQuserX les permite sa$er *uiFn
es el usuario conectado es el usuario conectado

set session authori+ation nue4ousuarioX permite cam$iar de set session authori+ation nue4ousuarioX permite cam$iar de
usuario de N a 6 usuario de N a 6
pri4ilegios pri4ilegios

select 4ersion()X select 4ersion()X



PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

CR!AT! ATABAS! CR!AT! ATABAS!

CR!AT! TABL! CR!AT! TABL!

ALT!R TABL! ALT!R TABL!

RAP TABL! RAP TABL!

I5S!RT I5S!RT

-PAT! -PAT!

!L!T! !L!T!

S!L!CT S!L!CT
Cl)usulas S!L!CT/ 2RA"/ I5TA/ %L!R! Cl)usulas S!L!CT/ 2RA"/ I5TA/ %L!R!
Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC
Tipos de (AI5 Tipos de (AI5

Su$*ueries Su$*ueries

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

CR!AT! ATABAS!
CR!AT! ATABAS!
Las ta$las se de'inen en tres pasos. Las ta$las se de'inen en tres pasos.

ar el nom$re a la ta$la, ar el nom$re a la ta$la,

e'inir cada columna/ incluyendo restricciones e'inir cada columna/ incluyendo restricciones
de columna. de columna.

Primary Zey. especi'ica las columnas *ue con'orman la Primary Zey. especi'ica las columnas *ue con'orman la
cla4e primaria de la ta$la, cla4e primaria de la ta$la,

2oreign &ey. indica las columnas *ue constituyen una cla4e 2oreign &ey. indica las columnas *ue constituyen una cla4e
e1terna en la ta$la, e1terna en la ta$la,

Re'erences. indica la ta$la *ue pro4ee la cla4e 'or)nea, Re'erences. indica la ta$la *ue pro4ee la cla4e 'or)nea,

Chec& (P). especi'ica un predicado *ue de$e satis'acer cada Chec& (P). especi'ica un predicado *ue de$e satis'acer cada
'ila de la ta$la 'ila de la ta$la

e'inir las restricciones de la ta$la, e'inir las restricciones de la ta$la,




PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

CR!AT! ATABAS!
CR!AT! ATABAS!
CR!AT! ATABAS! nom$re6ta$la CR!AT! ATABAS! nom$re6ta$la
R R %ITL S R A%5!R R[S nom$reQdeQusuario S R R %ITL S R A%5!R R[S nom$reQdeQusuario S
R T!"PLAT! R[S plantilla S R T!"PLAT! R[S plantilla S
R !5CAI59 R[S codi'icacin S R !5CAI59 R[S codi'icacin S
R TABL!SPAC! R[S nom$reQdeQta$lespace S R TABL!SPAC! R[S nom$reQdeQta$lespace S
R CA55!CTIA5 LI"IT R[S l3miteQcone1iones S S R CA55!CTIA5 LI"IT R[S l3miteQcone1iones S S
5ota/ para crear ta$las de$emos conectarnos a la B 5ota/ para crear ta$las de$emos conectarnos a la B
reciFn creada con Vc nom$reB reciFn creada con Vc nom$reB
!0emplo. CR!AT! ATABAS! prue$a:X
!0emplo. CR!AT! ATABAS! prue$a:X


PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

C"#AT# TA!L#
C"#AT# TA!L#
CR!AT! TABL! nom$re6ta$la CR!AT! TABL! nom$re6ta$la
(campo: (tipo tamaJo 8 dominio) R5AT 5-LLS/ (campo: (tipo tamaJo 8 dominio) R5AT 5-LLS/
RcampoM (tipo tamaJo 8 dominio) R5AT 5-LLSS/ RcampoM (tipo tamaJo 8 dominio) R5AT 5-LLSS/
RPRI"ARC Z!C (c:/ cM/ ,,,/ cn)S/ RPRI"ARC Z!C (c:/ cM/ ,,,/ cn)S/
R2AR!I95 Z!C (c:) R!2!R!5C!S ta$la61S/ R2AR!I95 Z!C (c:) R!2!R!5C!S ta$la61S/
RCL!CZ (P)S) RCL!CZ (P)S)
CR!AT! TABL! clientes CR!AT! TABL! clientes
(idQcliente char(>) primary &ey not null/ (idQcliente char(>) primary &ey not null/
nom$re te1t/ nom$re te1t/
direccion te1t)X direccion te1t)X

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

C"#AT# TA!L#
C"#AT# TA!L#
CR!AT! TABL! cuenta CR!AT! TABL! cuenta
(idQcuenta char(:D) PRI"ARC Z!C 5AT 5-LL/ (idQcuenta char(:D) PRI"ARC Z!C 5AT 5-LL/
idQcliente char(>) R!2!R!5C!S clientes(idQcliente)/ idQcliente char(>) R!2!R!5C!S clientes(idQcliente)/
pagos char(:D)/ pagos char(:D)/
saldo integer saldo integer
CL!CZ (saldo O[ D))X CL!CZ (saldo O[ D))X
CR!AT! TABL! au1iliar CR!AT! TABL! au1iliar
(idQau1iliar integer PRI"ARC Z!C)X (idQau1iliar integer PRI"ARC Z!C)X
CR!AT! I5!K miQindice CR!AT! I5!K miQindice
A5 au1iliar (idQau1iliar ASC 5-LLS LAST)X A5 au1iliar (idQau1iliar ASC 5-LLS LAST)X

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

ALT!R TABL!
ALT!R TABL!
ALT!R TABL! ALT!R TABL! nombre-tabla nombre-tabla
\A ] "AI2C \A ] "AI2C
RCAL-"5 RCAL-"5 campo tipo campo tipo R( R(tamao tamao)S R5AT 5-LLS )S R5AT 5-LLS
RCA5STRAI5T RCA5STRAI5T nombre-constraint tipo-constraint nombre-constraint tipo-constraintSS SS $ $
RCA5STRAI5T nom$re6constraint RCA5STRAI5T nom$re6constraint tipo-constraint tipo-constraint (campo/ (campo/
^)S_ ^)S_
Adicionar un campo. Adicionar un campo.
ALT!R TABL! clientes A CAL-"5 limiteQcredito ALT!R TABL! clientes A CAL-"5 limiteQcredito
numeric(:>/M)X numeric(:>/M)X
Quitar el campo salario de una ta$la. Quitar el campo salario de una ta$la.
ALT!R TABL! cuenta RAP CAL-"5 pagosX ALT!R TABL! cuenta RAP CAL-"5 pagosX

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

RAP TABL!
RAP TABL!
RAP \TABL! ta$la ] I5!K 3ndice A5 ta$la_
RAP \TABL! ta$la ] I5!K 3ndice A5 ta$la_
!0emplo. eliminar el 3ndice miQIndice de la
!0emplo. eliminar el 3ndice miQIndice de la
ta$la au1iliar,
ta$la au1iliar,
RAP I5!K miQindiceX
RAP I5!K miQindiceX
!0emplo. eliminar una ta$la,
!0emplo. eliminar una ta$la,
RAP TABL! au1iliarX
RAP TABL! au1iliarX

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

I5S!RT I5S!RT
I5S!RT RI5TAS I5S!RT RI5TAS
\ta$le6name ] 4ie#6name_ R(column6list)S \ta$le6name ] 4ie#6name_ R(column6list)S
\YAL-!S ] (4alues6list) ] select6statement _ \YAL-!S ] (4alues6list) ] select6statement _
I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito) I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito)
YAL-!S (`ADDD:`/`Almacenes !strada`/`Ayuntamiento 5o, M:HM`/>DDDD)X YAL-!S (`ADDD:`/`Almacenes !strada`/`Ayuntamiento 5o, M:HM`/>DDDD)X
I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito) I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito)
YAL-!S (`ADDDM`/`Casa Rayo`/`Re4olucin 5o, HH`/>DDDD)X YAL-!S (`ADDDM`/`Casa Rayo`/`Re4olucin 5o, HH`/>DDDD)X
I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito) I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito)
YAL-!S (`ADDDH`/`"iguel 5a4a`/`San Cristo$al s8n`/:DDDD)X YAL-!S (`ADDDH`/`"iguel 5a4a`/`San Cristo$al s8n`/:DDDD)X
I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito) I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito)
YAL-!S (`ADDDB`/`%aldos de "F1ico`/`"arina 5acional ;==<`/:DDDDD)X YAL-!S (`ADDDB`/`%aldos de "F1ico`/`"arina 5acional ;==<`/:DDDDD)X

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

I5S!RT I5S!RT
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDDD>`/`ADDD:`/M>B:G)X (`AD;BDDDD>`/`ADDD:`/M>B:G)X
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDDDG`/`ADDD:`/:=;>D)X (`AD;BDDDDG`/`ADDD:`/:=;>D)X
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDDD<`/`ADDDM`/H>DDD)X (`AD;BDDDD<`/`ADDDM`/H>DDD)X
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDDD=`/`ADDDH`/=<>D)X (`AD;BDDDD=`/`ADDDH`/=<>D)X
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDDD;`/`ADDDB`/>GDD)X (`AD;BDDDD;`/`ADDDB`/>GDD)X
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDD>D`/`ADDDB`/HBMD)X (`AD;BDDD>D`/`ADDDB`/HBMD)X
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDD>B`/`ADDDM`/B;<D)X (`AD;BDDD>B`/`ADDDM`/B;<D)X

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

-PAT!
-PAT!
-PAT! \ta$le6name ] 4ie#6name_ -PAT! \ta$le6name ] 4ie#6name_
S!T\column6list S!T\column6list
] 4aria$le6list ] 4aria$le6list
] 4aria$leQandQcolumn6list_/^,, ] 4aria$leQandQcolumn6list_/^,,
R %L!R! \ condition _S R %L!R! \ condition _S
-PAT! cuenta S!T saldo[H;<> %L!R! -PAT! cuenta S!T saldo[H;<> %L!R!
idQcuenta[`AD;BDDD>D`X idQcuenta[`AD;BDDD>D`X
-PAT! clientes S!T nom$re[`Aldos de "F1ico` -PAT! clientes S!T nom$re[`Aldos de "F1ico`
%L!R! idQcliente[`ADDDB`X %L!R! idQcliente[`ADDDB`X

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

!L!T!
!L!T!
!L!T! 2RA" \ta$le6name ] 4ie#6name_
!L!T! 2RA" \ta$le6name ] 4ie#6name_
R%L!R! \condition_ S
R%L!R! \condition_ S
!L!T! 2RA"
!L!T! 2RA"


cuenta
cuenta
%L!R!
%L!R!


idQcuenta [
idQcuenta [ `AD;BDDD>D` `AD;BDDD>D`
X
X

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

S!L!CT
S!L!CT
Cl)usulas S!L!CT/ 2RA"/ I5TA/ %L!R!
Cl)usulas S!L!CT/ 2RA"/ I5TA/ %L!R!
S!L!CT ,,, 2RA" ,,, %L!R!
S!L!CT ,,, 2RA" ,,, %L!R!
S!L!CT lista los atri$utos a mostrar en el resultado de la S!L!CT lista los atri$utos a mostrar en el resultado de la
consulta, consulta,
2RA" lista las relaciones (ta$las) *ue se de$en anali+ar, 2RA" lista las relaciones (ta$las) *ue se de$en anali+ar,
%L!R! se re'iere a las condiciones de $7s*ueda *ue %L!R! se re'iere a las condiciones de $7s*ueda *ue
de$er)n cumplir los atri$utos en las relaciones de$er)n cumplir los atri$utos en las relaciones
S!L!CT a 2RA" clientesX S!L!CT a 2RA" clientesX
S!L!CT idQcliente/ nom$re/ direccion/ limiteQcredito S!L!CT idQcliente/ nom$re/ direccion/ limiteQcredito
2RA" clientes %L!R! limiteQcredito O >DDDX 2RA" clientes %L!R! limiteQcredito O >DDDX

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

S!L!CT
S!L!CT
La cl)usula I5TA/ permite guardar los resultados La cl)usula I5TA/ permite guardar los resultados
intermedios de una consulta intermedios de una consulta
RS!L!CT ,,,S I5TA ta$laQinto R2RA" ,,,S RS!L!CT ,,,S I5TA ta$laQinto R2RA" ,,,S
Los alias son 7tiles para e4itar escri$ir nom$res muy Los alias son 7tiles para e4itar escri$ir nom$res muy
largos cada 4e+, Slo 'uncionan en la consulta acti4a, largos cada 4e+, Slo 'uncionan en la consulta acti4a,
RS!L!CT^S RS!L!CT^S
2RA" e1presin ta$la RasS tQalias R/ ,,,S 2RA" e1presin ta$la RasS tQalias R/ ,,,S

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
S!L!CT
S!L!CT
Las condiciones de $7s*ueda pueden incluir. Las condiciones de $7s*ueda pueden incluir.
Aperadores de Comparacin ([/ bO/ b y O), Aperadores de Comparacin ([/ bO/ b y O),

Porciones de cadenas de caracteres (S-BSTR) Porciones de cadenas de caracteres (S-BSTR)

Rangos (B!T%!!5 y 5AT B!T%!!5) Rangos (B!T%!!5 y 5AT B!T%!!5)

Listas (I5/ 5AT I5) Listas (I5/ 5AT I5)

Patrones de caracteres (LIZ! y 5AT LIZ!) Patrones de caracteres (LIZ! y 5AT LIZ!)

Yalores desconocidos (IS 5-LL y IS 5AT 5-LL) Yalores desconocidos (IS 5-LL y IS 5AT 5-LL)

Com$inaciones con con0unciones (A5/ AR) Com$inaciones con con0unciones (A5/ AR)

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
S!L!CT
S!L!CT
!0emplos de condiciones de $7s*ueda. !0emplos de condiciones de $7s*ueda.

Aperadores de comparacin. Aperadores de comparacin.


%L!R! SueldoBasico O :DDD %L!R! SueldoBasico O :DDD
%L!R! S-BSTR(CodigoPostal/ :/ H)[ ?SA5@ %L!R! S-BSTR(CodigoPostal/ :/ H)[ ?SA5@

Rangos (B!T%!!5 8 5AT B!T%!!5). Rangos (B!T%!!5 8 5AT B!T%!!5).


%L!R! SueldoB)sico B!T%!!5 :DDD A5 >DDD %L!R! SueldoB)sico B!T%!!5 :DDD A5 >DDD

Listas (I5 8 5AT I5). Listas (I5 8 5AT I5).


%L!R! epartamento 5AT I5 (`A"`/ `SIS`) %L!R! epartamento 5AT I5 (`A"`/ `SIS`)

Coincidencia de patrones o cadenas de caracteres Coincidencia de patrones o cadenas de caracteres


(LIZ! 8 5AT LIZ!)) (LIZ! 8 5AT LIZ!))
%L!R! 5om$reCompleto LIZ! ?L!TE@ %L!R! 5om$reCompleto LIZ! ?L!TE@

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

S!L!CT
S!L!CT
Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC
S!L!CT \\columnasQdeQagrupacin/^_/ S!L!CT \\columnasQdeQagrupacin/^_/
\'uncinQdeQagregacin/^__ \'uncinQdeQagregacin/^__
2RA" ^ 2RA" ^
R%L!R! ^S R%L!R! ^S
9RA-P BC \columnasQdeQagrupacin/^_ 9RA-P BC \columnasQdeQagrupacin/^_
S!L!CT limiteQcredito 2RA" clientes 9RA-P BC S!L!CT limiteQcredito 2RA" clientes 9RA-P BC
limiteQcreditoX limiteQcreditoX
S!L!CT idQcliente/ S-"(saldo) 2RA" cuenta 9RA-P S!L!CT idQcliente/ S-"(saldo) 2RA" cuenta 9RA-P
BC idQclienteX BC idQclienteX

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

S!L!CT
S!L!CT
Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC
S!L!CT \\columnasQdeQagrupacin/^_/ S!L!CT \\columnasQdeQagrupacin/^_/
\'uncinQdeQagregacin/^__ \'uncinQdeQagregacin/^__
2RA" ^ 2RA" ^
R%L!R! ^S R%L!R! ^S
9RA-P BC \columnasQdeQagrupacin/^_ 9RA-P BC \columnasQdeQagrupacin/^_
LAYI59 condicionesQdeQ$7s*ueda LAYI59 condicionesQdeQ$7s*ueda
S!L!CT idQcliente/ S-"(saldo) 2RA" cuenta S!L!CT idQcliente/ S-"(saldo) 2RA" cuenta
9RA-P BC idQcliente LAYI59 idQcliente LIZ! `AE` 9RA-P BC idQcliente LAYI59 idQcliente LIZ! `AE`
AR!R BC idQclienteX AR!R BC idQclienteX


PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

S!L!CT
S!L!CT
Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC
S!L!CT \columna :/ columna M/^_ S!L!CT \columna :/ columna M/^_
2RA" ^ 2RA" ^
R%L!R! ^S R%L!R! ^S
R9RA-P BC,,,S R9RA-P BC,,,S
RLAYI59 ,,,S RLAYI59 ,,,S
AR!R BC columna : RASC]!SCS/,,, AR!R BC columna : RASC]!SCS/,,,
S!L!CT nom$re/ limiteQcredito 2RA" clientes S!L!CT nom$re/ limiteQcredito 2RA" clientes
AR!R BC nom$re !SCX AR!R BC nom$re !SCX

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
Los Los %&IN %&IN sir4en para com$inar ta$las/ en PostgreSQL se de'inen sir4en para com$inar ta$las/ en PostgreSQL se de'inen
los tipos. los tipos.

CRASS (AI5 CRASS (AI5


S!L!CT ,,, 2RA" ta$le: CRASS (AI5 ta$leM S!L!CT ,,, 2RA" ta$le: CRASS (AI5 ta$leM

I55!R (AI5 I55!R (AI5

L!2T A-T!R (AI5 L!2T A-T!R (AI5


S!L!CT ,,, 2RA" ta$le: L!2T A-T!R (AI5 ta$leM A5 S!L!CT ,,, 2RA" ta$le: L!2T A-T!R (AI5 ta$leM A5
conditionalQe1pression ,,, conditionalQe1pression ,,,

RI9LT A-T!R (AI5 RI9LT A-T!R (AI5


S!L!CT ,,, 2RA" ta$le: RI9LT A-T!R (AI5 ta$leM A5 S!L!CT ,,, 2RA" ta$le: RI9LT A-T!R (AI5 ta$leM A5
conditionalQe1pression ,,, conditionalQe1pression ,,,

2-LL A-T!R (AI5 2-LL A-T!R (AI5


S!L!CT ,,, 2RA" ta$le: 2-LL A-T!R (AI5 ta$leM A5 S!L!CT ,,, 2RA" ta$le: 2-LL A-T!R (AI5 ta$leM A5
conditionalQe1pression ,, conditionalQe1pression ,,, ,

PostgreSQL
PostgreSQL
"epresentaci'n gr(ica de los tipos de %oin "epresentaci'n gr(ica de los tipos de %oin

PostgreSQL
PostgreSQL
"epresentaci'n gr(ica de los tipos de %oin "epresentaci'n gr(ica de los tipos de %oin

PostgreSQL
PostgreSQL
"epresentaci'n gr(ica de los tipos de %oin "epresentaci'n gr(ica de los tipos de %oin

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

S!L!CT
S!L!CT
!L (AI5 *ue se utili+a com7nmente es el I55!R (AI5. !L (AI5 *ue se utili+a com7nmente es el I55!R (AI5.
[SELECT] [SELECT]
FROM FROM TABLA1 [INNER] JOIN TABLA2 TABLA1 [INNER] JOIN TABLA2
ON TABLA1.COLUMNA1 = TABLA2.COLUMNA1 ON TABLA1.COLUMNA1 = TABLA2.COLUMNA1
[WHERE] [WHERE]
S!L!CT cl,nom$re/ cl,direccion/ S-"(ct,saldo) 2RA" S!L!CT cl,nom$re/ cl,direccion/ S-"(ct,saldo) 2RA"
cuenta ct I55!R (AI5 clientes cl A5 cuenta ct I55!R (AI5 clientes cl A5
cl,idQcliente[ct,idQcliente 9RA-P BC cl,idQcliente cl,idQcliente[ct,idQcliente 9RA-P BC cl,idQcliente
AR!R BC cl,nom$reX AR!R BC cl,nom$reX

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

S!L!CT
S!L!CT
Su$*ueries
Su$*ueries
S!L!CT cl,nom$re/ cl,limiteQcredito/
S!L!CT cl,nom$re/ cl,limiteQcredito/
ct,totalQsaldo 2RA" (
ct,totalQsaldo 2RA" (
S!L!CT idQcliente/
S!L!CT idQcliente/
S-"(saldo) totalQsaldo 2RA" cuenta
S-"(saldo) totalQsaldo 2RA" cuenta
9RA-P BC idQcliente
9RA-P BC idQcliente
) ct I55!R (AI5
) ct I55!R (AI5
clientes cl A5 cl,idQcliente[ ct,idQcliente
clientes cl A5 cl,idQcliente[ ct,idQcliente
AR!R BC nom$reX
AR!R BC nom$reX

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

Aperadores lgicos. A5/ AR/ 5AT


Aperadores lgicos. A5/ AR/ 5AT

Aperadores matem)ticos.
Aperadores matem)ticos.

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

2unciones de agregacin
2unciones de agregacin
SUM([ALL|DISTINCT]
expresin)
Calcula el total de una expresin
nu!rica para todas las "ilas o slo
las distintas#
A$%([ALL|DISTINCT]
expresin)
Calcula el proedio de una expresin
nu!rica para las "ilas in&olucradas#
MIN([ALL|DISTINCT]
expresin)
Calcula el 'nio &alor de una
expresin nu!rica para las "ilas
in&olucradas
MA(([ALL|DISTINCT]
expresin)
Calcula el )xio &alor de una
expresin nu!rica para las "ilas
in&olucradas#
C*UNT([ALL|DISTINC
T] expresin)
Cuenta el n+ero de &eces ,ue se
repite el &alor de la expresin#
C*UNT(-) Cuenta las "ilas seleccionadas

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

Aperadores de comparacin
Aperadores de comparacin

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

2unciones matem)ticas
2unciones matem)ticas

PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas

2unciones para operar con cadenas


2unciones para operar con cadenas

PostgreSQL
PostgreSQL
Sentencias de SL
Sentencias de SL
!sicas
!sicas

2unciones para operar


2unciones para operar
con 'echas
con 'echas

Potrebbero piacerti anche