Documentos de Académico
Documentos de Profesional
Documentos de Cultura
AD01 Contenidos PDF
AD01 Contenidos PDF
AD01_Contenidos
Introduccinalaccesoadatos.
Casoprctico
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
1/29
12/12/2016
AD01_Contenidos
1.Introduccin.
Iniciamos esta primera unidad del mdulo Acceso a datos, en el que
veremos la gran variedad de mtodos de acceso a datos que tenemos en el
panoramaactual.
Los contenidos del mdulo son eminentemente prcticos, y los ejemplos
estarn basados en Java. Utilizaremos como entorno de programacin
NetBeans, por coherencia con otros mdulos del ciclo y por ser ambos
gratuitos.Adems,NetBeansesunentornomuypotenteyfcildeusar,silo
comparamosconotrosentornosdedesarrollo.
Pero,aqunosreferimoscuandohablamosdeaccesoadatosenunaaplicacininformtica?
Podemosafirmarqueenlainmensamayoradeaplicacionesinformticassepuedendiferenciar,agrandesrasgos,
endospartes:
Por un lado, el programa propiamente dicho, que realiza las operaciones deseadas con los datos
necesarios.
Porotrolado,losdatos con los que opera le programa. Esos datos pueden ser obtenidos por el programa
mediante diversos mtodos: ledos mediante teclado, escaneados, ledos de algn soporte de
almacenamientosecundario,etc.
En la mayora de los casos, cuando programamos, nos interesa que el programa guarde los datos que le hemos
introducido, o los resultados que dicho programa haya obtenido, de manera que si el programa termina su
ejecucin, los datos no se pierdan y puedan ser recuperados posteriormente, es decir, persistan. Una forma
tradicional de hacer esto es mediante la utilizacin de ficheros o de bases de datos que se guardarn en un
dispositivodememorianovoltil(normalmenteundisco).
Te habrs dado cuenta de que el almacenamiento en memoria RAM, mediante variables o vectores, es temporal,
los datos se pierden cuando el programa termina. Quizs te habr pasado alguna vez que, debido a un apagn
elctrico,hasperdidoeltrabajoqueestabas haciendo, que todava no habas grabado. Los datos que se guardan
enalmacenamientosecundario,comoficherosobasesdedatos,sedenominandatospersistentes,porqueexisten,
opersistenmsalldelaejecucindelaaplicacin.
Esealmacenamientosecundariodedatosqueacabamosdemencionar,habitualmentesueleconsistirenunabase
dedatosrelacional,sibien,aveces,hayotrosmtodosdealmacenamiento,yportanto,mtodosdeaccesoaesos
datos.Deconoceresostiposdealmacenamientoycmoaccederaellosesdeloquetrataestemdulo.
Enestaunidadinicial,vasaverunapanormicadelosdiversosmtodosdepersistencia que encontramos en el
mercado.
Autoevaluacin
Sealalaopcincorrecta.Paraalmacenardatosdemanerapersistentenoutilizaremos:
Ficherosdetexto.
Basesdedatosorientadasaobjeto.
MemoriaRAM.
Parasaberms
EnestemduloyenelcicloengeneralnosdecantamosporJava.OtratecnologaalternativaaJavaes
.NET.SiquieressabersobreellavisitaelsiguienteenlacedelaUniversidaddeGranada:
.NET
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
2/29
12/12/2016
AD01_Contenidos
2.Accesoadatos.
Casoprctico
Haydiversasestrategiasdeaccesoadatosparagestionarlapersistenciadelosdatos:
Medianteficheros.
Basesdedatos,quepuedenser:
Relacionales,
Orientadasaobjetos,
Objetorelacionales.
Mapeoobjetorelacional(ORM).
BasesdedatosXML(eXtensibleMarkupLanguage).
Componentes.
Al principio, en los primeros tiempos de la informtica, los datos se guardaban en
ficheros convencionales. Con el tiempo, y la experiencia de trabajar con dichos
ficheros,seobservaronlosinconvenientesdelosficheros,yparaintentarsolucionarlos
inconvenientes que se observaron surgieron las bases de datos, que entre otras
ventajaspermitan:
Eliminarelproblemadelainformacinredundante.
Eliminarinformacininconsistente.
Globalizarocentralizarlainformacin.
Garantizar el mantenimiento de la integridad en la informacin. nicamente se almacena la informacin
correcta.
Independencia de datos. La independencia de datos implica una separacin entre programas y datos, es
decir,sepuedenhacercambiosenlainformacinquecontienelabasededatos,oteneraccesoalabasede
datosdediferentemanera,sintenerquehacercambiosenlasaplicacionesoenlosprogramas.
Autoevaluacin
Unodelosobjetivosdelasbasesdedatosesqueuncambioenlosdatosimpliquecambiarel
programadeaccesoalosmismos.
Verdadero.
Falso.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
3/29
12/12/2016
AD01_Contenidos
2.1.Questrategiaomtododeaccesoadatosusar.
Posteriormente, con la aparicin y expansin de la programacin orientada a
objetos, empezaron a surgir las Bases de datos orientadas a objetos, y
tambin se ampliaron algunas bases de datos relacionales, aadindoles
extensionesdeorientacinaobjetos.
Entonces qu mtodo de acceso a datos es mejor? Cul deberas utilizar
enlaprximaaplicacinqueconstruyas?
Pues...,nohayunarespuestafcilparaesaspreguntas,nosepuedeafirmar
que haya un mtodo que sea el mejor de manera absoluta. Ms bien, la
cuestin es tener claro qu tipo de aplicacin hay que construir y, segn eso,
estudiarqutipodesistemadealmacenamientosermejorusar:siunabase
dedatosorientadaaobjetos,ounabasededatosXML,etc.
Conociendoelfuncionamientodelasdiferentesalternativaspodemoscompararsusprestacionesalproblemadela
persistencia concreto que se nos presente. Cada una de las tecnologas tiene su propio origen y filosofa para
alcanzar el mismo fin y, por esta razn, no es fcil analizar sus ventajas y desventajas frente a las dems
alternativas.
Por poner un ejemplo, lo ms sencillo posible: si voy a crear una base de datos para guardar mi coleccin de
vdeos,probablementenomevaainteresarutilizarunabasededatosOracle,sinounproductomuchomsbarato,
ysencillodeinstalarymantener.
Autoevaluacin
Seala la opcin correcta. La mejor opcin para lograr la persistencia de los datos de una
aplicacines:
Utilizarunabasededatosrelacional.
Emplearbasesdedatosorientadasaobjeto.
Usarficherosdebajonivel.
Dependerdelasalternativasquehayaydelsistemadeinformacinenestudio.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
4/29
12/12/2016
AD01_Contenidos
3.Ficheros.
Casoprctico
Enlasantiguasaplicacionesinformticas,antesdequesurgieranlasbases
dedatos,lainformacinseguardabaenficheros.
As, por ejemplo, una aplicacin que guardaba los datos de personas,
almacenaba dichos datos en un fichero convencional cuyo contenido bien
podasereste:
AntonioPrezPrez30C/Moralesn11MadridMadrid
FelicianoGmezSander25C/Terrerosn121VitoriaVitoria
ArturoBuenoHernndez46C/Cocolison43MurciaMurcia
...
Esto tena como efecto, que el programador de las aplicaciones que usaran ese fichero, tuviera que construir el
programa conociendo detalladamente las posiciones de los datos, para saber desde qu posicin hasta qu otra
posicin, se guardaba el nombre y apellidos, etc. Adems, tendra que controlar si se guardan filas de datos
duplicadas,yasunmontndeinconvenientes.Poreso,cuandosurgieronlas bases de datos, se empez a dejar
deusarlosficherosconvencionales.
Pero bien es cierto, que an en las ms modernas aplicaciones, a veces necesitamos un simple fichero para
guardarinformacin,comoporejemplounficherodeconfiguracin,ounficherolog.Esdecir,nosiemprenoshace
faltaunabasededatosparaalmacenarlainformacin.
En Java, como en otros lenguajes de programacin, hay diversas clases para el manejo de ficheros, pues, como
hemosdicho,avecessonmuytiles.Paraguardarpocainformacin,esmejorusarlosqueusarotromtodo.
Reflexiona
Antiguamente, en el inicio de la informtica, cuando no existan los discos duros, ni los ficheros, los
datos y los programas se almacenaban en tarjetas perforadas. En esta entrada de blog tienes un
ejemplo.
Tarjetasperforadas
Enlosaosochenta,losdatosyprogramassealmacenabanenficherosystos,ensoportescomolas
cintas de casete, las cintas de msica antiguas. Como ancdota, mira el vdeo promocional del
ordenadorZXSpectrum+2,queincorporabaunlectordecasetes:
Spectrum+2
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
5/29
12/12/2016
AD01_Contenidos
Resumentextualalternativo
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
6/29
12/12/2016
AD01_Contenidos
3.1.Usoficherosenlaactualidad.
Hayquetenerencuenta,quelosficherosens,paragrabarlainformacindel
modo que ponamos como ejemplo anteriormente, en el ejemplo de las
personas, ya no se usan. Pero, s que se usan ficheros que guardan datos
siguiendo un patrn o estructura bien definida, en otros mtodos de
almacenamiento,comoporejemploenficherosyenbasesdedatosXML.
De especial inters y uso cada vez ms extendido, son los ficheros XML.
stos son archivos de texto que por consiguiente no necesitan un software
propietarioparaserinterpretados,comoocurreconlamayoradelosarchivos
binarios,ytienennormalmentelaextensinxml.
Tambindebemostenerencuenta,quelasbasesdedatosrelativamentemodernas,comosonlasbasesdedatos
XML,guardansusdatosempleandoficherosxml.
Por eso, en muchas ocasiones se recurre a utilizar este tipo de soluciones, el uso de ficheros en vez de bases de
datos,yenparticulardeficherosXML cuando se necesita intercambiar informacin a travs de varias plataformas
dehardwareodesoftware,odevariasaplicaciones.AvecesseexportadeunabasededatosaficherosXMLpara
trasladarlainformacinaotrabasededatosqueleeresosficherosXML.
PorestaraznseempleaXMLentecnologasdecomunicacincomo,porejemplo,enWML(lenguajedeformato
inalmbrico)yWAP(protocolodeaplicacionesinalmbricas).
LafcilestructuracindelainformacinenlosficherosXMLhapermitidoquesurjanmuchaslibrerasdeconversin
de la informacin almacenada a otros formatos como a PDF, texto, hojas de clculo, etc. Hay muchos productos
propietariosyde
cdigoabierto.
Autoevaluacin
Sealalaopcincorrecta.Respectoalosficherospodemosasegurarque:
Nuncaesbuenoutilizarlos.
Losficherosxmlyaestnendesuso.
Dependedelaaplicacin,puedequeenalgncasoseandeutilidad.
Fueronreemplazadosporelformatopdf.
Parasaberms
EnelsiguienteenlacetienesuntutorialdeintroduccinallenguajeXML:
TutorialXML
Hemos mencionado el cdigo abierto. En el siguiente enlace puedes ver una entrevista a Richard
Stallman,impulsordelmovimientodelsoftwarelibre.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
7/29
12/12/2016
AD01_Contenidos
Resumentextualalternativo
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
8/29
12/12/2016
AD01_Contenidos
4.Basesdedatos.
Casoprctico
Juan,despusdelareuninquehantenido,sigueconsutrabajo.
Actualmente est trabajando en un proyecto, desarrollando unas
mejoras, en una aplicacin informtica que gestiona una cadena
de farmacias. En esas farmacias, guardan los datos en una base
de datos relacional. Entre algunos de los datos, destacan los
productos que venden, con sus precios, stock actual, precio de
compra, etc. Juan opina tras estudiar la situacin, que tal y como
funciona el sistema, esa base de datos que usan est bien
diseada y no requerir tocarla para nada, tan solo tendr que
conocer bien su estructura para programar las mejoras que
necesitan.
Quizshayasestudiadoyaelmdulodebasesdedatos.Tantosiesascomo
sino,recordamosaququesunsistemadebasesdedatos.Es:
Un
sistema de informacin orientado hacia los datos, que pretende
recuperaryalmacenarlainformacindemaneraeficienteycmoda.
Surge en un intento de resolver las dificultades del procesamiento
tradicional de datos, teniendo en cuenta que los datos suelen ser
independientesdelasaplicaciones.
Citasparapensar
Elige por maestro aquel a quien admires, ms por lo que en l vieras, que por lo que
escucharasdesuslabios.
Sneca.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
9/29
12/12/2016
AD01_Contenidos
4.1.Introduccin.
Las ventajas que aportan los sistemas de bases de datos respecto a los
sistemasdearchivosconvencionalesson:
Independencia de los datos respecto de los procedimientos. El
usuario tiene una visin abstracta de los datos, sin necesidad de
ningn conocimiento sobre la implementacin de los ficheros de
datos, ndices, etc. Esto supone un gran ahorro en los costes de
programacin, de forma que la modificacin de la estructura de los
datosnosupongauncambioenlosprogramasyviceversa.Sinella,
el mantenimiento de la base de datos ocupara el 50% de los
recursoshumanosdedicadosaldesarrollodecualquieraplicacin.
Disminucindelasredundanciasyenconsecuencia,
Disminucindelaposibilidaddequeseproduzcainconsistenciadedatos.
Mayor
integridaddelosdatos.
Mayordisponibilidaddelosdatos.
Mayorseguridaddelosdatos.
Mayorprivacidaddelosdatos.
Mayoreficienciaenlarecogida,codificacinyentradaenelsistema.
Loquesesueledenominarinterfazconelpasadoyfuturo:unabasededatosdebeestarabiertaareconocer
informacinorganizadafsicamenteporotrosoftware.
Comparticin de los datos. Los datos deben poder ser accedidos por varios usuarios simultneamente,
teniendoprevistosprocedimientosparasalvaguardarlaintegridaddelosmismos.
Podemosafirmargeneralizando,queseusaunsistemadeficherosconvencionalcuandolacantidaddedatosa
guardarestanreducidaquenojustificalasdesventajasdelusodelossistemasdebasesdedatos.Porejemplo,
paraguardarlosdatosdelresultadodelainstalacindeunprograma,usamos un fichero de texto, no se guardan
losdatosenunabasededatos.
Autoevaluacin
Sealalaopcincorrecta.Elusodebasesdedatosprovocaqueelusuario:
Debagestionarlasposiblesredundanciasenlosdatos.
Conozcalaestructuradelosficherosndicedelabasededatos.
Tengaqueimplementarlosprocedimientosdeseguridadenlabasededatos.
Ningunaescorrecta.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
10/29
12/12/2016
AD01_Contenidos
4.2.Basesdedatosrelacionales.
Probablemente habrs cursado ya el mdulo de bases de datos, si es
as, e incluso si no lo es, quizs sepas que el modelo de bases de
datosrelacionalfuepropuestoen1969porEdgarCodd.
Elpropsitodelmodelorelacionalesproporcionarunmtododeclarativo
paraespecificardatosyconsultas.As,eneldiseodelabasededatosestablecemosquinformacincontendr
dichabasededatos,luegorecuperaremoslainformacinquequeramos,ydejamosalsoftwaredelsistemagestor
de la base de datos que se ocupe de: describir las estructuras de datos para almacenarlos, y gestionar los
procedimientosderecuperacinparaobtenerlasconsultasdeseadas.
Las bases de datos relacionales son adecuadas para manejar grandes cantidades de datos, compartir datos entre
programas, realizar bsquedas rpidas, etc. Pero tienen como desventaja fundamental que no presentan un buen
modelodelasrelacionesentrelosdatos,yaquetodoserepresentacomotablasbidimensionales,osea,enfilasy
columnas.
Podemosdecirdelasbasesdedatosrelacionalesque:
Estnmuyextendidas.
Sonmuyrobustas.
Permiteninteroperabilidadentreaplicaciones.
Permitenunaformadecompartirdatosentreaplicaciones.
Son el comn denominador de muchos sistemas y tecnologas. Una base de datos puede ser utilizada en
programasrealizadosenJava,oenC++,etc.
Otrosmodelostradicionales
Cuando se estudian las bases de datos relacionales, se suelen mencionar tambin los modelos jerrquico y en
red.Algunossistemasantiguosutilizantodavaestasarquitecturas,encentrosdedatosdondesemanejangrandes
volmenes de informacin y la complejidad de los sistemas hace prohibitivo el coste que supondra migrar a
sistemasqueutilizaranotromodelocomoelrelacional.
El modelo relacional fue el primer modelo de bases de datos definido de manera formal. Posteriormente, se
formularonmodelosinformalesparadescribirbasesdedatosjerrquicas(elmodelojerrquico)ybasesdedatosen
red (el modelo en red). Ambas, las bases de datos jerrquicas y en red existan antes que las bases de datos
relacionales,perofuerondescritascomomodelodespusdequeelmodelorelacionalfueradefinido.
Parasaberms
Enestapresentacinpuedesveralgomssobrelosmodelosenredyjerrquico.
Basesdedatos.Modelosenredymodelojerrquico (1.58MB)
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
11/29
12/12/2016
AD01_Contenidos
4.3.Basesdedatosorientadasaobjetos(I).
El origen de las Bases de datos orientadas a objetos (en adelante:
BDOO)sedebebsicamentealassiguientesrazones:
La existencia de problemas al representar cierta informacin y
modelar ciertos aspectos del mundo real. Los modelos clsicos
permiten representar gran cantidad de datos, pero las
operacionesyrepresentacionesquesepuedenrealizarsobreellos
sonbastantesimples.
Pasar del modelo de objetos al modelo relacional, para
almacenar la informacin, genera dificultades que en el caso de
lasBDOOnosurgen,yaqueelmodeloeselmismo.Esdecir,los
datos de los programas escritos en lenguaje orientado a objetos
sepuedenalmacenardirectamente,sinconversinalguna,enlas
BDOO.
Los sistemas de bases de datos orientadas a objetos soportan un modelo de objetos puro, ya que no estn
basadosenextensionesdeotrosmodelosmsclsicoscomoelrelacional.
Por ello, una caracterstica general es que el lenguaje de programacin y el esquema de la base de datos
utilizanlasmismasdefinicionesdetipos.
Parasaberms
En este enlace est le manifiesto original de Malcolm Atkinson sobre las caractersticas que debe
cumplirunsistemadebasesdedatosorientadoaobjetos.
Manifiestooriginal(eningls). (0.19MB)
Acontinuacin,seresumeelmanifiesto.
Resumendelmanifiesto.
Resumentextualalternativo
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
12/29
12/12/2016
AD01_Contenidos
4.3.1.Basesdedatosorientadasaobjetos(II).
Elaccesoalosdatospuedesermsrpidoconlasbasesdedatosorientadas
a objetos que con las bases de datos tradicionales porque no hay necesidad
de utilizar las uniones o joins, que si se necesitan en los esquemas
relacionales tabulares. Esto se debe a que un objeto puede recuperarse
directamentesinunabsqueda,simplementesiguiendopunteros.
Cadavezms,lasnecesidadesdelasaplicacionesactualesconrespectoalas
basesdedatosson:
Soporteparaobjetoscomplejosydatosmultimedia.
Jerarquasdeobjetosotiposyherencia.
Gestindeversiones.
Modelosextensiblesmediantetiposdedatosdefinidosporelusuario.
Integracindelosdatosconsusprocedimientosasociados.
Manipulacinnavegacional(envezdedeclarativa)ydeconjuntoderegistros.
Interconexineinteroperabilidad.
ComoejemplosdeSistemasGestoresdeBasesdedatosOrientadosaObjetospodemossealar:
Jasmine
BasededatosJasmine
ObjectStore
BasededatosObjectStore
GemStone
BasededatosGemstone
Parasaberms
En este enlace puedes ver la definicin de interoperabilidad, y tambin sobre la gestin de versiones,
segnlawikipedia.
Definicindeinteroperabilidad
Gestindeversiones
Autoevaluacin
Sealalasopcionescorrectas.Lasbasesdedatosorientadasaobjetos:
Presentanconceptosdeorientacinaobjetoscomolaherencia.
Tienenelmismotipodeproblemasquelasrelacionales.
Nopermitenlamanipulacinnavegacional.
Debenpermitirelcontroldeversiones.
MostrarInformacin
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
13/29
12/12/2016
AD01_Contenidos
4.4.Comparativaentrebasesdedatosrelacionalesyorientadasa
objetos.
Ennumerososbancosdepruebasrealizadosparacompararlossistemasdebasesde
datos orientados a objetos (ODBMS) y los sistemas de bases de datos relacionales
(RDBMS),sehamostradoque los ODBMS pueden ser superiores para ciertos tipos
detareas.
La explicacin a esto es que muchas operaciones se realizan utilizando interfaces
navegacionales ms que declarativos, y el acceso a datos navegacional es
normalmenteimplementadomuyeficientemente.
Un buen argumento a favor de las bases de datos orientadas a objetos es la
transparencia (no ensucia la construccin de una aplicacin). El desarrollador as se
debepreocupardelosobjetosdesuaplicacin,enlugardecmolosdebealmacenar
yrecuperardeunmediofsico.
PodemosdecirquelasventajasdeunSGBDOOfrentealasrelacionalesson:
Permiten mayor capacidad de modelado. El modelado de datos orientado a objetos permite modelar el
mundorealdeunamaneramuchomsfiel.Estosedebea:
unobjetopermiteencapsulartantounestadocomouncomportamiento
unobjetopuedealmacenartodaslasrelacionesquetengaconotrosobjetos
losobjetospuedenagruparseparaformarobjetoscomplejos(herencia).
Extensibilidad,debidoaque:
Sepuedenconstruirnuevostiposdedatosapartirdelosyaexistentes.
Podemos agrupar propiedades comunes de diversas clases e incluirlas en una superclase, lo que
reducelaredundancia.
Tenemos reusabilidad de clases, lo que repercute en una mayor facilidad de mantenimiento y un
menortiempodedesarrollo.
Disposicin de un lenguaje de consulta ms expresivo. El
acceso navegacional desde un objeto al
siguienteeslaformamscomndeaccesoadatosenunsistemagestororientadoaobjetos.Mientras que
SQL utiliza el acceso declarativo. El acceso navegacional es ms adecuado para gestionar operaciones
talescomoconsultasrecursivas,etc.
Adaptacinaaplicacionesavanzadasdebasededatos.Haymuchasreasenlasquelasbasesdedatos
relacionalesnohantenidoexcesivoxito,comoeselcasodeensistemasdediseoCAD,CASE, sistemas
multimedia,etc.enlosquelascapacidadesdemodeladodelosSGBDOOhanhechoqueesossistemass
resultenefectivosparaestetipodeaplicaciones.
Prestaciones. Los sistemas gestores de bases de datos orientadas a objetos proporcionan mejoras
significativas de rendimiento con respecto a los SGBD relacionales. Aunque hay autores, que han
argumentado que los bancos de prueba, usados en dichas pruebas, estn dirigidos a aplicaciones de
ingeniera donde los SGBDOO son ms adecuados. Tambin est demostrado, que los SGBDR tienen un
rendimiento mejor que los SGBDOO en las aplicaciones tradicionales de bases de datos como el
procesamientode
transaccionesenlnea(OLTP).
Reglasdeacceso.Enlasbasesdedatosrelacionales,alosatributosseaccedeysemodificanatravsde
operadoresrelacionalespredefinidos.Enlasorientadasaobjetosseprocedemediantelasinterfacesquese
creen a tal efecto de las clases. Desde este punto de vista, los sistemas orientados a objetos dan
independenciaacadaobjetoqueelsistemarelacionalnopermite.
Clave.Enelmodelorelacional,lasclavesprimariasgeneralmentetienenunaformarepresentableentexto,
sinembargolosobjetosnonecesitanunarepresentacinvisibledelidentificador.
Parasaberms
Enestadireccinpuedesvermsinformacinsobrelasbasesdedatosorientadoaobjetos.
Basesdedatosorientadasaobjetos. (0.15MB)
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
14/29
12/12/2016
AD01_Contenidos
Reflexiona
Puedes ver un poco sobre la vida de Edgar F.Codd, el "padre" del modelo relacional en el siguiente
enlace.
EdgarF.Codd.
Autoevaluacin
Sealalaopcincorrecta.Lasbasesdedatosorientadasaobjetossonmsrecomendables
quelasrelacionales:
Siempre.
Cuando necesitamos la mayor cercana al mundo real, la mayor capacidad de modelado,
comoensistemasCAD/CAM.
Enaplicacionesdesistemasdecontrol.
Enprogramasdecontroldestock.
Parasaberms
EnlasiguientewebpuedesveruncursointroductoriosobreSQL.
CursodeSQL
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
15/29
12/12/2016
AD01_Contenidos
4.4.1.Desventajasdelasbasesdedatosorientadasaobjetosfrentealas
relacionales.
Como desventajas o puntos dbiles de las BBDDOO respecto a las relacionales
podemosmencionar:
Lareticenciadelmercado,tantoparadesarrolladorescomousuarios,aeste
tipodebasesdedatos.
Carencia de un modelo de datos universal. No hay ningn modelo de
datos que est universalmente aceptado para los SGBDOO y la mayora de
losmodeloscarecendeuna base terica. El modelo de objetos an no tiene
unateoramatemticacoherentequelesirvadebase.
Carenciadeexperiencia.Alserunatecnologarelativamentenueva,todava
no se dispone del nivel de experiencia del que se dispone para los sistemas
relacionales.
Panorama actual. Tanto los sistemas gestores de bases de datos como los sistemas gestores de bases
dedatosobjetorelacionalesestnmuyextendidos.SQLesunestndaraprobadoyODBCyJDBC son
estndaresdefacto.Adems,elmodelorelacionaltieneunaslidabasetericaylosproductosrelacionales
disponen de muchas herramientas de soporte que sirven tanto para desarrolladores como para usuarios
finales.
Dificultades en optimizacin. La optimizacin de consultas necesita realizar una compresin de la
implementacin de los objetos, para poder acceder a la base de datos de manera eficiente. Sin embargo,
estocomprometeelconceptode
encapsulacin.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
16/29
12/12/2016
AD01_Contenidos
4.5.Basesdedatosobjetorelacionales.
EntendemosBasedeDatosObjetoRelacional (BDOR), una base de datos que ha evolucionado desde el modelo
relacional a otro extendido que incorpora conceptos del paradigma orientado a objetos. Por tanto, un Sistema de
GestinObjetoRelacional(SGBDOR)contieneambastecnologas:relacionalydeobjetos.
EnunaBasedeDatosObjetoRelacionaleldiseadorpuedecrearsuspropiostiposdedatosycrearmtodospara
esostiposdedatos.
Porejemplo,podramosdefiniruntipodelasiguientemanera:
CREATETYPEpersona_tASOBJECT(
nifVARCHAR2(9),
nombreVARCHAR2(30),
direccionVARCHAR2(40),
telefonoVARCHAR2(15),
fecha_nacDATE);
Porponerunejemplo,siconsideramoslabasededatosOracle,debido
a los requerimientos de las nuevas aplicaciones, el sistema de gestin
de bases de datos relacional desde versin 8i fue extendido con
conceptos del modelo de bases de datos orientadas a objetos. De esta
manera,aunquelasestructurasdedatosqueseutilizanparaalmacenar
la informacin siguen siendo tablas, los diseadores pueden utilizar
muchos de los mecanismos de orientacin a objetos para definir y
accederalosdatos.Sereconoceelconceptodeobjetos,detalmanera
que un objeto tiene un tipo, se almacena en cierta fila de cierta tabla y
tiene un identificador nico (OID). Estos identificadores se pueden
utilizar para referenciar a otros objetos y as representar relaciones de
asociacinydeagregacin.
La ventaja de este tipo de base dedatosesquelosusuariospuedenpasarsusaplicacionesactualessobrebases
de datos relaciones este nuevo modelo sin tener que reescribirlas. Ms tarde, se pueden ir adaptando las
aplicacionesybasesdedatosparaqueutilicenlasfuncionesorientadasaobjetos.
ConlasBasesdeDatosObjetoRelacionalseamplaelmodelorelacionaldestacandolassiguientesaportaciones:
Seaumentanlavariedadenlostiposdedatos,
se pueden crear nuevos tipos de datos que permitan construir aplicaciones complejas con una gran
riquezadedominios.Sesoportantiposcomplejoscomo:registros,conjuntos,referencias,listas,pilas,
colasyvectores.
HayextensionesenelcontroldelaSemnticadedatosObjetoRelacionales:
Se pueden crear
procedimientos almacenados y funciones que tengan un cdigo en algn
lenguajedeprogramacin,comoporejemplo:SQL,Java,C,etc.
Sepuedencompartirvariaslibrerasdeclasesyaexistentes,estoesloqueconocemoscomoreusabilidad.
ComoproductoscomercialesdebasesdeDatosObjetoRelacionalpodemosdestacar:
DB2UniversalDatabasedeIBM(InternationalBusinessMachines).
UniversalServerdeInformix(ahoradeIBM),
INGRESII,deComputerAssociates.
ORACLEdeOracleCorporation,
SyBASE
Comoproductosdecdigoabierto,destacamosPostGreSQL.
Parasaberms
BasesdedatosObjetorelacional (0.33MB)
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
17/29
12/12/2016
AD01_Contenidos
5.Accesoabasesdedatosmedianteconectores.
Casoprctico
Paragestionarlainformacindelasbasesdedatoshayunosestndares
que facilitan a los programas informticos manipular la informacin
almacenadaenellas.
En Java existe un API basado en estos estndares que permite al
desarrollar aplicaciones, que se pueda acceder a bases de datos
relacionales: JDBC (Java Database Connectivity, conectividad de bases
dedatosdeJava).
La mayora de las aplicaciones importantes de una empresa estn
respaldadas por una arquitectura normalizada y optimizada de bases de datos relacionales. Tradicionalmente,
dichasaplicacionesestnbasadasensentenciasSQLconlascualessegestionantodoslosdatosquemanejan.
Este modelo contina teniendo una gran importancia estratgica y es la base para el continuo crecimiento del
mapeoObjetoRelacional(O/R)yestasociadoalosmecanismosdepersistencia.
UndriverJDBCesuncomponentesoftwarequeposibilitaaunaaplicacinJavainteraccionarconunabase
dedatos.
ElAPIJDBCdefineinterfacesyclasesparaescribiraplicacionesdebasesdedatosenJavarealizandoconexiones
debasededatos.
Mediante JDBC el programador puede enviar sentencias SQL, y PL/SQL a una base de datos relacional. JDBC
permiteembeberSQLdentrodecdigoJava.
LailustracinmuestraunarepresentacindelosdiferentesmecanismosdemapeoO/Rycmoserelacionanconel
cdigo de la aplicacin y con los recursos de datos relacionados. Se observa claramente la funcin crtica que
desempeaeldriverJDBCpuestoqueestsituadoenlabasedecadaunodelosmarcosdetrabajo.
LaventajadeusarconectoresJDBCesqueindependizadelabasededatosqueutilice.
No obstante hay un trabajo de traduccin para mapear los campos devueltos por cada consulta a la coleccin de
objetoscorrespondiente.Yhayquetrabajarlassentenciasdeactualizacin,insercin y eliminacin para cada uno
de los campos. Esto constituye una razn para tratar de buscar alternativas menos costosas en tiempo de
desarrollo.
Sabasque?
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
18/29
12/12/2016
AD01_Contenidos
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
19/29
12/12/2016
AD01_Contenidos
6.Mapeoobjetorelacional(ORM).
Casoprctico
Autoevaluacin
Sealalasopcionescorrectas:
Eldesfaseobjetorelacionalserefierealaincompatibilidadquehayentreelparadigmarelacional
yelobjetorelacional.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
20/29
12/12/2016
AD01_Contenidos
Laprogramacinorientadaaobjetossurgiantesquelaprogramacinimperativa.
Elmodelodebasesdedatosrelacionaltodavatieneungranuso.
Lapersistenciasedefinecomolaconversinderegistrosaobjetos.
MostrarInformacin
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
21/29
12/12/2016
AD01_Contenidos
6.1.Capadepersistenciayframeworkdemapeo.
La capa de persistencia de una aplicacin es la pieza que permite
almacenar, recuperar, actualizar y eliminar el estado de los objetos que
necesitanpersistirenunsistemagestordedatos.
En el caso del mapeo objetorelacional, un ORM es una capa que permite
relacionar objetos con un modelo de datos relacional, ocultando todo el
mecanismo de conexin al motor de base de datos, y tambin no teniendo
queescribirlassentenciasSQLnecesariasparalagestindelosdatos.
La capa de persistencia traduce entre los dos modelos de datos: desde
objetos a registros y desde registros a objetos. As, si el programa quiere
grabar un objeto, entonces llama al motor de persistencia, el motor de
persistenciatraduceelobjetoaregistrosyllamaalabasededatosparaqueguardeestosregistros.
Deestemodoelprogramaslovequepuedeguardaryrecuperarobjetos,comosiestuvieraprogramadoparauna
basededatosorientadaaobjetos.Ylabasededatosslovequeguardayrecuperaregistroscomosielprograma
estuvieradirigindoseaelladeformarelacional.
DisponesdemltiplesalternativascomodesarrolladorenJavacuandopretendastrabajarconmapeadoresO/R.Hay
trescomunidadesqueestnimplicadasenelmundodelapersistenciaO/RdeJavadeformaactiva:
Organizacionesbasadasenelestndar,
Comunidadescdigoabierto(opensource)y
Gruposcomerciales.
Lascomunidadesopensourceincluyenimportantestecnologas,entreellasHibernateyelframeworkSpring.
Lasalternativasmsimportantesbasadasenelestndar,sonEJB3.0yJDO.
EntrelasimplementacionescomercialessepuederesaltarTopLink.
Cada uno de los mecanismos de mapeo O/R tiene una dependencia particular en el conector JDBC para poder
comunicarseconlabasededatosdeunaformaeficiente.SielconectorJDBCqueparticipaenlacomunicacinno
es ptimo, la posible gran eficiencia de cualquier framework quedar debilitada. Por tanto, seleccionar el driver
JDBC que mejor se adapte a la aplicacin es esencial a la hora de construir un sistema eficiente en el que
intervengaunmecanismodemapeoO/R.
Debesconocer
Nodejesdevisitarelsiguienteenlacedewikipediaalrespectodelapersistencia.
Persistencia.
Autoevaluacin
Sealalasopcionescorrectas:
NoexistenherramientasdecdigoabiertorelacionadasconelmapeoO/R.
ElmotordepersistenciaesunframeworkO/R.
TopLinkesundriverJDBC.
ElegirundriverJDBCadecuadoesfundamentalparaobtenerunmapeoO/Reficiente.
MostrarInformacin
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
22/29
12/12/2016
AD01_Contenidos
7.BasesdedatosXML.
Casoprctico
Mara,aunquehoyhallegadoalgocansadaacasa,vaaecharun
ratoenunproyectodedispositivosmvilesqueesthaciendocon
Juan,antesdeirsealacama.Eneseproyectotienenqueguardar
informacin en un tipo de bases de datos que habitualmente no
usabanensusproyectosanteriores:lasbasesdedatosXML.
Parasaberms
EnesteenlacepuedesvermssobreellenguajeXQL.
XQL
Autoevaluacin
Sealalaopcincorrecta:
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
23/29
12/12/2016
AD01_Contenidos
XMLeslomismoqueSQLperoparabasesdedatosorientadasaobjetos.
OracleesunabasededatosnativaXML.
UnabasededatosXMLnativapuedetrabajarconXQL.
XQLesunlenguajeparecidoaSQL,peroparabasesdedatosnativasXML.
MostrarInformacin
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
24/29
12/12/2016
AD01_Contenidos
8.Desarrollodecomponentes.
Casoprctico
Parasaberms
Aqupuedesverinformacinresumidasobrelaprogramacinconorientacinaobjetos.
Tecnologaorientadaaobjetos
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
25/29
12/12/2016
AD01_Contenidos
8.1.Definicindecomponente.
Un componente es una unidad de software que realiza una funcin bien
definidayposeeunainterfazbiendefinida.
Un componente software posee interfaces especificadas contractualmente,
pudiendoserdesplegadoindependientementeypuedeinteraccionarconotros
componentesparaformarunsistema.
Un interfaz es un punto de acceso a los componentes: permite a los clientes
accederalosserviciosproporcionadosporuncomponente.
La idea de dividir u organizar en trozos el software, o sea, dividirlo en
componentessurgeparareducirlacomplejidaddelsoftware.Assepermitelareutilizacinyseaceleraelproceso
deensamblajedelsoftware.
Loscreadoresdecomponentespuedenespecializarsecreandoobjetoscadavezmascomplejosydemayorcalidad.
Lainteroperabilidadentrecomponentesdedistintosfabricantes:
Aumentalacompetencia,
Reduceloscostesy,
Facilitalaconstruccindeestndares.
Por tanto, as el software se hace cada vez ms rpido, de mejor calidad y a menor coste incluso de
mantenimiento.
Un componente software tambin debe especificar sus necesidades para funcionar correctamente, lo que se
denominanlasdependenciasdecontexto:
Interfacesrequeridas
Entornodeejecucin:mquinanecesaria,sistemaoperativoautilizar,etc.
EnelentornoJava,contamosconlosJavaBeans.
Autoevaluacin
Sealalaopcincorrecta:
Uncomponentesoftwarenonecesitainterfaces.
Uncomponentesoftwarenopuedeinteractuarconotrocomponentesoftware.
Quienvayaausaruncomponentedebeconocerelinterfacededichocomponente.
Todaslasafirmacionesanterioressonfalsas.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
26/29
12/12/2016
AD01_Contenidos
8.2.JavaBeans.
ElorigendelosJavaBeanslopodemosencontrarenunpardenecesidadesqueJava
tena:
Disponerdeunatecnologadeobjetosycomponentesreutilizables.
Mejorar el proceso para crear interfaces de usuario, acercndose a la facilidad
deusoqueotrosproductospermitancomoVisualBasicdeMicrosoft.
Un JavaBean es un componente software reutilizable basado en la especificacin
JavaBean de Sun (ahora Oracle) que se puede manipular visualmente con una
herramientadedesarrollo.
HayunaseriedepropiedadesquepresentaunJavaBean:
Portabilidad:unodelosprincipalesobjetivosdelosJavaBeansesproporcionar
una arquitectura neutral de componentes, es decir, que los beans puedan
utilizarseenotrasplataformasyentornos.
Reusabilidad: son componentes reutilizables, la filosofa es que estos componentes pueden usarse como
bloquesenlaconstruccindeaplicacionescomplejas.
Introspeccin: los
IDE reconocen ciertas pautas de diseo, nombres de las funciones miembros o
mtodosydefinicionesdelasclases,permitiendoalaherramientadeprogramacinmirardentrodelbeany
conocersuspropiedadesycomportamiento.
Personalizacin:entiempodediseo,conelIDEqueseutilice,sepuedenmodificarlascaractersticasde
aparienciaycomportamientodeunbean.
Persistencia: un bean puede guardar su estado y recuperarlo posteriormente. Esta capacidad se de logra
mediantela
serializacin.Cuandounejemplardebeanseserializaseconvierteenunflujodedatosque
se almacenar en algn sitio, probablemente en un fichero. Cualquier applet, aplicacin o herramienta que
utiliceelbeanpuederestaurarlomedianteladeserializacin.
Comunicacinentreeventos:Loseventosconstituyenunmecanismodenotificacinentreobjetofuentey
objeto(s) receptor(es). Las herramientas de desarrollo pueden examinar un bean para determinar qu
eventospuedeenviaryculespuederecibir.
CaractersticasdelosJavaBeans.
Resumentextualalternativo
Parasaberms
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
27/29
12/12/2016
AD01_Contenidos
Aunquemsadelanteeneltemarioseprofundizarsobreellos,enelenlacesiguientepuedesverms
sobreJavaBeans.
JavaBeans
Autoevaluacin
Indicasilasiguienteafirmacinesverdaderaofalsa:
LosJavaBeanslosepuedenusarenplataformasWindows.
Verdadero.
Falso.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
28/29
12/12/2016
AD01_Contenidos
Anexo.Licenciasderecursos.
LicenciasderecursosutilizadosenlaUnidaddeTrabajo.
Recurso(1)
Datosdelrecurso(1)
Recurso(2)
Autora:ThomasHawk.
Licencia:CCbync.
Procedencia:
http://www.flickr.com/photos/thomashawk/3318535957/
Autora:jonwatson.
Licencia:CCbyncs
Procedencia:
http://www.flickr.com
Autora:nathalielaure.
Licencia:CCby.
Procedencia:
http://www.flickr.com/photos/nathalielaure/2787715668/
Autora:OcDiego.
Licencia:CCbysan
Procedencia:
http://www.flickr.com
Autora:ManuelCernuda.
Licencia:CCby.
Procedencia:
http://www.flickr.com/photos/melkorcete/44959557/
Autora:TimMorgan
Licencia:CCby.
Procedencia:
http://www.flickr.com
Autora:ExtraKetchup.
Licencia:CCbysa.
Procedencia:
http://www.flickr.com/photos/extraketchup/749315946/
Autora:ChristianG
Licencia:CCby.
Procedencia:
http://www.flickr.com
https://www.edu.xunta.es/fpadistancia/pluginfile.php/136629/mod_resource/content/1/AD01/AD01_Web/index.html
29/29