Está en la página 1de 29

201769 https://www.aulauss.edu.pe/mod/scorm/player.php?

a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&d

Semana1:Analicemoslaarquitecturayplataformadeunaaplicacinde
empresa

Muchodelsoftwarehoyendasepareceaunapirmideegipcia:con
millonesdeladrillosapiladosunoencimadelotro,sinintegridad
estructuralyhechoporpurafuerzabrutaymilesdeesclavos.

AlanKay

EscucharAudio: Nosehapodidocargarelcomplemento.

BienvenidosalaprimerasemanadelcursodeProgramacinAvanzada,enlaqueencontraremoslaimportanciadeestableceruna
arquitecturayplataformadedesarrollodeunaaplicacinparaempresa,ayudndonosaelegirlaapropiada.Porotrolado,
estudiaremoslabasededatosrelacionalPostgresqlygeneraremoselscriptdenuestrabasededatos.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&d

Introduccinaltema

En ste tema veremos la importancia de elegir una plataforma de desarrollo de software como son: del nivel 2, del nivel 3 y del nivel n capas.
Laprogramacinporcapasesunestilodeprogramacinenelqueelobjetivoprimordialeslaseparacindelalgicadenegociosdelalgicadediseo.

Anteslaprogramacinerasinbasededatos,susbasesdedatoseranpropiasdecadalenguajeenCobolporejemplotenamosarchivostipotextoarmados
amano,lomismoenBasicyPascal.Enlosaos1960yaseintroducaelconceptodearquitecturaasoftwareenloscrculosdeinvestigacincomoelde
Edsger Dijkstra. En los lenguajes de prgramacin como Clipper o Fox se usaba DBF (de Dbase III Plus), ah ya se comenz a separar el lenguaje de
programacindelabasededatosens.EnladenominadaCrisisdelSoftwaredelosaos1990,elmodeloencapasalcanzpopularidad.

Estosestilosdearquitecturaseencuentranconbastantefrecuenciaenlasempresasdelaactualidad.Latecnologaclienteservidorfueloqueprovocuna
automatizacin masiva de la empresa. Los sistemas clienteservidor tpicos estn basados en la arquitectura de dos niveles, donde existe una clara
separacinentrelosdatosylalgicapresentacin/empresa.Estossistemasestngeneralmentecontroladospordatos,siendoelservidor,engrancantidad
deocasiones,unservidordebasededatos.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&d

Aprendizajesesperados:Capacidad/Actitudes

Capacidad

Analizayexplicalaimportanciadeconocerlaarquitecturayplataformadeunaaplicacindeescritorio.

Analizayconoceloslenguajesdeunabasededatosrelacional.

Define,manipulayconsultadatosenPostgreSQL.

RealizascriptsybackupdebasededatosenPostgreSQL.

Actitud

Valoralaimportanciadedefinirunaarquitecturayplataformaaunaaplicacindeescritorio.

Demuestraintersendefinir,manipularyconsultardatosenPostgreSQL.

Valoralaimportanciaderealizarscriptsycopiasdeseguridaddebasededatos.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&d

Mapaconceptualreferidoaltema

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&d

1.1.Laempresaactual

Unaempresaesunaorganizacineconmicaylasaplicacionesdeempresasonaquellasaplicacionesdesoftwarequefacilitan
diversasactividadesdentrodeunaempresa.

Subrahmanyanetal.(2002)Nosdiceque:Lasaplicacionesdeempresapuedenseraquellasquehacenconcesionesalosusuarios
finalesvaInternet,acolaboradoresvaInternetoredesprivadas,adiversasunidadeseconmicasdentrodelaempresavadistintos
tiposdeinterfacesdeusuario,etc.Enesencia,lasaplicacionesdeempresasonaquellasquepermitenaunaempresagestionarsus
actividades econmicas. Por ejemplo aquellas actividades que incluyen planificacin de recursos, inventarios y catlogos de
productos,preparacindefacturas,satisfaccindebienesyserviciosprestados,etc.Crearaplicacionesparaunaempresasiempre
hasidounreto.Algunosdelosfactoresquecontribuyenaesteretoysucomplejidadsonlossiguientes:

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&d

