Documentos de Académico
Documentos de Profesional
Documentos de Cultura
a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&d
Mapaconceptualreferidoaltema
https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&d
1.2.EstilosdeArquitecturadeempresa
https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
201769 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&
1.3.PlataformadeDesarrollo
https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&
1.4.BasedeDatosRelacional
https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/2
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 2/2
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/2
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 2/2
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/2
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&
https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 2/2
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1
2017610 https://www.aulauss.edu.pe/mod/scorm/player.php?a=33529¤torg=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¤torg=eXeSemana_152406c1c20ac5bf17c70&scoid=768297&sesskey=lfoXzSoWBk&display 1/1