1.1.1Diversidaddenecesidadesdeinformacin

En una empresa, la informacin es creada y consumida por varios usuarios en una serie de formas diferentes, dependiendo de
necesidadesespecficas.Esmuycomnencontrarquecadaactividadeconmicaprocesalainformacindeunmododiferente.

Complejidaddeprocesoseconmicos.

Lamayoradeprocesoseconmicosdeempresaconllevanrecabarinformacincompleja,procesarlaydistribuirla.Conmucha
frecuencia,seenfrentaraunalgicacomplejapararecabaryprocesarinformacin.Estotienecomoresultadounoscomplejos
requisitostcnicosydearquitecturaparacrearaplicacionesdeempresa.

DiversidaddeAplicaciones

Debidoalacomplejanaturalezadelosprocesoseconmicosdeempresa,esfrecuenteencontrarunaempresaconsistenteen
ungrannmerodeaplicaciones,cadaunadeellascreadaendistintosmomentosparasatisfacerlasnecesidadesdedistintos
procesos econmicos. Esto desemboca con frecuencia en la presencia de aplicaciones creadas utilizando diferentes
arquitecturasytecnologas.Unodelosretosalosqueseenfrentanlasempresashoyendaeslanecesidaddeconseguirque
dichasaplicacionessecomuniquenentresidemodoquelosprocesoseconmicospuedanllevarseacabosininterrupciones.

Estosfactoressonmuycomunesylasempresasincurrenenenormescostesparacrearygestionaraplicacionesquehaganfrentea
estosretos.

Durantelosltimosaos,estosretoshanalcanzadodimensionesmonstruosas.GraciasaInternetyalrecientecrecimientodee
comercio, los dispositivos de informacin de una empresa son ahora mis valiosos. Este cambio hacia una economa de la
informacin est forzando a muchas compaas a reformular incluso sus prcticas econmicas ms bsicas. Con el objetivo de
mantenerunmargencompetitivo,laadopcindenuevastecnologasparacubrirlasnecesidadesdelmomentorpidamenteseha
convertido en un factor clave en la habilidad de una empresa para explotar al mximo sus dispositivos de informacin.
Fundamentalmente,laadaptacindeestasnuevastecnologasparaquefuncionenencombinacinconlossistemaslegadosya
existentesesahoraunodelosrequisitosprincipalesdelaempresa.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&d

1.2.EstilosdeArquitecturadeempresa

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&d

1.2.1.Arquitecturadedosniveles

Enunaaplicacintradicionalde2niveles,lacargadeprocesamientoesfacilitadaelPCclientemientrasqueylosdatos.Comoel
servidoractasimplementecomocontroladordeltrficoentrelaaplicacinresultado,elrendimientodelaaplicacinnoslosufre
debidoalosrecursoslimitadosdelPCsinoqueeltrficodelaredtambintiendeaaumentar.Cuandolaaplicacincompletaes
procesadaenunPC,laaplicacinesforzadaarealizarmltiplespeticionesdedatosantesinclusodepresentaralgoalusuario.
Estasmltiplespeticionesdebasesdedatospuedensobrecargarlared:

Otro problema tpico relacionado con el enfoque de 2 niveles es el del mantenimiento. Incluso el menor cambio realizado a una
aplicacinpuedeconllevarunacompletaalteracinenlabasedeusuario.Aunqueseaposibleautomatizarelprocesotodavadebe
enfrentarsealaactualizacindecadainstalacindecliente.Esms,algunosusuariospuedequenoestnpreparadosparauna
alteracintotalyposiblementeignorenloscambiosmientrasqueotrogrupopuedequeinsistaenrealizarloscambiosdeinmediato.
Estopuedeprovocarquediferentesinstalacionesdeclienteutilicendiferentesversionesdelaaplicacin.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&d

1.2.2.Arquitecturadetresniveles

Unaaplicacinsedivideentrescapaslgicasdistintas,cadaunadeellasconungrupodeinterfacesperfectamentedefinido.La
primeracapasedenominacapadepresentacinynormalmenteconsisteenunainterfazgrficadeusuariodealgntipo.Lacapa
intermedia,ocapadeempresa,consisteenlaaplicacinolgicadeempresa,ylaterceracapa,lacapadedatos,contienelosdatos
necesariosparalaaplicacin.Lacapaintermedia(lgicadeaplicacin)esbsicamenteelcdigoalquerecurreelusuario(atravs
delapresentacin)pararecuperarlosdatosdeseados.

La capa de presentacin recibe entonces los datos y los formatea para su presentacin. Esta separacin entre la lgica de
aplicacin de la interfaz de usuario aade una enorme flexibilidad al diseo de la aplicacin. Puede construirse y desplegarse
mltiplesinterfacesdeusuariosincambiarenabsolutolalgicadeaplicacin,siemprequelalgicadeaplicacinpresenteuna
interfazclaramentedefinidaalacapadepresentacin.

Laterceracapacontienelosdatosnecesariosparalaaplicacin.Ademsdeltradicionalmecanismodealmacenamientorelacional
debasesdedatos,existenmuchasfuentesdiferentesdedatosdeempresaalasquepuedenaccedersusaplicaciones:

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.2.3.Arquitecturanniveles

Comosugiereelttulo,nohayunmodomsprecisodedefinirlascapasdeaplicacinparaunsistemadenniveles.Dehecho,este
tipodesistemapuededarcabidaavariasconfiguracionesdiferentes.Enunaarquitecturadenniveles,lalgicadeaplicacinest
lgicamentedivididaporfuncionesynofsicamente.

Unaarquitecturadennivelessedescomponeenlassiguientespartes:

Una interfaz de usuario que maneja la interaccin del usuario con la aplicacin. sta puede ser un navegador Web
ejecutadomedianteunoscortafuegos,unaaplicacindeescritoriomslaboriosaoinclusoundispositivoinalmbrico.
Una lgica de presentacinque define lo que muestra la interfaz de usuario y como son gestionada las demandas del
usuario.Dependiendodelasinterfacesdeusuarioquesemantengan,puedequeseanecesariocontarconversionesdela
lgicadepresentacinligeramentediferentesparasatisfaceralclienteadecuadamente.
Unalgicadeempresaquemodelelasreglasdeempresadelaaplicacin,amenudoatravsdelainteraccinconlos
datosdelaaplicacin.
Serviciosdeinfraestructuraqueproporcionenlafuncionalidadadicionalrequeridaporloscomponentesdelaaplicacin,
talescomomensajerayapoyotransaccional.
Lacapadedatos,donderesidenlosdatosdelaempresa.

LasaplicacionesbasadasenestaarquitecturaempleanesencialmenteelpatrnModelViewController(MVC).Loqueestosignifica
fundamentalmenteesquelosdatos(elmodelo)sonindependientesrespectodelapresentacindelainformacin(lavista).Enuna
posicinintermediaseencuentralalgicadeaplicacin/empresa(elcontrolador)quecontrolaelflujodeinformacin.Deeste
modo,unaaplicacinesdiseadaapartirdeestostrescomponentesfuncionales(modelo,vistaycontrolador)interactuandoentre
s.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.3.PlataformadeDesarrollo

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.3.1LenguajeOrientadoaObjetos:Java(JDK,JRE)

Laprimeracaracterstica,orientadoaobjetos(OO),serefiereaunmtododeprogramacinyaldiseodellenguaje.Aunquehay
muchasinterpretacionesparaOO,unaprimeraideaesdisearelsoftwaredeformaquelosdistintostiposdedatosqueusenestn
unidosasusoperaciones.As,losdatosyelcdigo(funcionesomtodos)secombinanenentidadesllamadasobjetos.

Unobjetopuedeversecomounpaquetequecontieneelcomportamiento(elcdigo)yelestado(datos).Elprincipioesseparar
aquelloquecambiadelascosasquepermaneceninalterables.Frecuentemente,cambiarunaestructuradedatosimplicauncambio
enelcdigoqueoperasobrelosmismos,oviceversa.

Estaseparacinenobjetoscoherenteseindependientesofreceunabasemsestableparaeldiseodeunsistemasoftware.El
objetivo es hacer que grandes proyectos sean fciles de gestionar y manejar, mejorando como consecuencia su calidad y
reduciendoelnmerodeproyectosfallidos.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.3.2.SistemaAdministradordeBasedeDatos:PostgreSQL

PostgreSQL es un sistema de gestin de bases de datos objetorelacional, distribuido bajo licencia BSD y con su cdigo fuente
disponible libremente. Es el sistema de gestin de bases de datos de cdigo abierto ms potente del mercado y en sus ltimas
versionesnotienenadaqueenvidiarleaotrasbasesdedatoscomerciales.

PostgreSQLutilizaunmodelocliente/servidoryusamultiprocesosenvezdemultihilosparagarantizarlaestabilidaddelsistema.Un
falloenunodelosprocesosnoafectarelrestoyelsistemacontinuarfuncionando.

AcontinuacintepresentoungrficoqueilustrademanerageneralloscomponentesmsimportantesenunsistemaPostgreSQL.

Aplicacincliente:EstaeslaaplicacinclientequeutilizaPostgreSQLcomoadministradordebasesdedatos.Laconexin
puedeocurrirviaTCP/IPsocketslocales.
Demoniopostmaster:EsteeselprocesoprincipaldePostgreSQL.Eselencargadodeescucharporunpuerto/socketpor
conexionesentrantesdeclientes.Tambieneselencargadodecrearlosprocesoshijosqueseencargarandeautentificar
estaspeticiones,gestionarlasconsultasymandarlosresultadosalasaplicacionesclientes
Ficheros de configuracion: Los 3 ficheros principales de configuracin utilizados por PostgreSQL, postgresql.conf,
pg_hba.confypg_ident.conf
Procesoshijospostgres:Procesoshijosqueseencargandeautentificaralosclientes,degestionarlasconsultasymandar
losresultadosalasaplicacionesclientes
PostgreSQLsharebuffercache:MemoriacompartidausadaporPOstgreSQLparaalmacenardatosencach.
WriteAheadLog(WAL):Componentedelsistemaencargadodeasegurarlaintegridaddelosdatos(recuperacindetipo
REDO)
Kerneldiskbuffercache:Cachdediscodelsistemaoperativo
Disco:DiscofsicodondesealmacenanlosdatosytodalainformacinnecesariaparaquePostgreSQLfuncione

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.3.3.Conectividad:JDBC

AunquetodoslosaccesosalosdatosdeberanseraccesiblesatravsdeunnicoAPIestndardelaarquitecturadeConectorenel
futuro, la conectividad de bases de datos es probablemente uno de los servicios clave que los desarrolladores de programas
implementanensucomponentedeaplicacin.

ElAPIJDBC(siglasnooficialesparaJavaDatabaseConnectivity)proporcionaalagentededesarrollolacapacidaddeconectarcon
sistemasdebasesdedatosrelacionales,permitelasconsultastransaccionales,larecuperacinylamanipulacindedatosdesde
unabasededatosqueseajusteaJDBC.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.3.4.Reportes:IReport(Jasperreport).

JasperReportsLibrary es de cdigo abierto ms popular del mundo Java informes biblioteca y iReportDesigner es un diseador
visual de informes para JasperReports. La biblioteca es un motor de informes que se pueden integrar en la aplicacin abierta o
comercialparagenerarlosinformesdiseadosconiReportDesigner,mostrarlosenpantallaoexportarlosenunformatofinalcomo
PDF, OpenOffice, DOCX y muchos otros.Alternativamente, usted puede transmitir el resultado a travs de una aplicacin web o
enviareldocumentofinaldirectamenteaunaimpresora.JasperReportsesdealgunamaneraelncleodeiReportDesigner.

JasperReportsesmuyfcildeintegrarenunaaplicacinJava.

Enelpanoramageneral,iReportDesignertepermitedisearinformes,JasperReportspermiteejecutarlasygenerarunasalidaen
unaaplicacinJava.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.4.BasedeDatosRelacional

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.4.1.PostgreSQL:Herramientasparaeldesarrollo

Laltimaseriedeproduccinesla9.3.Suscaractersticastcnicaslahacenunadelasbasesdedatosmspotentesyrobustasdel
mercado. Su desarrollo comenz hace ms de 16 aos, y durante este tiempo, estabilidad, potencia, robustez, facilidad de
administracineimplementacindeestndareshansidolascaractersticasquemssehantenidoencuentadurantesudesarrollo.
PostgreSQLfuncionamuybiencongrandescantidadesdedatosyunaaltaconcurrenciadeusuariosaccediendoalavezalsistema.

AcontinuacintienesalgunasdelascaractersticasmsimportantesysoportadasporPostgreSQL:

Generales

Esunabasededatos100%ACID
Integridadreferencial
Tablespaces
Nestedtransactions(savepoints)
Replicacinasincrnica/sincrnica/StreamingreplicationHotStandby
Twophasecommit
PITRpointintimerecovery
Copiasdeseguridadencaliente(Online/hotbackups)
Unicode
Juegosdecaracteresinternacionales
Regionalizacinporcolumna
MultiVersionConcurrencyControl(MVCC)
Multiplesmtodosdeautentificacin
AccesoencriptadoviaSSL
Actualizacininsituintegrada(pg_upgrade)
SEpostgres
Completadocumentacin
LicenciaBSD
Disponible para Linux y UNIX en todas sus variantes (AIX, BSD, HPUX, SGI IRIX, Mac OS X, Solaris, Tru64) y Windows
32/64bit.
Funciones/procedimientos almacenados (storedprocedures) en numerosos lenguajes de programacion, entre otros
PL/pgSQL(similaralPL/SQLdeoracle),PL/Perl,PL/PythonyPL/Tcl
Bloquesannimosdecdigodeprocedimientos(sentenciasDO)
Numerosostiposdedatosyposibilidaddedefinirnuevostipos.Ademsdelostiposestndaresencualquierbasededatos,
tenemosdisponibles,entreotros,tiposgeomtricos,dedireccionesdered,decadenasbinarias,UUID,XML,matrices,etc
Soportaelalmacenamientodeobjetosbinariosgrandes(grficos,videos,sonido,...)
APIsparaprogramarenC/C++,Java,.Net,Perl,Python,Ruby,Tcl,ODBC,PHP,Lisp,Scheme,Qtymuchosotros.
SQL92,SQL99,SQL2003,SQL2008
Llavesprimarias(primarykeys)yforneas(foreignkeys)
Check,UniqueyNotnullconstraints
Restriccionesdeunicidadpostergables(deferrableconstraints)
Columnasautoincrementales
Indicescompuestos,nicos,parcialesyfuncionalesencualquieradelosmetodosdealmacenamientodisponibles,Btree,R
tree,hashGiST
Subselects
Consultasrecursivas
Funciones'Windows'
Joins
Vistas(views)
Disparadores(triggers)comunes,porcolumna,condicionales.
Reglas(Rules)
Herenciadetablas(Inheritance)
EventosLISTEN/NOTIFY

Programacin/Desarrollo

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/2
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

SQL

AlgunosdeloslimitesdePostgreSQLson:

Lmite Valor
Ilimitado(Dependedetusistemade
Mximotamaobasededato
almacenamiento)
Mximotamaodetabla 32TB
Mximotamaodefila 1.6TB
Mximotamaodecampo 1GB
Mximonmerodefilasportabla Ilimitado
Mximonmerodecolumnaspor
2501600(dependiendodeltipo)
tabla
Mximonmerodendicespor
Ilimitado
tabla

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 2/2
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.4.2.DDL:LenguajedeDefinicindeDatos

ElLenguajedeDefinicindeDatos(DataDefinitionLanguageDDL),sirveparamodificarlaestructuradelosobjetosenunabase
dedatos.Estassentenciasbsicamenteson:CREATE,ALTER,DROPyTRUNCATE.Acontinuacininiciaremosconlacreacinde
unabasededatos.

Creacindebasededatos(DATABASE):

Sintaxis:

CREATEDATABASEname[WITHLOCATION=dbpath

Ejemplo:

CREATEDATABASEBDPEDIDOSTEMPLATEtemplate0

Con la lnea CREATE DATABASE BDPEDIDOS TEMPLATE template0 se crea una tabla a partir de una plantilla que trae
PostgreSQLllamadatemplate0,elcualnoscrealabasededatostotalmentevaca.

Creacindeesquemas(SCHEMAS):

Losesquemassonimportantesparaagruparobjetossegnespecificaciones,yalmantenerorganizadolabasededatospermiteun
mejordesempeoalmomentodelaadministracin.

Sinoseleasignaunesquemaalobjeto,PostgreSQLloasignarimplcitamentealesquemapublic.Paradefinirqueunobjeto
pertenezcaaunesquemaseponeelnombredelesquemaseguidoporunpuntoyelnombredelobjeto.

CREATESCHEMAempleado

CREATESCHEMAcliente

Creacindesecuencias(SEQUENCE):

CREATESEQUENCEPersona.seq_idcontactoSTART1empiezadesde1

CREATESEQUENCEAdmision.seq_idmodalidadSTART1empiezadesde1

Creacindetablas(TABLES):

Sintaxis:

CREATE[TEMPORARY|TEMP]TABLEtable(columntype[NULL|NOTNULL][UNIQUE][DEFAULTvalue]
[column_constraint_clause|PRIMARYKEY}[...]][,...][,PRIMARYKEY(column[,...])][,CHECK(condition)][,
table_constraint_clause])[INHERITS(inherited_table[,...])]

Ejemplo:

createtableusuario(idcatrgoriaintnotnulldefaultnow)

Creacinderestricciones(CHECK):

LosvaloresdentrodeCHECK,porejemploCHECK(Generoin(1,2,3,4,)),sonlosnicosquesernpermitidosinsertarenel
campoestablecido,enestecasoseleasignaesarestriccinalcampoGenero.

Ejemplo:

ALTERTABLEempleado

ADDCONSTRAINTck_Reporta

CHECK(reporta_ain(1,2,3,4,))

Creacinderestricciones(UNIQUE):

LasrestriccionesUNIQUE,porejemploUNIQUE(nombreprov),aseguranqueenlosdatosenlamismacolumna,enestecasoenel
camponombreprov,noseanrepetidas,yaquenopuedehaberregistradas2nombresdeproveedoresconelmismonombre.

Sintaxis:
https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/2
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&
CREATE[UNIQUE]INDEXnombre_indiceONtabla[USINGnombre_acceso](columna[nombre_operador][,...])

Ejemplo:

ALTERTABLEProveedores

ADDCONSTRAINTuq_nombre

UNIQUE(nombre)

Creacindeclavesprimarias(PRIMARYKEYS):

Lasclavesprimarias,apartedeprevenirladuplicidaddedatos,yservircomonexopararelacionarseconotrastablas,tieneotrofin
tambinimportante,queesagilizarelprocesodebsqueda,noporelhechodeserprimarykey,sinoquealmomentodelacreacin
deunaclaveprimariasecreaimplcitamenteunndice(index).

Sintaxis:

[CONSTRAINTname]{[NULL|NOTNULL]|PRIMARYKEY}[,...]

Ejemplo:

ALTERTABLEProveedores

ADDCONSTRAINTpk_idproveedor

PRIMARYKEY(idproveedor)

Creacindeclavesforneas(FOREIGNKEYS):

Lasclavesforneassoncamposqueservirnparalarelacinentre2tablas,laclaveprimariadeotratablaserelacionarconla
claveforneadesta.

Ejemplo:

ALTERTABLEproducto

ADDCONSTRAINTfk_idproveedor

FOREIGNKEY(idproveedor)

referencesProveedor(idproveedor)

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 2/2
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.4.3.DML:LenguajedeManipulacindeDatos

EllenguajedeManipulacindeDatos(DataManipulationLanguageDML)sirveparallevaracabolastransaccionesenlasbasede
datos,entindaseportransaccioneslosprocesosdeinsercin,actualizacin,eliminacin,seleccin.Paramayorexplicacinse
exponelossiguientesejemplosusandolabasededatosPEDIDOS:ListardatosdeProductos

Sintaxis:

SELECT[ALL|DISTINCT[ON(expression[,...])]]expression[ASname][,...][INTO[TEMPORARY|TEMP][TABLE]
new_table][FROMtable[alias][,...]][WHEREcondition][GROUPBYcolumn[,...]][HAVINGcondition[,...]][{UNION[ALL]|
INTERSECT|EXCEPT}select][ORDERBYcolumn[ASC|DESC|USINGoperator][,...]][FORUPDATE[OFclass_name[,...]
]]LIMIT{count|ALL}[{OFFSET|,}start]

Ejemplo:

Select*fromproducto//Selistatodosloselementosdeunatabla//

Selectidproducto,descripcion,existenciafromproducto//Selistaciertoscamposdeunatabla//

InsertardatosenProductos

Sintaxis:

INSERTINTOtable[(column[,...])]{VALUES(expression[,...])|SELECTquery}

Ejemplo:

INSERTINTOproducto

VALUES(10,"Leche",3.00,50,2,3)

SELECT*FROMproductoComprobarlaInsercin

ActualizardatosenCliente

Sintaxis:

UPDATEtablaSETcolumna=expresion[,...][FROMlista][WHEREcondicion]

Ejemplo:

UPDATEproductosetexistencia=30whereidproducto=10

SELECT*FROMproductoComprobarActualizacin

EliminardatosenClientes

Sintaxis:

DELETEFROMtable[WHEREcondition]

Ejemplo:

DELETEFROMclienteWHEREidcliente=1

SELECT*FROMclienteComprobarEliminacin

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.4.4.Scriptdebasededatos

UnavezterminadalainstalacindelDBMSdePostgreSQL,ahorapodemosingresarelcdigoSQL,elcualtieneunainterfazmuy
similaraladelSQLSever2008.

Sigueelsiguientelinkparaverelvideodelcualteguiarspararealizartubasededatos:http://www.youtube.com/watch?
v=g4DIBxp94_k

AcontinuacinlesmuestroelscriptdelabasededatosllamadaBDPEDIDOS.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.4.5.CopiasdSeguridaddeBasededatos

Esimportanterealizaralmenos1vezporsemanaunrespaldodenuestrabasededatosquecontienetodosnuestrosmanifiestosde
carga.

InicieelprogramapgAdminIIIyconctesecomousuariopostgres.Ahoraseleccionelabasededatosarespaldar,enesteejemplo
navieroyhagaclickconelbotnderechoyseleccioneBACKUP.

Haga click para seleccionar la carpeta y nombre del archivo que contendr el respaldo que vamos a realizar. En este ejemplo
C:\TMPyelnombredelarchivorespaldonaviero.Elprogramaasignapordefaultlaextensinbackup.Yhagaclicksobreelbotn
OKparaefectuarelrespaldo.

Aparecelapantallaconfirmandolarealizacindelrespaldo.HagaclickenelbotnDoneparafinalizarelrespaldo.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

1.4.6Restaurarunabasededatos

InicieelprogramapgAdminIIIyconctesecomousuariopostgres.Seleccionedelalistalabasededatosarestaurarydeleclick
conelbotnderechoyseleccioneRestore.

Seleccionelacarpetayelarchivoquecontieneelrespaldodelabasededatos.SeleccioneelbotnOKparainiciarlarestauracin
denuestrabasededatos.

Aparecelaventanaconelmensajedelarestauracin.AhoradeleclickalbotnCancelparaterminarlarestauracindelabasede
datos.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/2
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 2/2
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

ReferenciasBibliogrficas

SubrahmanyamAllamaraju,CedricBeust,JohnDavies,TylerJewell,
RodJohnson,AndrewLongshaw,...DanielOConnor.(2002).
ProgramacinJavaServerconJ2EEEdicin1.3.Recuperadode
http://depositfiles.org/files/953gv1t2j

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

Lecturasrecomendadas(paraampliarconocimientosdelaprimerasemana)

Documento1:"Instalandonuestrogestordebasededatos"

Direccin1:InstalacindePostgresql.pdf

BreveDescripcin:EnstemanualencontrarncmoseinstalaPostgreSQL9.2enWindows,crearunabasededatosylas
tablasconsusatributos,conloquepodemosejecutarelScriptycrearlabasededatosrpidamenteyelaborarprocedimientos
almacenados.

Documento2:"ConsultascomplejaslgebraRelacional"

Direccin2:http://www.postgresql.org.es/node/352

BreveDescripcin:ElpresenteartculocontienelasoperacionesmsimportantesdellgebrarelacionalenPostgreSQL
como:Unin,Interseccin,diferencia,productocartesiano,yotrosquepodrnencontrarenelenlace.Tambintienenejemplos
paracomplementarsuaprendizajeenstasemanadeaprendizaje.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

Conclusiones(delaprimerasemana)

Enstaprimerasemanaseestudielcontextogeneraldelasituacinynecesidadesdelaempresaactual,enlaque
podemosencontrarquehaydiversidaddeinformacindebidoala
complejidaddelosprocesoseconmicosydestadesprendela
necesidaddeaplicacionesparacadatipodeinformacindelos
procesosenlempresa.
Tambinsedescribilasdiferentesarquitecturasdedesarrollode
aplicacionesdeempresaenlasquetenemos:Arquitecturaendos,tresy
ncapas,lascualesseajustanalasnecesidadesdelaempresa.
Sedescribilaplataformadedesarrolloenlaquesebaseelcurso,en
lasplataformasdePostgreSQLcomogestordebasededatos,el
conectorJDBCquenospermitirconectarnuestraaplicacinconla
basededatosyrealizarconsultas,recuperacinymanipulacinde
datos.
SedescribilabasededatosrelacionalPostgreSQLyloslenguajesde
manipulacin,consultasydefinicindedatosquenosayudacrear
nuestrabasededatos,crearnuestrastablas,insertardatosygestionar
lainformacin,complementandoastainformacinsereferenciun
videoparaayudaraldesarrollodestetema.

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&

Metacognicin(delaprimerasemana)

Teinvitoaquerespondaslassiguientespreguntasyreflexionessobre
loaprendidoparaqueidentifiquestushabilidadesyesfuerzo
intelectualquetuviste.

Delatemticaabordadaquecontenidossetehicieronunpoco
difcilesdeaprender?

Teparecequeloscontenidosabordadosenstasemanate
ayudaronaaprender?

Qupartedelcontenidotetommstiempoaprender?

Tuvistedificultadconalgntemaoactividad?Cmolos
solucionaste?

Quaccionesrealizasteparaaprender?

https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529&currentorg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1

También podría gustarte