bases de datos orientadas a objetos persistencia de...

96
Centro de Estudios de Postgrado Máster en Profesorado ESO, Bach., FP y EI UNIVERSIDAD DE JAÉN Centro de Estudios de Postgrado Trabajo Fin de Máster BASES DE DATOS ORIENTADAS A OBJETOS. PERSISTENCIA DE OBJETOS Y LENGUAJES Alumno/a: García Fernández, Carmen María Tutor/a: Prof. D. Carmen Martínez Cruz Prof. D. Pedro González García Dpto: Informática Junio, 2016

Upload: others

Post on 19-Aug-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

CentrodeEstudiosdePo

stgrad

o

Máste

r en P

rofes

orad

o ESO

, Bac

h., F

P y E

I UNIVERSIDAD DE JAÉN

CentrodeEstudiosdePostgrado

Trabajo Fin de Máster

BASES DE DATOS ORIENTADAS A OBJETOS.

PERSISTENCIA DE OBJETOS Y LENGUAJES

Alumno/a: García Fernández, Carmen María Tutor/a: Prof. D. Carmen Martínez Cruz Prof. D. Pedro González García Dpto: Informática

Junio,2016

Page 2: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

1

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

RESUMEN............................................................................................................................................................3ABSTRACT..........................................................................................................................................................41.INTRODUCCIÓN...........................................................................................................................................52.ESTUDIOEPISTEMOLÓGICO....................................................................................................................52.1INTRODUCCIÓN..............................................................................................................................................................52.2EVOLUCIÓNDELASBASESDEDATOS................................................................................................................62.2.1PRIMERAGENERACIÓN..............................................................................................................................62.2.2SEGUNDAGENERACIÓN..............................................................................................................................72.2.3TERCERAGENERACIÓN..............................................................................................................................7

2.3MOTIVACIÓNDELASBASESDEDATOSORIENTADASAOBJETOS........................................................82.3.1NECESIDADESDELOSLENGUAJESDEPROGRAMACIÓNORIENTADOSAOBJETOS......92.3.2LIMITACIONESDELASBASESDEDATOSRELACIONALES.........................................................9

2.4.ESTADODELARTE...................................................................................................................................................102.4.1BASESDEDATOSORIENTADASAOBJETOSCOMERCIALES...................................................122.4.2USODEBASESDEDATOSORIENTADASAOBJETOSENLAINDUSTRIA...........................122.4.3DATAWAREHOUSE....................................................................................................................................132.4.4BASESDEDATOSGEOGRÁFICAS.........................................................................................................15

2.5DESARROLLODELOSCONCEPTOS....................................................................................................................172.5.1INTRODUCCIÓNALASBASESDEDATOSOO.................................................................................172.5.2CARACTERÍSTICASDELASBASESDEDATOSOO.......................................................................172.5.3VENTAJAS/INCONVENIENTESDEBASESDEDATOSOO..........................................................182.5.4MODELODEOBJETOS...............................................................................................................................192.5.5CARACTERÍSTICASDELOSSISTEMASGESTORESDEBASESDEOBJETOS......................202.5.6TIPOSDESISTEMASGESTORESDEBASESDEDATOSDEOBJETOS...................................232.5.7ESTÁNDARODMG3.0................................................................................................................................242.5.7.1MODELODEOBJETOS.........................................................................................................................................252.5.7.2LENGUAJESDEESPECIFICACIÓNDEOBJETOS........................................................................................292.5.7.3LENGUAJEDECONSULTADEOBJETOS.......................................................................................................30

2.5.8METODOLOGÍADEDISEÑODEBDBASADAENMDA................................................................332.5.8.1REGLASDETRANSFORMACIÓNENTREMODELOS...............................................................................34

2.5.9LENGUAJESDEPROGRAMACIÓNPERSISTENTES........................................................................402.5.9.1PERSISTENCIADELOSOBJETOS....................................................................................................................422.5.9.2SISTEMASPERSISTENTESENC++................................................................................................................422.5.9.3SISTEMASJAVAPERSISTENTES.....................................................................................................................44

2.5.10SISTEMASORIENTADOSAOBJETOSYSISTEMASRELACIONALESORIENTADOSAOBJETOS......................................................................................................................................................................45

2.6TENDENCIASFUTURAS...........................................................................................................................................452.7JUSTIFICACIÓNDELAUNIDADDIDÁCTICA...................................................................................................48

3.PROYECCIÓNDIDÁCTICA......................................................................................................................503.1INTRODUCCIÓN...........................................................................................................................................................503.2PRESENTACIÓNDELMÓDULOYDELAUNIDADDIDÁCTICA...............................................................503.3ANÁLISISDELENTORNODELCENTRO...........................................................................................................513.3.1CONTEXTOEXTERNO................................................................................................................................513.3.2CONTEXTOINTERNO.................................................................................................................................52

3.4.CARACTERÍSTICASDELALUMNADO................................................................................................................523.5MARCOLEGISLATIVO...............................................................................................................................................52

Page 3: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

2

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

3.6UNIDADDIDÁCTICA:PERSISTENCIADELOSOBJETOSENBASESDEDATOSORIENTADASAOBJETOS.................................................................................................................................................................................543.6.1OBJETIVOS......................................................................................................................................................543.6.1.1OBJETIVOSGENERALESDEFORMACIÓNPROFESIONAL...................................................................543.6.1.2OBJETIVOSGENERALESDECICLOFORMATIVO.....................................................................................543.6.1.3RESULTADOSDEAPRENDIZAJE.....................................................................................................................553.6.1.4OBJETIVOSDIDÁCTICOS....................................................................................................................................56

3.6.2CONTRIBUCIÓNALASCOMPETENCIASPROFESIONALES......................................................563.6.3CONTRIBUCIÓNALACOMPETENCIAGENERAL.........................................................................563.6.4CONTRIBUCIÓNALASCOMPETENCIASPROFESIONALES,PERSONALESYSOCIALES.........................................................................................................................................................................................573.6.5LÍNEASDEACTUACIÓN............................................................................................................................573.6.6CONTENIDOSDELMÓDULO...................................................................................................................583.6.6.1SECUENCIACIÓNYTEMPORALIZACIÓNDEUNIDADESDIDÁCTICAS..........................................583.6.6.2JUSTIFICACIÓNDEUNIDADESDIDÁCTICAS.............................................................................................593.6.6.3CONTENIDOSDELAUNIDADDIDÁCTICA.................................................................................................60

3.6.7METODOLOGÍA.............................................................................................................................................613.6.7.1TIPOSDEACTIVIDADESENSEÑANZA-APRENDIZAJE.........................................................................613.6.7.2ESTILODEMETODOLOGÍA...............................................................................................................................633.6.7.3AGRUPAMIENTOS.................................................................................................................................................643.6.7.4ORGANIZACIÓNDELESPACIO.........................................................................................................................653.6.7.5MATERIALESYRECURSOSDIDÁCTICOS....................................................................................................673.6.7.6PREPARACIÓNPARALAEVALUACIÓNFINAL.........................................................................................693.6.7.7DESARROLLODELASSESIONES....................................................................................................................69

3.6.8EVALUACIÓN.................................................................................................................................................753.6.8.1CRITERIOSDEEVALUACIÓN............................................................................................................................753.6.8.2PROCEDIMIENTOSEINSTRUMENTOSDEEVALUACIÓN...................................................................763.6.8.3CRITERIOSDECALIFICACIÓN.........................................................................................................................773.6.8.4MECANISMOSDERECUPERACIÓN................................................................................................................783.6.8.5CARACTERÍSTICASDELAEVALUACIÓNFINAL......................................................................................79

3.6.9ATENCIÓNALALUMNADOCONNECESIDADESESPECÍFICASDEAPOYOEDUCATIVO(AANEAE)...................................................................................................................................................................793.6.10INTERDISCIPLINARIEDAD...................................................................................................................813.6.11TEMASTRANSVERSALES......................................................................................................................81

3.7.ACTIVIDADESDELAUNIDADDIDÁCTICA.....................................................................................................823.7.1ACTIVIDADESDEDESARROLLO...........................................................................................................823.7.2ACTIVIDADESDECONSOLIDACIÓN....................................................................................................913.7.3ACTIVIDADESDEREFUERZO.................................................................................................................923.7.4ACTIVIDADESDEAMPLIACIÓN............................................................................................................92

4.BIBLIOGRAFÍAYREFERENCIASWEBS..............................................................................................93

Page 4: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

3

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

RESUMEN EnotrostiemposdondeInternetnoestabaalaordendeldía,losdesarrolladoresdeaplicacionesnoteníanporquépreocuparseparadecidir latecnologíadebasededatosqueibanautilizar.

La tecnología Relacional, que presenta un sencillo lenguaje de consulta, era laprincipal herramienta y el estándar de las bases de datos. Sólo unas pocas aplicacionesespecializadasutilizabanBasesdeDatosdeObjetos,lascualeseranpercibidascomolentaseincómodas.

Sinembargo,conlallegadadelaWeb,latecnologíadeobjetossehaconvertidoenlacorrientedominante.TecnologíasdedesarrolloWebcomoJava,seorientanobjetos,porloque muchos desarrolladores vieron que tenía sentido asociarlas a las Bases de DatosOrientadas a Objetos. Asimismo, los objetos facilitan el desarrollo rápido puesto que sonmodularesyproporcionanunmétodomáseficienteeintuitivodedarformaalmundoreal.

Uno de los problemas que se encuentran los programadores en los lenguajesorientados a objetos es la necesidad de almacenar y recuperar los datos de una formaeficiente y sencilla. Si se utilizan modelos relacionales se pierde parte de las ventajas detrabajarconOrientaciónaObjetos,puestosedebehacerunatransformaciónentreobjetosydatosrelacionales(yviceversa).EstadiferenciadeparadigmasfuelaqueimpulsóacrearlosSistemas Gestores de Bases de Datos Orientados a Objetos (SGBDOO) a fin de evitar lasdificultadesdelpasodelmodelodeobjetosalmodelorelacionalbuscandolaeficienciay lasencillez.

Sin embargo, actualmente, los desarrolladores de aplicaciones de alto rendimientocombinanambastecnologíasrelacionalyobjetos,consiguiendoasíunabasededatosrápida,escalable,fiableypost-relacionalquefuncionesinproblemastantocomoconobjetoscomoconSQL.

EnelTrabajoFinaldeMásterenfocamoslatemáticaalaBasesdeDatosdeObjetosPuras, Persistencia de objetos y lenguajes. Para ello, llevamos a cabo un EstudioEpistemológico donde analizamos la evolución de las bases de datos, el estado del arte ytendenciasfuturasdelasmismas.Porúltimo,enProyecciónDidácticaadaptamoseltemaalmódulodeProgramaciónimpartidoenelCFGSDesarrollodeAplicacionesMultiplataforma.

PALABRASCLAVEInternet;BasesdeDatos;TecnologíaRelacional;TecnologíadeObjetos;Web;Objetos;BasesdeDatosOrientadasaObjetos;SistemasGestoresdeBasesdeDatosOrientadosaObjetos;EstudioEpistemológico;ProyecciónDidáctica;Programación.

Page 5: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

4

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

ABSTRACT In other times where the Internet was not the order of the day, applicationdevelopers did not need to worry to decide database technology that would be used.Relationaltechnologythatpresentsasimplequerylanguagewasthemaintoolandstandarddatabases.OnlyafewspecializedapplicationsusingObjectDatabases,whichwereperceivedasslowandcumbersome.

However, with the advent of the Web, object technology has become themainstream.Web development technologies such as Java, objects are oriented, so manydeveloperssawthat itmadesensetoassociatetheobjectdatabase.Also,objects facilitaterapiddevelopmentsincetheyaremodularandprovideamoreefficientandintuitivemethodofshapingtherealworld.

Oneof theproblems thatprogrammers found inobject-oriented languages is theneedtostoreandretrievedataefficientlyandeasily.Ifrelationalmodelsareusedpartoftheadvantages of working with object orientation, position should make a transformationbetweenobjectsandrelationaldata(andviceversa)islost.ThisdifferenceinparadigmswaspromptedtocreatethedatabasemanagementsystemsObject-OrientedData(OODBMS)inorder to avoid the difficulties of the passage of the objectmodel to the relationalmodelseekingefficiencyandsimplicity.

However, today, developers of high-performance applications combine bothrelationalandobjecttechnologies,achievingabasefast,scalable,reliableandpost-relationaldatabasethatrunssmoothlywithobjectsaswellaswithSQL.

In the Final Master Work focus the thematic to the Object Database Pure,Persistence of objects and languages. To this end, we conduct an epistemological studywhereweanalyzetheevolutionofthedatabases, thestateoftheartandfuturetrendsofthem. Finally, through a Projection Teaching adapt the theme to Programming moduletaughtintheCFGSMultiplatformApplicationDevelopment.

KEYWORDSInternet; Databases; Relational Technology; Object technology ; Web; Objects; Objectdatabase ; Bases Management Systems Object Oriented Data; Epistemological Study;ProjectionTeaching;Programming.

Page 6: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

5

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

1.INTRODUCCIÓN En el presente documento vamos a desarrollar el Trabajo Final del Máster enProfesorado de Educación Secundaria Obligatoria, Bachillerato, Formación Profesional yEnseñanza de Idiomas, impartido por la Universidad de Jaén durante el curso lectivo2015/2016.

La temática del Trabajo Final de Máster lleva por título: Persistencia de objetos:BasesdedatosOrientadasaObjetos.PersistenciaenJavayC#.EltemahasidoextraídodelaOrdenEDU/3138/2011,de15denoviembre(actualmentesinvigencia),quecontiene lostemarios de las especialidades de los Cuerpos de Profesores de Enseñanza Secundaria yProfesores Técnicos de Formación Profesional. En concreto nuestro tema pertenece alsegundo punto del apartado 30, Persistencia de Objetos, del temario de oposiciones deProfesoresTécnicosdeFormaciónProfesionalenSistemasyAplicacionesInformáticas.

Por otro lado, el tema puede ser integrado en el plan de estudios de los CiclosFormativosdeGradoSuperiorenDesarrollodeAplicacionesMultiplataformayenDesarrollodeAplicacionesWeb, en concreto, en elmódulo deProgramación impartido en el primercurso.Noobstante,para laproyeccióndidácticahemosseleccionadoelCFGSDesarrollodeAplicaciones Multiplataforma, puesto que es el ofertado en el centro de educaciónsecundariaseleccionado,IESSaladillo(Algeciras).

Elpresentedocumentohasidodivididoendospartesbiendiferenciadas.LaprimerasecciónestádedicadaalEstudioEpistemológicosobre latemáticaencuestión,atravésdeuna aproximación a la evolución de las bases de datos, estudio de las bases de datosorientadasaobjetosyelestadodelartedelasmismas,asícomolastendenciasfuturasdelasbases de datos. En la segunda parte, haremos una Proyección Didáctica del temaadaptándoloalprocesodeEnseñanza-Aprendizajedel cicloenelqueseencuadra.Enestaúltimasección,vamosa llevaracabounanálisisdelcontexto internoyexternodelcentro,estudiarelperfildelalumnado,profundizaremosenloselementoscurricularespropiosdelatemáticasydelaetapa,juntoconlaaportacióndepropuestasinnovadorasdeactividadesallevaracaboenelaula.

2.ESTUDIOEPISTEMOLÓGICO2.1INTRODUCCIÓN Las aplicaciones tradicionales de las bases de datos consisten en tareas deprocesamiento de datos, como la gestión bancaria y de nóminas, con tipos de datosrelativamentesencillos,queseadaptanbienalmodelorelacional.Amedidaquelossistemasde bases de datos se fueron aplicando a un rango más amplio de aplicaciones, como eldiseñoasistidopor computadoray los sistemasde informacióngeográfica, las limitacionesimpuestas por el modelo relacional se convirtieron en un obstáculo. La solución fue laintroduccióndebasesdedatosbasadasenobjetos,quepermitentrabajarcontiposdedatoscomplejos.

Page 7: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

6

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

Esta sección del Trabajo Final de Máster estará dedicada al estudio de lasgeneraciones de las bases de datos, los conceptos fundamentales de las bases de datosorientadasaobjetos,elestadodelartedelasmismas,asícomolastendenciasfuturasdelasbasesdedatos.

2.2EVOLUCIÓNDELASBASESDEDATOS Básicamente, cuando hablamos de base de datos nos referimos a una colección dedatos que forma parte de un determinado contexto. Existen diversos tipos de bases dedatos, peronos vamos a dedicar a las bases dedatos digitales que son las usadas por lossistemasinformáticos. Conelpasodeltiempo,elmodoenquelaspersonasorganizansusdatosdigitalmenteha ido cambiando. El primer tipo de organización fue a través de archivos de accesosecuencial. Este tipo de almacenamiento presentaba el inconveniente de que hastaencontrar la información necesaria necesitaba recorrer línea por línea. Sin embargo, lasbasesdedatospermitenunaccesodirectoalusarestructurasdeorganización.

Principalmente,distinguimostresgeneracionesdeBasesdeDatos.

2.2.1PRIMERAGENERACIÓN En los años 60, aparecieron las primeras bases de datos que usaban los modelosjerárquicosydered,loscualesusabanregistrosformadosporcamposyproporcionabanunaorganizaciónlógicadelosdatosenárbolesygrafos.

Enelmodelo jerárquico losdatos sonalmacenadosporniveles. Sedisponeunnodopadre o raíz que se enlaza con varios hijos. Las relaciones son unidireccionales de hijos apadres.Ejemplo:EnunaUniversidadexisteunarelacióndedocenteshaciaeldepartamentoalquepertenecen,peronoviceversa.

Elmodeloenredessimilaraljerárquico,conladiferenciadequeenlugardetenerunpadre se pueden tener varios, pudiendo tener relacionesmuchos-a-muchos., Estemodeloexige mantener dos relaciones físicas: de docentes hacia departamentos, así como dedepartamentoshaciadocentes.

Surgen los primeros productos de bases de datos, los cuales utilizaban lenguajesprocedimentales,sinindependenciafísica/lógicaypresentabanunaflexibilidadmuylimitada.Ejemplos:comoDBOM,IMS,IDS,totaloIDS.

Además,enestaprimeraépocaseincorporaalosSistemasGestoresdeBasesdeDatosfacilidades de comunicación de datos, posibilitando de esta forma quemúltiples usuariospudieranaccederalabasededatosatravésdeunareddecomunicación[4].

Page 8: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

7

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

2.2.2SEGUNDAGENERACIÓN

Edgar Codd propuso las bases de datos relacionales, en los años 70. El principalelementode almacenamientode estemodelo son las tablas, permite relacionar una tablaconsigomisma,asícomolarepresentaciónderelacionesmuchos-a-muchos,sinnecesidaddeduplicarlarelación,yderelacionesentremásdedostablas.

Los productos relacionales presentan una flexibilidad, eficiencia, seguridad en losentornos transaccionales,mayor independencia física/lógica, yusan lenguajesdeclarativos.LosSGBRelacionalespresentanmayorfacilidaddeusoyunabaseteóricamássólida[4].

2.2.3TERCERAGENERACIÓN

En 1980, surgen las Bases de Datos Distribuidas, se estandariza el lenguaje SQL, seproduce la separación entre apariencia lógica e implementación física, y se ponen demanifiesto las Bases de Datos Orientadas a Objetos. Los Sistemas Gestores de Bases deDatos se basaban principalmente en modelos de objetos, que pueden ser bien puros ohíbrido(relacional+orientaciónaobjetos).

En la década de los 90, la arquitectura cliente/servidor se presenta en dos capas.Aparecenlosprimerosproductosdebasesdeobjeto,siendolosmodelosdereferenciaISOyANSI, surgenel consorcioODMG(estándaresdeOrientaciónaObjetos), SQL92ySQL99 .Asimismo,ellenguajeXMLpresentaunauge,ypodemoshablardelosmodelosXMLpurosocomounacapasobreelmodelorelacional[4].

Figura1:Evolucióncronológicadelosmodelosdebasesdedatos[10]

ConrespectoalosSistemasGestoresdeBasesdeDatospodemosmencionaraquellosrelacionados con la orientación a objetos, temporalidad, seguridad, paralelismos, bases dedatosmultidimensionalesotecnologíaGrid.

Page 9: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

8

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

AcomienzosdelsigloXXI,podemosreferirnosyaauna arquitecturacliente/servidorentrescapas,modeloobjeto-relacional,basesdedatosmóviles,basesdedatosmultimedia,basededatosXML,SQL/MM,SQL2003ybasesdedatosgrid[4].

2.3MOTIVACIÓNDELASBASESDEDATOSORIENTADASAOBJETOS En este apartado analizaremos los motivos que hicieron que surgieran las Bases deDatosOrientadasaObjetos

Enlosaños80y90,laindustriadelsoftwareexperimentaunimportantecrecimiento.Comienza a cobrar importancia la Programación Orientada a Objetos, junto a laProgramaciónEstructurada.

Asimismo,conelobjetivoderepresentarunarealidadcadavezmáscomplejaenlossistemasde información, juntoa lostiposdedatosprimitivosya lasestructurasdedatossencillas,aparecennuevosnivelesdeorganizaciónmáscomplejos,tiposdedatosabstractos(pilas,árbol…),clases,interfaces,etc.

Los sistemas de información comienzan a ser más complejos manejando unaimportante cantidad de conceptos del mundo real, y requiriendo desarrollos rápidos yseguros. La información a ser almacenada comienza también a crecer en complejidad,almacenándose gráficos, vídeo, audio, diagramas, huellas digitales, etc., además de lostradicionalesnúmerosytexto.

Los sistemas relacionales han tenido éxito en el desarrollo de bases de datosrequeridas por aplicaciones de bases de datos tradicionales. Sin embargo, el modelorelacional presenta ciertas carencias a la hora de diseñar e implementar aplicaciones debases de datos más complejas, como bases de datos para aplicaciones de ingeniería deldiseñoyfabricación(CAD/CAM/CIM),tratamientodedocumentos,sistemasdeinformacióngeográfica,diseñoasistidoporcomputadora,experimentoscientíficos, telecomunicaciones,multimedia,,etc.

Por este motivo, debido a la creciente complejidad en los requisitos de las nuevasaplicacionesysistemassoftware,asícomodelalmacenamientodetiposdeinformacióncadavez más complejos, surge la necesidad de proporcionar otras alternativas que puedanadaptarse a escenarios más complejos y subsanar las carencias de las bases de datosrelacionales.

Por tanto, los Sistemas de Gestión de Bases de Objetos surgen por dos razonesfundamentales:

1. NecesidaddePersistencia dedatos, por necesidadesde los Lenguajes deProgramaciónOrientadosaObjetos.

2. Limitacionesdelasbasesdedatosrelacionalesenelmanejodedatoscomplejos.

Page 10: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

9

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

2.3.1NECESIDADESDELOSLENGUAJESDEPROGRAMACIÓNORIENTADOSAOBJETOS En primer lugar, comentar que losmodelos de datos y estructuras de datos de loslenguajes de programación están desacoplados, hecho que dificulta el acceso a lainformación de la base de datos desde programas escritos en lenguajes comoC++ o Java.Además,lasdiferenciasexistentesentrelossistemasdetiposdelasbasesdedatosydeloslenguajesdeprogramaciónhacemáscomplicadoelalmacenamientoylarecuperacióndelosdatos.Porloque,sehacenecesariominimizardichasdiscrepancias.

Porotrolado,elhechodetenerqueexpresarelaccesoalasbasesdedatosatravésdel lenguaje SQL (diferente del lenguaje de programación) también dificulta el trabajo delprogramador.Portanto,lasoluciónradicaenqueambossiganelmismoparadigma,esdecir,la solución está en los Sistemas de Gestión de Bases de Datos Puras. Dicha aproximaciónengloba la gestión de los datos y su comportamiento, e incluye los lenguajes ODL y OQL.

Los lenguajesdeprogramaciónpersistentes son lenguajesdeprogramaciónqueyaexisten y que añaden persistencia además de otras características de las bases de datos,haciendo uso del sistema de tipos nativo del lenguaje de programación. El concepto desistemas de bases de datos orientadas a objetos hace referencia a los SBDque soportantiposorientadosaobjetosypermitenelaccesodirectoa losdatosdesde losLPOOusandoparaelloelsistemadetiposnativodellenguaje[9].

LasBasesdeDatosproporcionana laOrientacióndeObjetos laPersistencia, loquesupone:

• Independenciadedatos/programa.• Almacenamientoeficienteygestióndedatosenmemoriamasiva.• Lenguajedeconsultaeficienteydealtonivel.• Gestión de transacciones, garantizando el acceso concurrente, seguridad y

recuperaciónantefallos.• Controldeintegridad.

2.3.2LIMITACIONESDELASBASESDEDATOSRELACIONALES

En realidad, las bases de datos relacionales no son apropiadas para aquellasaplicacionesquemanejenestructurasdedatoscomplejas.Losmotivossonlossiguientes:

• Tienenestructurassimples.• Escasariquezasemántica.• Nosoportantiposdefinidosporelusuario.• Nosoportanrecursividad.• Faltadeprocedimientos/disparadores.• Nopermiteherencia.

Page 11: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

10

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

Porotro lado, si convertimosobjetosy relacionesalmodelo relacionalpuedeocurrirque:

• Unobjetosedescompongaenungrannúmerodetablas,originandoerrores.• Se necesite un gran número de joins para su recuperación, empeorando de esta

formaelrendimiento[9].

En la siguiente figurapodemosobservar cómo se realizaelmanejode losdatosenBasesdeDatosOrientadasaObjetos(BDOO)yBasesdeDatosRelacional(BDR).

Figura2:SGBOOySGBDR[13]

2.4.ESTADODELARTE ComoEstadodelArteanalizaremoscuáleselpresentedelasbasesdedatosengeneralydeBasesdeDatosOrientadasaObjetosqueeseltemaquenosocupaenelTrabajoFinaldeMáster. Además,delasnecesidadesdelosLenguajesdeProgramaciónOrientadosaObjetosyde las limitacionesquepresentan lasBasesdeDatosRelacionales, lasaplicacionesactualestambién requieren de necesidades que no pueden ser cubiertas por las bases de datosrelacionalesysíporlasorientadasaobjetos,comoson:

• Interconexióneinteroperabilidad.• Soportarobjetoscomplejosydatosmultimedia.• Identificadoresúnicos.• Soportedereferenciaseinterrelaciones.• Manipulaciónnavegacionalydeconjuntoderegistros.• Jerarquíasdeobjetosyherencia.

Page 12: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

11

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• Integrarlosdatosconsusprocedimientosasociados.• Modelosextensiblesmediantetiposdedatosdefinidosporelusuario.• Gestionarversiones.• Facilitarlaevolución.• Transaccionesdelargaduración.

Portanto, lasBasesdeDatosOrientadasaObjetosfueronpropuestasconelobjetivodesatisfacerlasnecesidadesdeciertasaplicacionesparaunmodelomásricoyextensible,ydeestaformacomplementaralasbasesdedatosrelacionarles.

El modelo de datos proporcionado por las Bases de Datos Orientadas a Objetos esequivalente al de los lenguajes de programación orientados a objetos, comopor ejemplo,C++yJava.Estosuponeunagranventaja,yesquealcompartirelmodelodedatos,lasBDOOpuedenserintegradasconelsoftwareusadoparadesarrollaraplicacionesdeformadirectayprácticamentetransparente[3].

Sinembargo,enlasaplicacionesbasadasenBDResnecesariousardoslenguajesmuydiferentes, unopara la aplicación y SQLparael accesoa labasededatos. Esto conllevaarealizar costosas inversiones entre los formatos usados en cada uno de los dos lenguajes.Además, la tendencia de la Programación Orientada a Objetos también se hizo presenteintroduciendo la técnica de programaciónORM (Object Relational Mapping) destinada aconvertirdatosentreelsistemadetiposutilizadoenunlenguajedeprogramaciónorientadoaobjetosy lautilizacióndeunabasededatosrelacionalcomomotordepersistencia.EstocreaunaBDOOvirtual, sobre labasededatos relacional.Sinembargo, lasBDOOtienenelinconvenientedelaausenciadeunlenguajedeconsultasencilloyrápidocomoSQL[4].

LosprincipalesvendedoresdeSGBDRelacionalesreconocieronensudía lanecesidadde disponer de nuevas características para elmodelado de datos complejo. Por tanto, lasversiones más recientes de estos sistemas han ido incorporando muchas de lasfuncionalidadesqueenunprincipiosepropusieronparalasBDOO,dandolugaralasBasesdeDatosObjeto-Relacionales(BDOR)[4].

MuchasdeestasfuncionalidadesestánincluidasenlasúltimasversionesdelestándarSQL.Portanto,lafuncionalidadesquehoyendíaaportanlaorientaciónorientadaaobjetosalasbasesdedatossonlassiguientes[4]:

• Almacenar Grandes Objetos Binarios en tablas relacionales. Estos objetos sonconocidos como “blobs”, del inglés Binary Large Objects, y pueden ser imágenes,sonidoovídeo.

• Herramientas de gestión de documentos, ofreciendo soporte XML, operadoresespecíficosparabuscartexto,etc.

• Proporcionarotrasextensionesparaelsoportededatosgeográficos.

Asimismo, actualmente, hablamos de varios niveles de soporte de la tecnologíaorientadaaobjetosenbasesdedatos[4]:

• Librerías para almacenar de forma persistente los objetos. Sin embargo, a veces noincorporansoportetransaccionalomultiusuario.

Page 13: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

12

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• Bases de Datos Objeto-Relacionales, destinadas a aplicaciones que requieren usaralgunos tipos de datos complejos en un entorno relacional, y están basadas enextensionesorientadasaobjetosdeSQL.

• BasesdeDatosOrientadasaObjetosPuras,lascualesproporcionanunagestióndeBDorientadasaobjetosa todos losniveles,partiendode ladefinicióndedatoshastaellenguajedeconsulta.

2.4.1BASESDEDATOSORIENTADASAOBJETOSCOMERCIALES A continuación, enumeramos algunas Bases de Datos Orientadas a Objetosdisponiblesenmercado[3]:

• Objetivity/DB: Ofrece soporte para Java C++, Python y otros lenguajes. Ofrece unaltorendimientoyescalabilidad.Noesunproductolibreaunqueofrecenversionesdepruebaduranteunperiododeterminado.

• db40:BasedeDatosOpenSourceparaJAVAy.NET.SedistribuyebajolicenciaGPL.• Intersystems Cache®: Ofrece soporte para Java, C++, .NET, etc. Manejan grandes

volúmenes de información y ejecutan sentencias SQL de forma más rápida quealgunasbasesdedatosrelacionales.Todoestoconconsumomínimoderecursosydehardware.

• EyeDB: Sistema Gestor de Bases de Datos Orientadas a Objetos basado en laespecificaciónODMGelcuálestádesarrolladoysoportadoporlacompañíafrancesaSYSRA.Proporcionaunmodeloavanzadodeobjetos (herencia, colecciones, arrays,métodos,triggers,constraints,etc.),unlenguajededefinicióndeobjetosenODMGODL, lenguaje de manipulación y consulta de datos basado en ODMG OQL einterfacesdeprogramaciónparaC++yJava.SedistribuyebajolalicenciaGNU(GNUlesserGeneralPublicLicense).Setratadesoftwarelibre.

2.4.2 USO DE BASES DE DATOS ORIENTADAS A OBJETOS EN LAINDUSTRIA EnesteapartadopresentamosalgunasempresasqueactualmenteutilizanlosserviciosdelasBasesdeDatosOrientadasaObjetosendiferentesramasdelaindustria[8]:

• PRONAUTIC:Esunaempresaespañoladedicadaa laventadeaccesoriosnáuticosyrecambio de motor para embarcaciones. Ésta necesitaba una solución con la queautomatizar sus procesos de negocio en las áreas de finanzas, pedidos y compras.Tenía el objetivo demejorar sus sistemasde información llevando caboun análisisdetallado de las líneas más rentables, los mejores vendedores, los precios másóptimosyotrosfactoresclaves.AdquirióOraclee-BusinnessSuiteSpecialEdition.

• XEROX GLOBAL SERVICES: Empresa estadounidense que utiliza SQL Server paragestionarmásde7millonesdetransaccionesdiariasconunadisponibilidaddecasiel100%.UnosdelosserviciosmásimportantesdeestaempresaesXeroxOfficeService,

Page 14: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

13

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

que lleva a cabo una gestión de activos ymantenimiento preventivo para grandescantidadesdeimpresoras,copiadoras,dispositivosmultifunciónyfaxes.Aloptimizardichagestión,Xeroxreduceelcostetotaldeimpresiónasusclientes.

• MACBA (Museu d´Art Contemporani de Barcelona): Abast Solutions implantó ERPOracle eBusiness Suite en el museo para las distintas áreas funcionales (Finanzas,Compras y Contratación, Gestión de inventario, Proyectos, Gestión de Espacios,GestióndeRecursosHumanos,GestiónDocumental,CRMeIndicadoresdeGestión),conelobjetivodeoptimizarlosprocesosenlasdiferentesáreasdenegocio,permitirobtener información contrastada en tiempo real, disponer de un sistema deinformaciónestable,escalableyconproyeccióndefuturoyconseguirunsistemadefácilaccesodesdecualquierlugaratravésdeinternet.

• NASDAQ:EselmercadoelectrónicomásimportantedeEE.UUycontinuamenteestábuscandolaformadedarunmejorservicioasusmiembros.SQLServergestionamásde100.000consultasdiariausandoSnapshotIsolationpararesolverlaspeticionesentiemporealsinralentizarlabasededatos.

• Centro de Regulación Genómica: Se trata de uno de los centros de investigaciónbiomédica más importantes de Europa, el cual necesitaba unificar su informacióncorporativa, mejorar el acceso de los empleados a recursos informativos y poderrealizar análisis e informes detallados. Para conseguir esto se utilizó OracleApplicationServerPortalyOracleE-BusinnessSuite.

2.4.3DATAWAREHOUSE Sin embargo, en la actualidad, las bases de datos no pueden permitirse ser simplesrepositorios. Los datos carecen de importancia si no pueden ser analizados y aportaninformación relevante para la toma de decisiones. Así que, se trabaja con Almacenes deDatos,tambiénconocidocomoArquitecturaDataWarehouse, locualquepermitetrabajarcon diferentes estados de una base de datos a través del tiempo y es de ayuda para lasposteriorestomasdedecisiones[4].

Básicamente,Data Warehouse es una base de datos corporativa caracterizada porintegrar y depurar información de distintas fuentes, para luego procesarla permitiendo suanálisisdesdediferentesperspectivasyconunagranvelocidadderespuesta..

Laventajaprincipaldeestetipodebasesdedatosseencuentraenlasestructurasenlasquesealmacenalainformaciónquepuedensermodelosdetablasenestrella,encopodenieve,cubosrelacionales,etc..Estetipodepersistenciade la informacióneshomogéneayfiable,ypermitelaconsultayeltratamientojerarquizadodelamisma.

Page 15: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

14

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

Figura3:VisióndelaArquitecturaDataWarehouse[4]

Algunasdelasprincipalescaracterísticasdeundatawarehousesonlassiguientes[4]:

• Losdatosalmacenadosseintegranenunaestructuraconsistente.• Losdatossonorganizadosportemáticasafindefacilitarsuaccesoycomprensiónpor

losusuariosfinales.• El tiempo está implícito en la información contenida en un datawarehouse. La

informaciónalmacenadasirve,entreotros,pararealizaranálisisdetendencias.• Elalmacéndeinformacióndeundatawarehousepuedeserleído,peronomodificado,

por lo que una actualización implica la incorporación de los últimos valores quetomaronlasvariablessinsufrirningúntipodeacciónloqueyaexistía.

• Datawarehousecontienemetadatos, loscualespermitensaber laprocedenciade lainformación, su periodicidad de refresco, su fiabilidad, forma de cálculo... etc.Tambiénpermitensimplificaryautomatizarlaobtencióndelainformacióndesdelossistemasoperacionalesalossistemasinformacionales.

En Septiembre de 2013, varias empresas de Ecuador fueron entrevistadas, comoEMAC, ETAPA, SRI, entidades bancarias, empresas de desarrollo de software, etc. De estainvestigaciónsededujoqueninguna empresa usabaBase deDatosOrientadas aObjetos

Page 16: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

15

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

Puras,quetodaslasempresasusabanBasesdeDatosRelacionalesyqueel60%habíausadoalgunavezherramientadeanálisisdedatosparaDataWarehouse[4].

Figura4:DistribucióndeGestoresdeBDRelacionalesusadasporlasempresas[4]

LarealidadesqueenelmercadoactuallasBasesdeDatosOrientadasaObjetosnohanlogrado encontrar una buena posición, sin embargo, sí que el modelo de Bases de DatosObjeto-RelacionalhaidopocoapocoincorporándoseenlosSistemasdeGestióndeBasesdeDatosmásutilizadoscomoOracleoPostgresSQL.

Graciasalasfuncionalidadesqueproporcionanlossistemasobjeto-relacionalessehandesarrolladonuevasaplicacionescontiposdedatoscomplejoscomosonlasBasesdeDatosGeográficas.

2.4.4BASESDEDATOSGEOGRÁFICAS UnaBasedeDatosGeográfica(BDG)esunconjuntodedatosgeográficosorganizadoscon el objetivo de analizar y gestionar el territorio dentro de aplicaciones deSistemas deInformaciónGeográfica.Enadición, lasBasesdeDatosGeográficasseusanconelobjetivode implementar servicios geográficos relacionados con las Infraestructuras de DatosEspaciales,ysucontenidoprincipalenlosprocesosdeproduccióncartográficos[11].

El punto clave de una Base deDatosGeográfica es elmodelo de datos, es decir, laformalizaciónconceptualdelasentidadesgeográficasdelmundoreal.Laimplementacióndelmodelo debe ser tal que facilite la explotación y optimización del almacenamiento con elobjetivodealcanzarelmejorrendimientoenlasconsultas.

Porotrolado,laInformaciónGeográficaconstituyeunodeproductosmássolicitadosporlosciudadanosalasadministracionespúblicas.Asípues,elaumentodeestademandahaprovocadomodificaciones en la captura, almacenamiento, tratamiento,mantenimiento yactualizacióndelainformacióngeográficayespacial.

Page 17: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

16

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

La capturamasiva y selectivapermite clasificar la InformaciónGeográficapor temas.Asimismo,elalmacenamientodegranvolumendeInformaciónGráficarequierelapuestaenmarchadeservidoresyBasesdeDatosGeográficasespecíficasparaeltratamientoespacialde los datos. Elmantenimiento y la actualización son dos parámetros demandados por elusuariofinalyestándestinadosamejorarlacalidadgeométrica,semánticaytopológicadelaInformación Geográfica. Las Bases de Datos Geográficas favorecen interoperabilidad conotras bases de datos y permiten la multirrepresentación a través de procesos degeneralizacióncartográfica.

En laactualidad,El InstitutoGeográficoNacional desarrolladiferentesproyectosdeI+D+I aplicados a la producción cartográfica, creando y manteniendo Bases de DatosGeográficasquepermitengenerar cartografíaen funciónde los cambiosacontecidosenelmundorealyasíromperconelclásicoconceptodehojadeseriecartográfica[11]..

Figura5:VistaentornodecapturaenBaseTopográficaNacionaldeEspaña[11]

Comoejemploreciente,podemosmencionareldesarrollodeunaaplicaciónwebparadispositivos móviles diseñado con componentes de sistemas de información geográficos,comoherramientadedifusióndealertasdeamenazasyriesgosnaturalesparaelmunicipiodeLaVega(Granada-Bolivia).Estesistemadeinformaciónpretendeacercaraloshabitantesdelmunicipioalaadministraciónmunicipal,haciéndolospartícipesdelagestióndelriesgo,yde esta forma hacer que los dueños de predios y población en general tengan a sudisposiciónlainformaciónpertinentedelosriesgos[12].

Loquesepretendeesque,unavezidentificadaslasamenazasyriesgosmunicipales,laadministración municipal o el comité de administración del riesgo, pueda generar alertastempranas a los ciudadanos que utilicen la herramienta en sus dispositivos móviles,acercandoelciudadanoalmunicipioyhaciéndolopartícipedeladinámicaterritorial.

Page 18: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

17

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

2.5DESARROLLODELOSCONCEPTOS2.5.1INTRODUCCIÓNALASBASESDEDATOSOO Como ya indicábamos anteriormente los Sistemas Gestores de Bases de DatosOrientados a Objetos (SGBDOO) surgen debido a la falta de capacidad semántica delmodelo relacional para soportar aplicaciones complejas, como las de ingeniería, sistemasbasadosenelconocimiento,tratamientodedocumentos,multimedia,gestiónderedes,etc.Este tipo de aplicaciones requieren modelar, de forma directa, objetos e interrelacionescomplejos almacenar información no estructurada, gestionar diferentes tipos detransacciones, controlar de forma exhaustiva componentes y estructuras, además demanejarversionesyconfiguraciones.

Asimismo, los SGBDOO rompen la barrera que nos encontramos en los SGBDRelacionalesentrelosdatosquesonalmacenadosenlabasededatosylosprocesosqueseencuentran en las aplicaciones desarrolladas mediante el lenguaje de datos asociado alSGBD, como por ejemplo SQL, embebido en un lenguaje de programación. Los SistemasGestoresdeBasesdeObjetosgestionanobjetosenlosqueseencuentranencapsuladoslosdatosylasoperacionesqueactúansobreellos.

Enlaactualidad,partedelcódigoquehastanohacemuchoseencontrabasoloenlasaplicaciones, ahora puede almacenarse en la propia Base de Datos. Esta tendencia ya sepuso de manifiesto en versiones de productos relacionales que permitían almacenardisparadores(triggers),reglas,procedimientos,etc.

Otra ventaja de los Sistemas Gestores de Bases de Objetos es la reducción de ladistanciaentreelmodeloconceptualdedatosexpresadoenE/RoUML,yelmodelológicoquesediseñaparaimplementarlabasededatos.YesqueelparadigmadelaorientaciónaobjetosproporcionaunúnicomodeloqueseencuentraimplementadoenelSGBOyalquepuedenaccederdirectamentelasaplicaciones.

2.5.2CARACTERÍSTICASDELASBASESDEDATOSOO Las características de las Bases de Datos Orientadas a Objetos son análogas a loslenguajes de programación orientados a Objetos. Algunas de las características másrelevantesdeunaBDOOsonlassiguientes[3]:

• Seentiendencomounsistemademodeladodelmundoreal.Cadaentidaddelmundoseráunobjetoenlabasededatos.

• Losobjetostienenunidentificadorúnicoquelos identificay losdiferenciadelrestode objetos del mismo tipo. Esto implica por ejemplo, que cada vez que se quieramodificar un objeto se tenga que recuperar de la base de datos, modificar yalmacenarnuevamente.EstaoperaciónestotalmentediferenteenlosSGBDR.

• Pueden existir objetos con la misma información pero con diferente identidad. Esmás, cuando se modifican los valores de los atributos, el objeto sigue siendo elmismo.

Page 19: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

18

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• Esposiblealmacenarobjetoscomplejosenlabasededatossinqueporellohayaquerealizaroperacionesespecialessobrelabasededatos.

• Elconceptodeherenciasemantieneinclusoenlabasededatos.• Eselusuarioelquemodelalosobjetosdelabasededatosyetiquetalosatributosy

métodosquesonvisiblesenlainterfazdelobjetoycuálesno.• El SGBDOO se encarga de acceder a losmiembros de los objetos sin necesidad de

escribirmétodosparaaccederaellos.• Accesorápidoalosdatosdadoquenoesnecesariorealizarjoinsdetablas.• AlgunosSGBDOOpermitenuncontroldeversiones.• Implantación de conceptos del modelo orientado a objetos como (polimorfismo,

sobrecarga,sobrescritura,etc.) Por tanto, dadas estas características, las Bases de Datos Orientadas a Objetos sehacen más apropiadas cuando tenemos una gran cantidad de tipos de datos diferentes,objetosconcomportamientosavanzadosoconungrannúmeroderelacionesentreellos[3].

2.5.3VENTAJAS/INCONVENIENTESDEBASESDEDATOSOO Entre las ventajas que obtenemos al trabajar con las Bases de Datos OrientadasObjetosseencuentranlassiguientes[3]:

• Notenerquereensamblarlosobjetoscadavezqueseaccedealabasededatos.Elresultado de las consultas son objetos, por lo que la velocidad de procesamientoaumenta.

• Cuando cambia un objeto, la forma de actualizarlos en la base de datos essimplemente almacenándolo. Esta acción suele ser una secuencia simple decomandosenelcódigo.

• La reutilización, una de las características de los lenguajes de programaciónorientadosaobjetos,semantiene,conloquesemejoranloscostesdedesarrollo.

• Elaccesoalainformaciónatravésdeobjetosenunaaplicacióndesarrolladacomotalesmásnaturalquehacerloatravésdetablasyfilas.

• El control de acceso y concurrencia se facilita enormemente dado que se puedebloquearelaccesoaciertosobjetosinclusoenunajerarquíacompletadeobjetos.

• Estos sistemas funcionan de forma eficiente en entornos cliente/servidor yarquitecturasdistribuidas.

• No es necesario redefinir las relaciones entre objetos, puesto que ya existen en elmodelodeobjetosylabasededatosseencargadehacerpersistenteloyadiseñado.

Porotraparte,laslimitacionesdelasBasesdeDatosOrientadasaObjetosseránlassiguientes[3]:

• EnlasbasesdedatosexisteellenguajeSQLqueesunestándarbastanteasentadoyfuerte.Enlasbasesdedatosorientadasaobjetosestonoocurre.

• La estructura de las bases de datos relacionales es simple y fácil de entender, alcontrarioqueladelasbasesdedatosorientadasaobjetos.

Page 20: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

19

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• Existenaplicacionesqueaunqueestánescritasconlenguajesorientadosaobjetos,enciertasocasionesesmáseficientealmacenarlosdatosenbasesdedatosrelacionalesdebidoalasconsultasquesevanarealizarsobreellas.

• SereducelavelocidaddeaccesodebidoaquelaBasedeDatosOrientadaaObjetostienequetenerencuentalasrelacionesdeherenciaentreclases.

• Aunqueseganaensimplicidadenelmanejodelabasededatosdesdeloslenguajesde programación orientados a objetos, cuando se trata de realizar consultascomplejasresultamásadecuadounabasededatosrelacionalaccedidamedianteSQL.

2.5.4MODELODEOBJETOS ParalosSistemasGestoresdeBasesdeObjetosnohaexistidounúnicomodelocomoocurre con el modelo relacional difundido por el Dr. Codd, sino que cada fabricante haadoptado un modelo diferente. No obstante, todos los autores coinciden en la idea deintegrar los dos aspectos de los sistemas de información que tradicionalmente se veníananalizandodeformaseparada:datosyprocesos.

Segúnelparadigmadelaorientaciónaobjetos,unsistemaesunconjuntodeobjetosquesecomunicanentresímediantemensajes.Anivelconceptual,unobjetoesunaentidadpercibidaenelsistema,mientrasqueaniveldeimplementación,unobjetosecorrespondecon un encapsulamiento de un conjunto de operaciones (servicios) y de un estado querecuerdaelefectodelosservicios.

El encapsulamiento es un concepto abstracto que agrupa datos y procesospermitiendo ocultar a los usuarios de un objeto los aspectos de implementación,ofreciéndolesunainterfazexternaparainteractuarconelobjeto[1].

Porotrolado,laocultacióndelainformaciónpermitemodificarlosaspectosprivadosdeunobjetosinqueelloafectealrestodeobjetosqueinteractúanconél,siemprequeseconservelamismainterfaz[1].

Unobjetosedescribeporlossiguienteselementos:

• Propiedades,atributosoestructuradelobjeto.• Servicios,queproporcionanelcomportamientodelobjeto.• Estado,quevienedeterminadoporlosvaloresquetomansusatributos.

Todo objeto tiene un identificador de objeto que lo identifica unívocamente,denominado OID del inglés Object IDentifier. Además, existen los tipos de objeto quedefinenlaestructurayelcomportamientodeéstosquecompartencaracterísticascomunes.

EnunSistemaOrientadoaObjetos,encontraremosobjetosylosvaloresquepuedentomarlosatributosdelosobjetos.EnalgunosentornoscomoSmaltalknosedistingueentreobjetosyvalores,puestoqueseconsideraquetodoesunobjeto.

En la orientación a objetos un tipo de objeto puede implementarse de distintasmaneras.Unaclaseeslaimplementacióndeuntipodeobjeto.

Page 21: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

20

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

Porotrolado,ademásdelasinterrelaciones,existendostiposmásdeasociacioneslascualesyaestánincluidasenelmodeloE/R:

• Generalización: Los tipos y clases se organizan en jerarquías de super/subtipos(super/subclases)quepresentanherenciayquecorrespondenalconcepto“es-un”,enlasquelossubtipososubclasesheredanloserviciosoatributosdesusancestros.Ejemplo:ProfesorpuededefinirsecomosubtipodePersona.

• Agregación:Permiteconstruirobjetoscompuestosquecorrespondealconceptode“parte-de”.Teclaformapartedeordenador.

Atravésdelenvíodemensajes,losobjetosinteractúanentresí.Losobjetossolicitanlaprestacióndeserviciosyentreganlosresultadosqueseobtienencuandosellevaacaboundeterminadoservicio.Porlotanto,enviarmensajesconsistiráeninvocarserviciosdelosotrosobjetos.

El polimorfismo es la capacidad de que un mensaje sea interpretado de manerasdiferentes, dependiendo del objeto que lo reciba. Existen dos tipos de polimorfismofundamentalmente[1]:

• Desubclase:Cuandounservicioqueestádefinidoenunaclaseseredefineenalgunadesussubclasesmanteniendoelmismonombre.

• Desobrecarga:Utilizaelmismonombreparaserviciosdiferentes,nosituadosenunajerarquíadegeneralización.

Lo ideal es que la vinculación o binding entre el nombre de un servicio y suimplementación seestablezcaen tiempodeejecución (vinculacióndinámicao tardía).Coneste aprovechamos la ventaja que ofrece el polimorfismo. Sin embargo, lo ideal es que ladeterminacióndetipossehagaentiempodecompilaciónparaevitarerroressintácticosentiempodeejecución.

Porúltimo,nosquedahablardelconceptogenericidadqueeslacapacidaddedefinirtipos/clases parametrizables o genéricos. Podemos considerar un tipo genérico como unaplantillaquenospermiteconstruirtipos[1].

2.5.5CARACTERÍSTICASDELOSSISTEMASGESTORESDEBASESDEOBJETOS Comoyahemosvisto,lascaracterísticasdelosSistemasGestoresdeBasesdeObjetosprocedendelauniónentrelasbasesdedatosylaorientaciónaobjetos.

A continuación, analizamos las principales características de un SGBO maximal,tomándolo comomodelo de referencia abstracto para que resulte útil para exponer estetipodesistemaseinclusocomobasedecomparaciónentreproductos.

• CARACTERÍSTICASPROPIASDELAORIENTACIÓNAOBJETOS Básicamente, los Sistemas Gestores de Bases de Objetos incorporan conceptosbásicosdelparadigmadelaorientaciónaobjetos.Sinembargo,existenotrascaracterísticas

Page 22: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

21

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

propiasdelosSistemasOrientadosaObjetoqueseincorporanalosSistemasdeGestióndeBasesdeObjetocomoson[1]:

• Extensibilidad:Permite ladefinicióndenuevasclasesymodificar lasyaexistentesde manera dinámica. Esta característica es imprescindible para las aplicacionesCAD/CAM,CASE,etc.

• Bibliotecasdeclases:Estasbibliotecaspermitenladefinicióndeloselementosconun alto nivel de funcionalidad, que se pueden integrar en la base de datos. Elinconveniente es que suelen tener una funcionalidad limitada y las bibliotecas deterceros pueden ser incompatibles con el modelo soportado por el SGBO, al noexistirunestándaradoptado.

• CARACTERÍSTICASDELOSSGBD EnestasecciónvamosaexponerlascuálessonlasprincipalescaracterísticasdelosSistemasGestoresdeBasesdeDatosquedebenser incluidasen losSistemasGestoresdeObjetos[1]:

• Persistencia: Todo elemento del sistema independientemente de su tipo debepoderserpersistenteporsímismo.Porunlado,elsistemasólooperaconobjetospersistentesyseofrecealgúntipodeoperaciónquepermitehacerpersistentealosobjetos.

• ModelodeObjetos:ElmodelodeobjetosdeunSGBOesmásrealistaconrespectoalmodelorelacionalpuestoquelosobjetosrepresentanentidadesdelmundorealdandounasensaciónmásprecisadelproblemaqueunconjuntodetablas.Porotrolado, el modelo de objetos es más flexible que el relacional puesto que poseecaracterísticascomoelpolimorfismo.Otradiferenciaesqueelmodelodeobjetossebasaenelprincipiodeidentidadmientrasqueelrelacionalsebasaenvalor.

• Lenguaje de Datos: En los SGBD tradicionales se da el problema de malaconcordancia entre los lenguajes de datos y los lenguajes anfitriones, debido alproblemadediferenciasenelparadigmadeprogramación(imperativoenelcasodeJAVAydeclarativoparaSQL)yenelsistemadetiposdedatos.Porestemotivo,pararesolveresteproblema, lamayorpartede losSGBOhanadoptadoextensionesdelenguajesdeprogramaciónorientadosaobjetosenladescripciónymanipulacióndedatos.Además,ladificultadderealizarconsultas“ad-hoc”enlosSGBOconestetipodelenguajeshallevadoalosfabricantesadesarrollarlenguajes“estilo-SQL”

• Arquitecturaatresniveles:Dotaalasbasesdedatosdeunamayorindependenciafísico y lógica. En los SGBO las vistas deben ocultar o exponer tanto los atributoscomolosservicios.

• Optimizador: Los lenguajes de los SGBO son navegacionales, por lo que laoptimizaciónresultadifícilalserelprogramadorelqueindicaloscaminosaseguir.Apasar de ello, el rendimiento de un SGBO es superior al de un SGBDR cuando senavegaatravésdeobjetosyacargadosenmemoria,siemprequesepuedaconvertirfácilmente los OID de los objetos a posiciones dememoria. El funcionamiento el

Page 23: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

22

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

optimizadorvendrácondicionadoengranmedidaporlascaracterísticasqueposeanloslenguajesdelSGBO.

• Seguridad: El SGBO debe proporcionar todos los mecanismos necesarios paraasegurarelcontroldelaconfidencialidad,integridadydisponibilidaddelabasedeobjetos.

• Interfaces para Programas de Aplicación: Se deben ofrecer interfaces necesariasparaqueprogramasescritosendiferentes lenguajespuedanaccedera losobjetosdelabasededatos.

• Diccionario de datos: El SGBO debe gestionar metadatos sobre objetos, clases,jerarquías,coleccionesdeobjetos,etc.conloquehadeposeerunamayorriquezasemánticaqueladeloscatálogosdelosSGBDrelacionales.

• Herramientas para el desarrollo de aplicaciones: Es fundamental que el SGBOposea diferentes tipos de herramientas para el desarrollo de aplicaciones, quepuedenirdesdelenguajesdedesarrollohastanavegadores(browsers)quepermitenunamejormanipulacióndelasbibliotecasdeclase.

• Herramientas para la transferencia de datos: Los SGBO deben proporcionarherramientas para transferir datos entre diferentes tipos de SGBD, pudiéndosevolcardatosdeunSGBOaunsistemarelacional,oviceversa.

• UtilidadesparaelmantenimientoymejoradelrendimientodelasBasesdeDatos:En los SGBO, al igual que en los SGBD Relacionales, deben existir utilidades quepermitan la monitorización del uso de recursos con la finalidad de aumentar elrendimientodelossistemasyprocederasuajuste.

• Soportededatosmultimedia:LosSGBOdebensoportardiferentestiposdedatos,ademásdelosformateados,comoson:texto,imagen,voz,vídeo,etc.Porejemplo,en algunos SGBD Relacionales este tipo de datos se almacenan en BLOBs (BinaryLargeOBjects),o loquees lomismo,objetosdealmacenamientomasivo.Muchosfabricantedenominanaestostipodedatosobjetoscompuestos,perosolosetratade una colección de bits sin estructura interna. Por último, comentar que es vitalque los SGBO permitan la creación de tipos abstractos arbitrarios para que sepuedansoportardatosmultimediayofrecerbibliotecasdeclase.

• Herramientas y facilidades de usuario: El SGBO debe proporcionar diferentesinterfaces a los distintos usuarios del sistema, dependiendo de la función quedesempeñan estos. Asimismo, las Interfaces Gráficas de Usuario (GUI) quepresentan losSGBOsiguenelparadigmade laorientaciónaobjetos facilitandodeestaformalainteraccióndelusuarioconelsistema.

• Distribución:Comoocurreen losSGBDRelacionales,cualquierelementodelSGBOdebe poder distribuirse en diferentes emplazamientos demanera transparente alusuario.

• Controldeversionesyconfiguraciones:ElcontroldeversionesesfundamentalenlosSGBOdebidoasuutilizaciónenentornosdediseñoydeinformacióndeoficinas.También es importante para este tipo de aplicaciones que el SGBO sea capaz deagruparversionescompatiblesdediferentesobjetosytratarloscomounaunidaddemásaltonivel.Porúltimo,unobjetoenunmodeloconversionestienedosclases

Page 24: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

23

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

deatributos(versionadosynoversionados),porloqueuncambioencualquieradelosatributosversionadoscausalacreacióndeunanuevaversión.Seestablecen,portanto, jerarquías de versiones y se hace necesario que el sistema soporteoperacionesderamificaciónydefusión.

2.5.6TIPOSDESISTEMASGESTORESDEBASESDEDATOSDEOBJETOS Según Friedman, tanto para los SGBO como para los SGBDR, se deben tomar enconsideracióndosaspectos:

• Elmodelológicodedatossoportado,yasearelacionaluorientadoaobjetos.• Elnivelinternoomaquinariaqueseofrece,esdecir,loqueconciernealagestiónde

E/S,concurrencia,índices,transacciones,recuperación,caching,etc.

De acuerdo a estos criterios, los Sistemas Gestores de Bases de Datos puedenclasificarseen[1]:

• SGBD relacionales puros: Como eran todos los productos relacionales hasta haceunosaños.

• SGBDrelacionalesconfrontalOO:SeañadeunnivelocapadeOrientaciónaObjetossobreunSGBDRelacional.Enestecaso,lacapadeOrientaciónaObjetospudeactuarconelSGBDRadosniveles:1. Gestordedatos,mediantellamadasSQL.2. Gestordealmacenamiento,mediantellamadasaprocedimientosdebajonivel.

• SGBO puros: Podemos citar a O2, Objectivity, ObjectStore, Ontos, Itasca, Versant,Jasmine,FastObjects,etc.

• SGBO con SQL: Se combinan la Orientación a Objetos y el modelo relacional,realizándose la adaptación necesario tanto a nivel de gestor de almacenamientocomodedatosdelSGBDRelacional.

Por tanto, la evolución de los Sistemas Gestores de Bases de Datos puedesimplificarsedelasiguienteforma[1]:

• SGBD Relacionales que se han ido extendiendo para soportar nuevos tipos deaplicaciones,paralocualsehaoptadoporunenfoqueObjeto-Relacional.

• SGBOPurosquehanincorporadounlenguajeestiloSQLquelespermitecomunicarseconlasbasesdedatosylosprogramasexistentes,paraintegrarseenlossistemasdeinformaciónqueusanlasempresas.

Por último, comentar que existen otros tipos de sistemas que presentancaracterísticas parecidas a los SGBO e incluso a veces se catalogan como tales. Podemosmencionara[1]:

• LenguajesdeProgramaciónOrientadosaObjetosPersistentes:Sondiseñadosparaunnúmeromuy reducidodeusuariosypequeñasbasesdedatos. Sinembargo, los

Page 25: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

24

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

SGBO se diseñan pensando en un número elevado de usuarios que accedenconcurrentementeagrandesbasesdedatos.

• GestoresdeObjetos:Setratadeextensionesdesistemasdeficherosodegestióndememoria virtual, y que poseen un modelo de datos limitado. Ejemplos: Mneme,Camelot,ObServer,LOOM,etc.

• MetaSGBD:Songeneradoresdesistemasdebasesdedatosquepermitenconstruirun SGBD adaptado a las características de un determinado grupo de aplicaciones.Ejemplos:GénesisoExodus.

2.5.7ESTÁNDARODMG3.0 En1991,RickCattel,deSunsoftpropusoaungrupodeexpertosquetrabajabanendiferentes empresas de SGBO elaborar un estándar basado en las características quepresentaban los productos existentes. Fue de esta forma como nació ODMG, del inglésObject Data Managament Group, que agrupaba a los principales vendedores de SGBO,comoObject Design, Ontos, O2 Technology, Versant, Objectivity, POET Software y ServioCorporation. También contaba con diversos revisores tanto de empresas (Andersen,Hewlett-Packard, EDS, Sybase, Texas Instruments o Persistence), como de Universidades(Maier,Dewitt,Carey,Dittrich,Zdonik,Liskov,King…)

Laprimeraversióntuvodosrevisionesdondesemejoróprincipalmenteellenguajedeconsulta de objetos. La versión 2.0 incorporó nuevos tipos de colección como el tipodiccionarioeintrodujolapartedelavinculaciónconellenguajedeprogramaciónJAVA.Laúltima versióndel estándar es la 3.0 en la que se incluye algunasmejoras en cuanto a lavinculación con JAVA,mejoras en elmodelo de objetos, así como algunas correcciones ymejorasenlasespecificacionesdelestándar[9].

LosprincipalesobjetivosdelestándardebasesdedatosODMG3.0sonlossiguientes:

1. Permitir que los clientes de los SGBO puedan escribir aplicaciones portables. Estosuponequeelesquemadedatos,lavinculaciónconellenguajedeprogramación,ellenguaje de manipulación de datos y el lenguaje de consulta de datos tambiéndeberíanserportables.

2. IntentarserútilpermitiendooperatibilidadentrelosdistintosproductosdeSGBO,asícomoparabasesdedatosheterogéneasdistribuidasquesecomunicanentresí.

LosprincipalescomponentesdelODMG3.0sonlossiguientes:

• ModelodeObjetos.• LenguajesdeEspecificacióndeObjetos.• LenguajedeConsultadeObjetos.• VinculaciónconLenguajesdeProgramación.

Estoselementosvamosatratarlosenlassiguientes4secciones.

Page 26: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

25

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

2.5.7.1MODELODEOBJETOS El Modelo de Objetos está basado en el modelo de objetos de OMG (ObjectManagamentGroup) y lo extiende, añadiendo algunos componentes como las relaciones,parasoportarlasnecesidadesespecíficasdelasbasesdedatos.

Un modelo de objetos especifica el tipo de semántica que se puede definirexplícitamente sobre el SGBO. La semántica de un modelo de objetos determina lascaracterísticas de los objetos, cómo se relacionan y cómo se relacionan e identifican losmismos.

El modelo del estándar ODMG permite recoger más semántica que el modelorelacional,puestoquepermiteladeclaraciónderelacionesyoperaciones.

Acontinuación,vamosaestudiar losconceptosdetipos,objetos, literales,estadoycomportamiento.

• TIPOS Un tipo tiene una especificación externa y una o varias implementaciones. Unaespecificaciónexternadeuntipoconsisteenunadescripciónabstractaeindependientedelaimplementación de las operaciones, excepciones y propiedades visibles para el usuario. Elmodelo de objetos ODMG proporciona los siguientes constructores para soportar unaespecificaciónexterna:

• Interfaz:Describeelcomportamientoabstractodeuntipodeobjeto.• Literal:Defineelestadoabstractodeuntipoliteral.• Clase:Defineelcomportamientoabstractoyelestadoabstractodeuntipodeobjeto.

Enelsiguientecódigo,lainterfazProfesordefineelcomportamientoabstractodelosobjetosProfesor.LaclasePersonadefinetantoelcomportamientocomoelestadoabstractodelosobjetosPersona.LaDirecciondefineelestadoabstractodeliterales.

interfaceProfesor{…};

classPersona{…};

structDireccion{stringcalle,stringlocalidad}

Laimplementacióndeuntipodeobjetoconsisteenunarepresentaciónyunconjuntodemétodos.Larepresentaciónesunaestructuradedatosderivadadelestadoabstractodeltipomedianteunavinculaciónconunlenguaje.Losmétodossoncuerposdeprocedimientosque se derivan del comportamiento abstracto del tipo mediante una vinculación con ellenguaje.Paracadaoperaciónsedefineunmétodoqueimplementadichocomportamiento.Un método puede leer o modificar la representación del estado de un objeto o invocaroperacionesdefinidasenotrosobjetos[1].

Page 27: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

26

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• OBJETOSLosobjetossonlasinstanciasdelostipos.Unobjetopuedeser:

• Persistente: Son objetos de la Base de Datos, se sitúan en memoria, sualmacenamientoesgestionadoporel SGBOy continúanexistiendodespuésdequemueranlosprocesosqueloscrearon.

• Transitorio:Sesitúanenmemoria,songestionadosporellenguajedeprogramaciónentiempodeejecuciónysóloexistendentrodelprocedimientoqueloscreó.

Eltiempodevidadeunobjetoesindependientedeltipo,siendoalgunasinstanciasdelostipospersistentesmientrasqueotrassontransitorias.

Los aspectos más relevantes sobre los objetos son los que mostramos acontinuación:

• Creacióndeunobjeto.• Identificadorúniconomodificable(OID)paradistinguirunobjetodeotro.• Nombredelobjeto,asignadoporelprogramadorousuariofinal.• Tiempodevida,quedeterminacomosegestionalamemoriayelespacioreservados

paraunobjeto.• Estructuradeunobjeto,quepuedeseratómicaocompuestaporotrosobjetos.Los

objetoscompuestospuedeserestructuras(númerofijodeelementosquepuedenserde distinto tipo) o colecciones (número variable de elementos que deben ser delmismotipo)

• Laextensióndeuntipoeselconjuntodetodaslasinstanciasdeuntipo.• Una clave está formada por un atributo o conjunto de estos, los cuales identifican

cadaobjetodeuntipodeformaunívoca.

• LITERALESFundamentalmente,existendostiposdeliteralescompuestos:

• Literalesdecolecciones:set,bag,list,array,dictionary.• Literalesestructurados:date,interval,timeydefinidosporelusuario.

Secomportandelamismaformaquelosobjetoscompuestos,salvoconladiferenciadequenotienenidentificadorysuvalornosepuedemodificar[1].

• ESTADO:PROPIEDADESDELOSOBJETOS Una clase define un conjunto de propiedades, a través de las cuales los usuariospuedenconsultarymanipularelestadodelainstanciadeunaclase.EnelmodelodeobjetosODMGsedefinendostiposdepropiedades[1]:

• Atributos:Unatributosiemprevaasociadoauntipo.

Page 28: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

27

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• Relaciones: Una relación siempre se establece entre dos tipos que tenganinstanciasquepuedanserreferenciadasmedianteidentificadoresdeobjeto.Porloqueun literal, alno tener identificadordeobjeto,nopodráparticiparen lasrelaciones.

Acontinuación,mostramoscómosedefineunaclasePersonaconsusatributos:

classPersona{

atributestringDNI;

attributedatefecha_nac;

attributestringnombre;

}

Unadeclaracióndeunatributoenunainterfazdefineúnicamenteelcomportamientoabstractodesusinstancias.Enelsiguienteejemploelatributoedadsedefineenlainterfazi_Persona,esteatributonoimplicaríaladefinicióndesuestadosinodesucomportamiento,esdecir,calcularlaedad.

interfacei_Persona{

atributeshortedad;

}

Como ya apuntábamos anteriormente, las relaciones se definen entre tipos. ElmodelodeobjetosODMG,sólosoporta las relacionesbinariasy las relacionesdeherencia(simpleymúltiple).

Lostiposderelacionesbinariasquesonsoportadasson:uno-a-uno,uno-a-muchos,omuchos-a-muchos.ElconceptoderelaciónenelmodelodeobjetosessimilaraldelmodeloE/R,ynoesunobjetoporsísola(porloquenotieneidentificadordeobjeto).

En el siguiente ejemplo,mostramos una relación binaria 1:N enODL, en la que unprofesor puede impartir varios cursos, mientras que un curso es impartido por un soloprofesor.

classPROFESOR

{

relationshipset<CURSO>imparte

inverseCURSO::impartido_por;

};

Page 29: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

28

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

classCURSO

{

relationshipset<PROFESOR>impartido_por

inversePROFESOR::imparte;

};

Por otro lado, el modelo de objetos ODMG soporta dos tipos de relaciones deherencia[1]:

• RelaciónISA:Implicaherenciadecomportamientoyserepresentacon“:”.Definelaherencia de comportamiento entre tipos de objetos (interfaces o clases). En unarelaciónISA,lostiposdeobjetoseclasificanentiposysubtipos,heredandoelsubtipolaspropiedadesyoperacionesdelsupertipoypuede,además,añadirpropiedadesyoperacionespropias.Soportalaherenciamúltipledecomportamiento.

• Relación EXTENDS: Define la herencia de estado y comportamiento entre tipos deobjetos (clases). A través de esta relación se define la herencia simple entre dosclases.

En el siguiente ejemplo, mostramos tres interfaces (Empleado, Profesor yProfesor_Practicas), así como tres clases (Empleado_Asalariado, Persona yPersona_Empleada). Las interfaces Profesor y Profesor_Practicas heredan elcomportamientodeEmpleado yProfesor, respectivamentedefiniendouna relación ISA.LaclaseEmpleado_AsalariadoelcomportamientodelainterfazEmpleado(ISA).Porúltimo,laclasePersona_EmpleadaheredaelcomportamientodelainterfazEmpleado(ISA)ytantoelestadocomoelcomportamientodelaclasePersona(extends).

interfaceEmpleado{….};

interfaceProfesor:Empleado{….};

interfaceProfesor_Practicas:Profesor{….};

classEmpleado_Asalariado:Empleado{…};

classPersona

{

attributestringnombre;

attributedatefecha_nac;

};

Page 30: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

29

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

classPersona_EmpleadaextendsPersona:Empleado

{

attributedatefecha_contrato;

attributecurrencysalario;

};

• COMPORTAMIENTO Lostiposademásdelaspropiedades(atributosyrelaciones),tienencomportamientoqueseespecificaconunconjuntodesignaturasdelasoperaciones.Cadasignaturadefineelnombrede laoperación,elnombrey tipodecadaunode losargumentos, los tiposde losvaloresresultantesylosnombresdelasexcepcionesquelasoperacionespuedenlanzar.

Una operación solo puede definirse sobre un tipo sencillo. No puede existir unaoperaciónsinestarasociadaauntipooavarios.Elnombredeunaoperaciónsolotienequeser único dentro de la definición del tipo, es decir, puede haber operaciones de tiposdiferentes con elmismo nombre. En este caso, podemos decir que los nombres de estasoperaciones están sobrecargados. Si se invoca a una operación utilizando el nombresobrecargadosedebeseleccionarlaoperaciónconcretaaejecutar[1].

Acontinuación,presentamosunejemplodondelaclasePersonaincluyelasignaturadeunaoperaciónquedevuelvelaedaddelapersona.

classPersona(extentpersonas)

{

attributestringnombre;

attributedatefecha_nacimiento;

attributestringsexo;

shortedad();

};

2.5.7.2LENGUAJESDEESPECIFICACIÓNDEOBJETOS Los lenguajes de especificación de objetos son independientes de los lenguajes deprogramaciónyseusanparadefinir losesquemas,operacionesyelestadodeunSGBO.ElprincipalobjetivodeestoslenguajesesfacilitarlamigracióndedatosatravésdeunSGBO,ademásdefacilitarlainteroperabilidadentrelosdistintosproductos.

El estándar propone dos lenguajes de especificación de objetos: Lenguajes deDefinicióndeObjetos (ODL) yLenguajede IntercambiodeObjetos (OIF),queveremosacontinuación.

Page 31: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

30

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• LENGUAJEDEDEFINICIÓNDEOBJETOS ElLenguajedeDefinicióndeObjetos(ODL,delinglésObjectDefinitionLanguage),seusaparadefinirlasespecificacionesdetiposdeobjetosajustándosealmodelodeobjetosdeODMG.Dentrodeladefinicióndeespecificacionesseincluyesuspropiedadesyoperaciones,sinembargo,sólosedefine lassignaturas,sin incluir la implementación.Portanto,ODLnoestáligadoalasintaxisdeningúnlenguajedeprogramaciónenparticular[1].

Características:

• SoportedetodoslosconstructoresdelmodelodeobjetosdeODMG.• Noesunlenguajedeprogramacióncompleto,sóloesunlenguajededefiniciónpara

laespecificacióndeobjetos.• Independientedellenguajedeprogramación.• Compatible con el Lenguaje de Definición de Interfaz de OMG, es decir, el IDL del

inglésInterfaceDefinitionLanguage.• Extensibleanuevasfuncionalidadesyoptimizacionesfísicas.

• FORMATODEINTERCAMBIODEOBJETOS ElFormatodeIntercambiodeObjetos(OIF,delinglésObjectInterchangeFormat),esun lenguaje de especificación usado para cargar y descargar el estado de los objetospersistentes de un SGBO a un fichero. También se puede usar para intercambiar objetospersistentes entre SGBO, proporcionar documentación y realizar batería de pruebas [1].

Características:

• OIFdebesoportartodoslosestadosconformesalmodelodeobjetosdeODMGyalasdefinicionesdeesquemasODL.

• Noesunlenguajedeprogramacióncompleto,sólounlenguajededefiniciónparalaespecificacióndeobjetospersistentesysusestados.

• Debe diseñarse, siempre que sea posible, siguiendo los estándares relacionados,comoSTEPoINCITS.

• OIF solo usará las palabras claves de tipo, atributo o identificador de relaciónproporcionadasenladefiniciónODLdeunesquemadelaBasedeObjetos.

2.5.7.3LENGUAJEDECONSULTADEOBJETOS ElmodelodedatosODMGdefineunlenguajedeclarativoparaconsultarymodificarlosobjetosdelaBasesdeObjetos,ellenguajedeconsultadeobjetos,OQL,delinglésObjectQueryLanguage.

Page 32: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

31

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

OQLestábasadoenellenguajeSQL,conunasintaxissimilarperoconunasemánticadiferente.OQLcontemplaaspectosde laorientacióndeobjetos,comoel identificadordelobjeto, objetos complejos, operaciones, herencia, polimorfismo, vinculación dinámica yrelaciones,asícomolanavegaciónatravésdelasmismas[1].

La sintaxis del lenguaje OQL está preparada para mezclar las consultas con loslenguajesdeprogramaciónC++,SmaltakyJava.Asípues,unaconsultaenOQLembebidaenunodeestoslenguajesdeprogramacióndevolveráobjetosquecoincidanconelsistemadetiposdellenguajecorrespondiente[1].

OQL es un lenguaje de consulta fácil de usar, aunque computacionalmente no escompleto.Además,OQLesfácilmenteoptimizable,puestoqueesdeclarativo.

Porotro lado,OQLproporcionaprimitivasdealtonivelparael tratamientodetodotipo de colecciones. No proporciona operadores de actualización explícitos, sino que seactualizaatravésdeoperacionesdefinidassobrelosobjetos.

LasintaxisbásicadelOQLescomoenSQL:

SELECT….

FROM…

WHERE…

Engeneral,encadaconsultaserequiereunpuntodeentradaa laBasedeObjetos,queseráunobjetopersistente.LasconsultasOQLsonfuncionesquesiempreserealizaránsobrelaextensióndelasclases,queseráunacoleccióndeobjetospersistentesydevuelvenunobjetodeltipoquesededuzcadelaconsulta.

Enelsiguienteejemplo,vamosaseleccionarlasdistintasfechasdenacimientodelaspersonas cuyo nombre es “Ada”. La consulta devolverá un literal de tipo conjunto deelementosdetipofechasinduplicado(set<date>):

selectdistinctp.fecha_nac

frompersonasp

wherep.nombre=’Ada’

Lasiguienteconsultadevolveráunaestructuraquecontendrálafechadenacimientoyelsexo,esdecir,unliteraldeltipo:set<struct<date,string>>:

selectdistinctstruct(f:p.fech_nac,s:p.sexo)

frompersonasp

wherep.nombre=’Ada’

Page 33: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

32

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

Como hemos comentado con anterioridad, OQL soporta la definición de consultasnavegacionales,permitiendonavegaratravésdelosobjetos.Asíparaaccederalosobjetosyrecorrerlasrelacionesusaremos“.”obien“->”

Acontinuación,exponemosunejemploquemuestralaclasePersonayunaclasehijaEmpleado. Entre la clase Empleado existe una relación reflexiva para indicar que unempleadopuedetenervariossubordinados.

PERSONA

atributonombre

atributofec_nac

atributosalario

operaciónedad

EMPLEADO

operaciónantigüedad

Figura6:ClasePersonayClasehijaEmpleado[1]

Con la siguiente consulta se pretende devolver el nombre de cada empleado y sussubordinadosquetenganunsalariosuperiora1500euros.Esdecir,devolveráunliteraldeltipoconjuntodeelementosdetipoestructura:set<struct(n:string,smp:bag<empleados>)>

selectdistinctstruct(n:x.nombre,sub:

(selects

fromsinx.subordinados

wheres.salario>1500)

fromxinempleados

En esta otra consultamostramos cómo se pueden incluir consultas anidadas en lacláusulaFROM.Estaconsultadevolverá,paracadaempleadocuyaantigüedadseade7añosy cuyo nombre sea Antonio, la edad del empleado y salario (con duplicados). Es decir,

Page 34: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

33

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

devolverá un literal de tipo bolsa (con repetidos) con elementos de tipo estructura:bag<struct(e:integer,s:integer)>

selectstruct(e:x.edad,s:x.salario)

from(selecty

fromempleadosy

wherey.antiguedad=”7”asx

wherex.nombre=”Antonio”

2.5.7.4 VINCULACIÓN CON LENGUAJES DE PROGRAMACIÓN: C++ YJAVA

• VINCULACIÓNCONC++ Ya desde su primera versión, ODMG define una vinculación entre lasimplementacionesdeODMGyel lenguajedeprogramaciónC++.Elestándardefinecómoescribir código C++ paramanipular objetos persistentes de forma portable. A esto se leconocecomoC++OML,oellenguajedemanipulacióndeobjetos.TambiénseincluyeenelestándarunaversióndeODLqueusalasintaxisdeC++,elmecanismoparainvocarOQLyprocedimientospararealizaroperacionesytransaccionesenelSistemaGestordeBasesdeObjetos[1].

• VINCULACIÓNCONJAVA ODMG define además la vinculación entre el modelo de objetos del estándar y ellenguaje de programación JAVA, concretamente para la plataforma JAVA TM 2. EstavinculacióntambiénincluyelosmecanismosparainvocarsentenciasOQLyprocedimientosparaoperacionesytransaccionesenelSGBO[1].

2.5.8METODOLOGÍADEDISEÑODEBDBASADAENMDA

ElciclodevidaenlacreacióndeaplicacionesdeBasesdeDatosconstadeunaseriedeetapas,enlasquesevangenerandosalidas,quesonentradasparalassiguientesetapas.En nuestro caso, vamos a seguir una aproximación dirigida pormodelo para el diseño debases de objetos. Nos vamos a basar en la Arquitectura Dirigida por Modelos (MDA)propuestaporelgrupoOMG.

En una metodología basada en MDA, las etapas coinciden con los niveles de laarquitectura:

1. Modelado independiente de plataforma: A nivel PIM, del inglés PlatformIndependentModel,serealizaloquetradicionalmenteseconocecomoelmodeladoconceptualdedatosapartirdelosrequisitosdelusuario,sintomarenconsideración

Page 35: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

34

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

la tecnología seleccionada, puestoque se tratadeunmodelo independientede laplataforma.EstePIMdedatosserepresentarámedianteundiagramadeclasesUML,debido a que es el lenguaje demodelado estándar para sistemas de informaciónorientadosaobjetos[1].

2. Modelado específico de plataforma: A nivel PSM, del inglés Platform SpecificModel,sellevaacaboloquetradicionalmenteconocemoscomoeldiseñológicodela Base de Datos. En este nivel, los modelos ya son específicos de la tecnologíaconcreta elegida. Puesto que este apartado está dedicado al diseño de Base deDatos, elmodelo PSMelegido es elmodelo deobjetosODMG. Para pasar el nivelespecíficodeplataforma(PSM)aplicamoslasreglasdetransformaciónquevemosaseguidamente[1].

2.5.8.1REGLASDETRANSFORMACIÓNENTREMODELOS Deformasimilaracomolasmetodologíasparabasesdedatosrelacionalesproponenalgunasreglaspara latransformacióndeunesquemaconceptualenunesquemalógico.Acontinuación, vamos a proponer las reglas de transformación para pasar del nivel PIM alPSMutilizandolatecnologíadeBasesdeObjetos:

PIMdedatos PSMdedatos

ClasepersistenteUML ClaseODL+extensióndelaclase

Atributodelaclase AtributodelaclaseODL

Atributomultivaluado<<MA>> Atributodetipocolección(setolist)Atributocompuesto<<CA>> Atributodetipoestructura(struct)

Restricción OperacionesenelconstructorMétodo Signaturadeunaoperación

Relaciónbinaria RelaciónbinariaODL

Generalización RelaciónextendsoIS-A

Agregación

Miembro-Colección AtributoenelMiembro

Compuesto-Componente AtributoenelCompuesto(estructura)

A través de estas reglas de transformación se pretende pasar de un esquemaconceptualaunesquemalógicoenODLconlamenorpérdidadesemánticaposible.

Page 36: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

35

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• TRANSFORMACIÓNDECLASES CadaclasepersistenteUMLsetraduceaunaclasedeODL.Comoestamosdefiniendounesquemadebasesdedatos,asumimosquetodaslasclasessonpersistentes,porloqueparacadaclaseODLhabráquedefinirexplícitamentesuextensión.

CadaatributodeunaclaseUMLsetraduceenunatributoODL.

• Unatributomultivaluado<<MA>>setraduceenuntipocolección.• Unatributocompuesto<<CA>>seconvertiráenunaestructuraODL.

Las restricciones tienen que ser implementadas mediante operaciones en elconstructordelaclase.LosmétodossedefiniránpormediodeladefinicióndelsignaturadeunaoperaciónelODL[1].

Figura7:EjemplodetransformacióndeunaclaseUML

Persona

nombre

fecha_nac

dirección

teléfonos

edad()

PIM

PSM

classPersona(extentpersonas){ attributestringnombre; attributedatefecha_nac; attributestructT_Dirección{unignedshortnumero,stringcalle,stringlocalidad} dirección; attributeset<string>teléfonos; shortedad();}

Page 37: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

36

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• TRANSFORMACIÓNDERELACIONES Conrespectoa la transformaciónderelacionesUMLarelacionesenODLsepodránrealizardiferentesconversionesdependiendodelascardinalidadesdelarelación.

LasrelacionesbinariassetransformanmedianteladefiniciónderelacionesenODL.ElnombrealarelaciónenODLsecorresponderáconelnombredelarelación.

LacardinalidadmáximadeunarelaciónserecogeráenODMGenlapropiadefinicióndelarelación.Siesmayorque1,larelaciónsedefinirámedianteuntipodecolección(set,list,bag).Sies1,estarestricciónseimplementaráenlaoperacióndelconstructor.

Las relaciones reflexivas se representan en ODL como cualquier relación. El únicoaspecto importante a tener en cuenta es que deben ser definidas dos veces para poderrepresentarlosdoscaminosdelarelación[1].

Figura8:Ejemplodetransformaciónderelaciónbinaria

Silasrelacionestienenatributos,existendosposibilidadesdiferentes:

• SilacardinalidadesN:M,sedeberíaconvertirlarelaciónenunaclasenuevaconlosatributosdelarelaciónasícomodosrelacionesadicionales.

PIM

PSM

classProfesor(extentprofesores){ relationshipset<Asignatura>imparte_P inverseimparte_A::Asignatura;}classAsignatura(extentasignatura){ relationshipset<Profesor>imparte_A inverseimparte_P::Profesor;}

Profesor Asignaturaimparte

1..* *

Page 38: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

37

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• Silacardinalidades1:Nsepodríaincluirelatributoenlasclasesqueparticipanenlarelaciónconcardinalidad1.

ElmodelodedatosdelODMGúnicamentesoportarelacionesbinarias,porloquelasrelacionesn-arias, sedeberándefinir comoenelmodelo relacional, esdecir, creandounanuevaclase,conlapérdidadesemánticaqueestoconlleva.

• TRANSFORMACIÓNDEGENERALIZACIONES Lasgeneralizacionesanivelconceptual(PIM)puedeserdisjuntasosolapadas,totalesoparciales.Estasdosclasificacionessonortogonalesentreellas.

LageneralizacióndisjuntayparcialessoportadadirectamenteporelmodelodedatosdeODMGpormediodelarelaciónextend.

ElsolapamientonoessoportadoporelmodelodedatosdelODMG.

Encuantoalageneralizacióntotal,elmodelodedatosdelODMGnodefineningunanotaciónparasoportarlaexplícitamente.Así,unageneralizacióntotalsepodríadefinircomouna relación IS-A en ODL siendo el supertipo una interfaz. Sin embargo, es importantedestacar que una interfaz no se corresponde con una clase abstracta, puesto que unainterfaz, al contrario que una clase, no representa el estado. Simplemente, se trata de lamejorformaderepresentarunageneralizacióntotalenODL[1].

Figura9:Ejemplodetransformacióndegeneralización

PIM

PSM

classEmpleado(extentempleados){ }classProfesorextendsEmpleado(extentprofesores){}

Empleado

Profesor

disjunta,parcial

Page 39: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

38

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• TRANSFORMACIÓNDEAGREGACIONES Existendiferentesformasderepresentarelconceptodeagregación:agregacióncomountipoderelaciónbinariaylanotacióndeárboldeagregación.Existenalgunasdiferenciassemánticas entre agregaciones (Miembro-Colección) y el árbol de agregación (Compuesto-Componente).

• AgregacionesMiembro-Colección:

Representaunacoleccióndeobjetos, siendo todosellosde lamismaclaseyjuntosformanotraclase.Unejemploclásicoeseldelacoleccióndeárbolesqueformanunbosque.EstetipodeagregaciónsepodríatraducircomounatributodetipocolecciónenelmodelodedatosdelODMG.

ODL no proporciona ningún constructor que soporte directamente laagregación. La agregación Miembro-colección se soporta como un atributo de tipocolección,delamismaformaquesesoportanlosatributosmultivaluados.

A continuación, vemos un ejemplo de transformación de una agregaciónMiembro-Colección. Una asignatura que está compuesta por temas se transformará aODL, incluyendo en el todo un atributo de tipo conjunto (set) de partes, que en estecaso,seránlostemasquecomponenlaasignatura[1].

Figura10:EjemplodetransformacióndeunaagregaciónMiembro-Colección

PIM

PSM

classTema(extenttemas){ }classAsignatura(extentasignaturas){ attributeset<Tema>compone_A;}

Asignatura

Tema

Page 40: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

39

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• AgregacionesCompuesto-Componente:

Una agregación Compuesto-Componente representa una clase estructuradaque está compuesta de, al menos, dos clases diferentes. La diferencia principal conrespecto a la agregación Miembro-Colección es que los objetos componentespertenecenaunaclasediferente.Además,losobjetoscomponentestienenunarelaciónestructural entre ellos. Sin embargo, en una agregación Miembro-Colección no existeunarelaciónestructuralentresusmiembros.

LaagregaciónCompuesto-Componenteserepresentaráenelmodelodedatosde ODMG, definiendo en la clase compuesto un atributo de tipo estructura, con unmiembroparacadaclasecomponente.TantoenelmodelodedatosdelODMG,comoenlamayoríadebasesdeobjetos,nosesoportaelconceptodeagregación,yporlotanto,noexistendiferenciasentreatributosyagregaciones[1].

En el siguiente ejemplo, podemos ver cómo se transforma en ODL una agregaciónCompuesto-Componente, en la que el compuesto es un programa de doctorado y loscomponentessonelprimeryelsegundoañodedoctorado.

Figura11:EjemplodetransformacióndeunaagregaciónCompuesto-Componente

PIM

PSM

classPD_Año1(extentpd_año1_s){ }classPD_Año2(extentpd_año2_s){ }classP_Doctorado(extentps_doctorado){ attributestructconsta{PD_Año1a1,PD_Año2a2}}

Prog_Doctorado

PD_Año1 PD_Año2

Page 41: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

40

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• TRANSFORMACIÓNDECOLECCIONESYTIPOSESTRUCTURADOS Comohemos podido comprobar, los tipos colección y estructurados son conceptosclaveeneldiseñodebasesdeobjetos,yconstituyenunadelasprincipalesdiferenciasconrespectoalasbasesdedatosrelacionales.Permitenladefinicióndeatributosmultivaluados,delascardinalidadesdelasrelaciones,agregaciones,etc.

ElmodelodedatosdelODMGsoportadiferentestiposdecolección,portanto,lomásimportanteeselegireltipomásapropiadoparacadacaso.

Comoreglageneral,sedeberíanusarlostiposcoleccióndelasiguienteforma:

• Tipo Bag: Si la colección admite duplicados, tiene un número ilimitado deelementos,yelordennoesrelevante.

• Tipo Set: Si la colección también tiene un número ilimitado de elementos y elordennoesrelevante,peronoadmiteduplicados.

• TipoList:Sieltipocoleccióntieneunnúmeroilimitadodeelementosyelordenesrelevante,aunqueloselementosesténduplicadosono.

• Tipo Dictionary: El tipo colección tiene un número ilimitado de parejas deelementos(clave-valor),sinclavesduplicadas.

• Tipo Array: Si el tipo colección tiene un número limitado de elementos queocupanunaposiciónfijaeindexable.

EncuantoalTipoStruct,seusacuandoelelementoquesedesearepresentaresunelementocompuestoy cadacomponente tieneun tipodedatosdiferente.Unaestructuratieneunnúmerolimitadodecomponentes.Porejemplo,unadirecciónesunaestructuraconcuatrocomponentes:calle,número,localidadyciudad.

Laprincipaldiferenciaentreunaestructurayunaclaseesquelaclaserepresentauntipo de objeto y una estructura un tipo valor, es decir, un literal en la terminología delODMG.Ladistinciónentreobjetosyvaloreshasidounadelasmásimportantesdiscusionesenelparadigmade laorientaciónaobjetos.Smalltalknodistingueentreobjetosyvalores,porloqueeltipodirecciónsetienequerepresentarcomounliteral(quenoeslomismoqueunvalor)obiencomounaclase.Sinembargo,C++soportaestructurasyclases,deformaqueladirecciónserepresentaríacomounaestructura.

2.5.9LENGUAJESDEPROGRAMACIÓNPERSISTENTES Los lenguajesde lasbasesdedatos sediferenciade los lenguajesdeprogramacióntradicionales en que trabajan directamente con datos que son persistentes, es decir, losdatossiguenexistiendounavezqueelprogramaqueloscreóhayaconcluido.Lasrelacionesdelasbasededatosylastuplasdelasrelacionessonejemplosdedatospersistentes.Porelcontrario, los únicos datos persistentes con los que los lenguajes de programacióntradicionalestrabajandirectamentesonlosarchivos.

Page 42: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

41

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

Elaccesoalasbasesdedatosessólouncomponentedelasaplicacionesdelmundoreal. Mientras que los lenguajes para el tratamiento de datos como SQL son bastanteefectivos en el acceso a los datos, se necesita un lenguaje de programación paraimplementar otros componentes de las aplicaciones como las interfaces de usuario o lacomunicaciónconotrascomputadoras.LamaneratradicionalderealizarlasinterfacesdelasbasesdedatosconloslenguajesdeprogramaciónesincorporarSQLdentrodellenguajedeprogramación.

Los lenguajes de programación persistentes son lenguajes de programaciónextendidos conestructurasparael tratamientode losdatospersistentes. Los lenguajesdeprogramación persistentes pueden distinguirse de los lenguajes con SQL incorporado, almenos,dedosformas:

1. En los lenguajes incorporados, el sistema de tipos del lenguaje anfitrión suele serdiferente del sistema de tipos del lenguaje para el tratamiento de datos. Losprogramadores son los responsables de las conversiones de tipos entre el lenguajeanfitrión y SQL, lo que presenta varios inconvenientes. Por el contrario, en loslenguajesdeprogramaciónpersistentes,ellenguajedeconsultassehallatotalmenteintegradoconellenguajeanfitriónyamboscompartenelmismosistemadetipos.Losobjetos se pueden crear y guardar en la base de datos sin ninguna modificaciónexplícita del tipo o del formato. Los cambios de formato necesarios se realizan demaneratransparente[2].

2. Losprogramadoresqueusanlenguajesdeconsultasincorporadosonresponsablesdela escritura de código explícito para la búsqueda en lamemoria de los datos de labase de datos. Si se realizan actualizaciones, los programadores deben escribirexplícitamente código para volver a guardar los datos actualizados en la base dedatos. Por el contrario, en los lenguajes de programación persistentes, losprogramadores pueden trabajar con datos persistentes sin la necesidad de escribirexplícitamentecódigoparabuscarlosenlamemoriaovolveraguardarloseneldisco[2].

Enestasección,vamosadescribirlaformaenquesepuedenextenderloslenguajesde programación orientados a objetos, como C++ y Java, para hacerlos lenguajes deprogramación persistentes. Las características de estos lenguajes permiten que losprogramadorestrabajenconlosdatosdirectamentedesdeellenguajedeprogramación,sinnecesidadderecurriraloslenguajesdetratamientodedatoscomoSQL.Portanto,ofrecenunaintegraciónmásestrechadeloslenguajesdeprogramaciónconlasbasesdedatosque,porejemplo,SQLincorporado.

No obstante, los lenguajes de programación persistentes presentan ciertosinconvenientesquehayquetenerpresentesaldecidirsiconvieneusarlosono.Puestoquelos lenguajesdeprogramación suelen ser potentes, resulta relativamente sencillo cometererroresdeprogramaciónquedañenlasbasesdedatos.Lacomplejidaddeloslenguajeshace

Page 43: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

42

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

quelaoptimizaciónautomáticadealtonivel,comolareduccióndeE/Sdedisco,resultemásdifícil[2].

Enestasección,describimosvariosproblemasteóricosquehayqueabordaralahorade añadir persistencia a los lenguajes de programación ya existentes. En primer lugar,abordamos los problemas independientes de los lenguajes y después se tratan problemasquesonespecíficosdeloslenguajesC++yJava.

2.5.9.1PERSISTENCIADELOSOBJETOS Los lenguajes de programación orientados a objetos ya poseen un concepto deobjeto,unsistemadetiposparadefinirlostiposdelosobjetosyconstructoresparacrearlos.Sin embargo, esos objetos son transitorios, los cuales desaparecen en cuanto finaliza elprograma. Si se desea transformar uno de estos lenguajes en un lenguaje para laprogramación de bases de datos, el primer paso consiste en proporcionar unamanera dehacerpersistentesalosobjetos[2].

Sehapropuestovariosenfoques:

• Persistenciaporclases:Todoslosobjetosdelaclaseson,portanto,persistentesdemanera predeterminada. Todos los objetos de las clases no persistentes sontransitorios.Esteenfoquenoesflexible,dadoquesueleresultarútildisponerenunamismaclasetantodeobjetostransitorioscomodeobjetospersistentes.

• Persistenciaporcreación:Losobjetossonpersistentesotransitoriosenfuncióndelaforma de crearlos. Varios sistemas de bases de datos orientados a objetos siguenesteenfoque.

• Persistencia por marcas: Todos los objetos se crean como transitorios, pero si unobjeto tienequepersistirmásalláde laejecucióndelprograma,hayquemarcarlocomopersistentedemaneraexplícita antesdequeéste concluya. Esteenfoque, adiferenciadelanterior,posponeladecisiónsobre lapersistenciao latransitoriedadhastadespuésdelacreacióndelobjeto.

• Persistencia por alcance: Uno o varios objetos se declaran objetos persistentes(objetos raíz)demaneraexplícita.El restodeobjetos seránpersistentes sipuedenseralcanzadosdesdealgúnobjeto raízmedianteunasecuenciade referencias.Portanto,todos losobjetosa losquesehagareferenciadesdelosobjetospersistentesraíz serán persistentes. Una ventaja es que resulta sencillo hacer que seanpersistentesestructurasdedatos completas con sólodeclarar comopersistente suraíz.Sinembargo,elsistemadebasesdedatossufrelacargadetenerqueseguirlascadenasdereferenciasparadetectar losobjetosquesonpersistentes,yesopuederesultarcostoso.

2.5.9.2SISTEMASPERSISTENTESENC++ Varias de las características orientadas a objetos del lenguaje C++ ayudan aproporcionar un buen soporte para la persistencia sin modificar el propio lenguaje. Porejemplo,sepuededeclararunaclasedenominadaPersistent_Object(objetopersistente)con

Page 44: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

43

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

losatributosylosmétodosparadarsoportealapersistencia,ycualquierotraclasequedebaserpersistentepuedehacersesubclasedeestaclaseyheredaráelsoportedelapersistencia.El lenguaje C++ permite también redefinir los nombres de las funciones y los operadoresestándar (+, -, el operador de desvinculación de punteros!, etc.) en función del tipo deoperandos a los que se aplican. Esta posibilidad se denomina sobrecarga y se usa pararedefinir losoperadoresparaquesecomportende lamaneradeseadacuandooperanconobjetospersistentes.

Proporcionar apoyo a la persistenciamediante las bibliotecas de clases presenta laventaja de que se realizan cambios mínimos en C++ y resulta relativamente fácil deimplementar.Sinembargo,presentaelinconvenientedequelosprogramadorestienenqueusarmás tiempo en escribir los programas que trabajan con objetos persistentes y no essencillo especificar las restricciones de integridad del esquema ni ofrecer soporte para lasconsultasdeclarativas.AlgunasimplementacionespersistentesdeC++soportanextensionesdelasintaxisdeC++parafacilitarestastareas[2].

Es necesario abordar los siguientes problemas a la hora de añadir soporte a lapersistenciaaC++yaotroslenguajes:

• Punterospersistentes:Sedebedefinirunnuevotipodedatosparaquerepresentelospunterospersistentes.

• Creacióndeobjetospersistentes:EloperadornewdeC++seusaparacrearobjetospersistentesmediante la definición de una versión sobrecargada del operador queusaargumentosadicionalesespecificandoquedebencrearseenlabasededatos.Portanto,enlugardenewT()seusanew(bd)T()paracrearunobjetopersistente.

• Extensionesdelasclases:LanormaODMGdeC++exigequeelnombredelaclasesepase como parámetro adicional a la operaciónnew. Esto permitemantener variasextensionesparacadaclase,pasandodiferentesnombres.

• Relaciones: Las relaciones entre las clases se suelen representar almacenandopunteros de cada objeto a los objetos con los que está relacionado. Los sistemaspersistentesdeC++ofrecenunamaneradeespecificaresasrestriccionesydehacerquesecumplanmediantelacreaciónyborradoautomáticodelospunteros.

• Interfaz iteradora:Dadoquelosprogramastienenqueiterarsobrelosmiembrosdelasclases,esnecesariounainterfazparaiterarsobrelosmiembrosdelasextensionesde lasclase.La interfaz iteradoratambiénpermiteespecificarselecciones,demodoquesólohayquecapturarlosobjetosquesatisfaganelpredicadodeselección.

• Transacciones: Los sistemaspersistentesdeC++ofrecensoporteparacomenzar lastransaccionesyparacomprometerlasoprovocarsuretroceso.

• Actualizaciones: Uno de los objetivos de ofrecer soporte a la persistencia a loslenguajes de programación es permitir la persistencia transparente. Es decir, unafunción que opera sobre un objeto no debe necesitar saber que el objeto espersistente, por lo que se pueden usar las mismas funciones sobre los objetosindependientementedequeseanpersistentesono.Sinembargo,surgeelproblemadequeresultadifícildedetectarcuándosehaactualizadounobjeto.

Page 45: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

44

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• Lenguajes de consultas: Los iteradoresofrecensoporteparaconsultasde selecciónsencillas.ParasoportarconsultasdeseleccióncomplejaslossistemaspersistentesdeC++definenunlenguajedeconsultas.

GrannúmerodesistemasdebasesdedatosorientadosaobjetosbasadosenC++sedesarrollaronafinalesdelsigloXX.Sinembargo,elmercadoparaesasbasesdedatosresultómuchomás pequeño de lo esperado, puesto que la mayor parte de los requisitos de lasaplicacionessecumplenusandoSQLmedianteinterfacescomoODBCoJDBC.Enlosaños90el Grupo de Gestión de Datos de Objetos (ODMG) definió las normas para agregarpersistenciaaC++yJava.Noobstante,elgrupoconcluyósusactividadesalrededorde2002[2].

Aunquelossistemasdebasesdedatosorientadosaobjetosnoencontraroneléxitocomercial que esperaban, la razón de añadir persistencia a los lenguajes de programaciónsiguesiendoválida.Hayaplicacionescongrandesexigenciasderendimientoqueseejecutanensistemasdebasesdedatosorientadasaobjetos,elusodeSQLimpondríaunasobrecargaderendimientoexcesivaparamuchosdeestossistemas.Conlossistemasdebasesdedatosrelacionales orientados a objetos que proporcionan soporte para los tipos de datoscomplejos, incluidas las referencias, resulta más sencillo almacenar los objetos de loslenguajesdeprogramaciónenbasesdedatosdeSQL.

2.5.9.3SISTEMASJAVAPERSISTENTES LademandadesoportedelapersistenciadelosdatosenlosprogramasdeJavasehaincrementado al mismo tiempo que el uso del lenguaje ha ido creciendo. Los primerosintentos de creación de una norma para la persistencia en Java fueron liderados por elconsorcio ODMG. Posteriormente, el consorcio concluyó sus esfuerzos, pero transfirió sudiseño al proyectoObjetos de Bases de Datos de Java (JavaDatabaseObjects, JDO), quecoordinaSunMicrosystems[2].

El modelo JDO para la persistencia de los objetos en los programas de Java esdiferente del modelo de soporte de la persistencia en los programas C++. Entre suscaracterísticassehallan:

• Persistenciaporalcance:Losobjetosnosecreanexplícitamenteenlabasededatos.Elregistroexplícitodeunobjetocomopersistentehacequeelobjetoseapersistente.Además, cualquier objeto alcanzable desde un objeto persistente pasa a serpersistente.

• Mejoradelcódigodebytes:EnlugardedeclararenelcódigodeJavaqueunaclaseespersistente,seespecificanenunarchivodeconfiguración(conextensión.jdo)lasclasescuyosobjetospuedenhacersepersistentes.Seejecutaunprogramamejoradorespecíficodelaimplementaciónqueleeelarchivodeconfiguraciónyllevaacabodostareas:

Page 46: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

45

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

1. Puedecrearestructurasenlabasededatosparaalmacenarobjetosdeesaclase.

2. Modifica el código de bytes (generado al compilar el programa de Java)paraquemanejetareasrelacionadasconlapersistencia.

• Asignacióndebasesdedatos:JDOnodefinelaformaenquesealmacenanlosdatosen la base de datos subyacente. Por ejemplo, una situación frecuente es que losobjetossealmacenenenunabasededatosrelacional.Elprogramamejoradorpuedecrearen labasededatosunesquemaadecuadoparaalmacenar losobjetosde lasclases. Lamanera exacta en que lo hace depende de la implementación y no estádefinidaporJDO.

• Extensiones de clase: Las extensiones de clase se crean y se conservandemaneraautomática para cada clase declarada como persistente. Todos los objetos que sehacen persistentes se añaden de manera automática a la extensión de clasecorrespondiente a su clase. Los programas de JDO pueden tener acceso a lasextensionesdeclaseeiterarsobrelosmiembrosseleccionados.

• Tipode referenciaúnico:Nohaydiferenciadetiposentrereferenciasa losobjetostransitoriosylasreferenciasalosobjetospersistentes.

2.5.10 SISTEMAS ORIENTADOS A OBJETOS Y SISTEMASRELACIONALESORIENTADOSAOBJETOS Las bases de datos orientadas a objetos se crean alrededor de los lenguajes deprogramaciónpersistentes,mientrasquelasbasesdedatosrelacionalesorientadasaobjetossonbasesdedatosorientadasaobjetosconstruidassobreelmodelorelacional.

Las extensiones persistentes de los lenguajes de programación y los sistemasrelacionalesorientadosaobjetossedirigenhaciamercadosdiferentes.

Los puntos fuertes de los diversos tipos de sistemas de bases de datos puedenresumirsedelasiguienteforma[2]:

• Sistemas relacionales: Tipos de datos sencillos, lenguajes de consultas potentes yprotecciónelevada.

• Bases de datos orientadas a objetos basadas en lenguajes de programaciónpersistentes: Tipos de datos complejos, integración con los lenguajes deprogramación,elevadorendimiento.

• Sistemas relacionalesorientadosaobjetos:Tiposdedatoscomplejos, lenguajesdeconsultaspotentes,protecciónelevada.

2.6TENDENCIASFUTURAS Según el International Data Corporation (IDC), principal proveedor mundial deinteligenciademercado,serviciosdeconsultoríayeventosparalosmercadosdetecnologíade la información, telecomunicacionesy tecnologíadeconsumo,nosencontramosanteun

Page 47: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

46

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

momento ideal para elmundode las bases dedatos, connuevas iniciativas emergentes yfuturasenapoyodelacomputaciónenlanube,gestióndedatosenmemoriayBigData[4].

Porunlado,lacomputaciónenlanubeofrecelasbasesdedatoscomoservicios.Secontrataelserviciodeunabasededatosenlanube,enlugardemantenerunservidoryunabasededatos.ComoejemplodeproveedordeserviciopodemosmencionaraSQLAzuredeMicrosoftqueconfiguralabasesegúnlosrequerimientosdelclienteyofreceaccesoatravésdeunnavegadorweb.Elmismoproveedordeservicioeselencargadodelmantenimiento,configuración de la base de datos y del servidor, garantizando una alta disponibilidad. Elusuariomientrastantosededicasoloyexclusivamenteatrabajarconlabasededatos.

Por otro lado, el manejo de datos en memoria hace referencia a bases de datosmanejadasenlamemoriaRAMgarantizandoasílarápidavelocidaddeejecución,juntoconalgúnmétodoquegaranticelapersistenciadelainformación.

LosBigDatamanejaninformaciónobtenidadesdediversasfuentesyformatos,comoes el caso de páginas web, redes sociales, el análisis del genoma humano, la física departículas,entreotros.Estosalmacenesdedatospresentandificultadesquenopuedenserresueltasmedianteelusodesistemasdegestióndebasesdedatostradicionales[5].

BigData agrupa las técnicas de almacenamiento, análisis y manejo de inmensosrepositorios de datos y centra sus características en tres partes: Volumen, Variedad yVelocidad.

Lainformacióngeneradaapartirdelaabundanciadesensores,micrófonos,cámaras,etc., en nuestra vida diaria será dentro de poco el segmento más grande de toda lainformación disponible. En este punto, BigData será una herramienta indispensable paraquienessededicanalainvestigaciónpuesgraciasaellaseráposibledescubrircosasquesinestasherramientashabría tomadoañosde investigacióny recopilaciónde información. LacuestiónqueafrontaelBigDataes,por tanto,elmodoenelqueesa ingentecantidaddedatos(loqueenmuchasocasionesesnombradocomoeldatadeluge,eldiluviouniversaldedatos)quesealmacenanyproducendiariamentepuedasergestionadodetalmodoqueseconviertaenconocimiento;yconelconocimiento,envalor[5].

ElconceptodeBigdataapenasseempiezaaconocerenelmedioorganizacional,porloqueseignoranaspectosrelevantesdeltema.Lasempresasdesconocenquéhacerconelgranvolumendedatosquegeneranylesllegadeotras.UnodelosproblemasdelBigDataesla forma como crece cada día en volumen, velocidad y variedad, debido al desarrolloalgorítmicodelasnuevastecnologías.

Actualmente,seestudianlasformasdeacelerarconsultas,algoritmosdecompresión,obtenerinformesquetomanmenortiempoengenerarseparaqueseanútilesenlatomadedecisiones,almacenardatosahorrandoelmáximoespacioysinafectaralrendimiento.

ExistenvariasarquitecturaspropuestasdeBigdata,peroMicrosoftproponeunoqueconstadecuatrocomponentes[6]:

Page 48: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

47

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• Fuentes de Datos (Data Sources): Estos datos presentan tres características quedefinen el Big Data: volumen, velocidad y variedad. Este tipo de datos sonindependientesdelcontexto.

• TransformacióndeDatos (DataTransformation):Constadecuatrosubetapas.Cadauna de ellas puede tener su etapa de preprocesamiento específico, creación demetadatos,utilizardiferentesinfraestructurasdedatosespecializadosdeacuerdoconsusnecesidades,tenersupropiaprivacidad,asícomosuspropiaspolíticas.

• InfraestructuradeDatos(Data Infrastructure):Seconsideralainfraestructuracomoun paquete de almacenamiento de datos o software de base de datos, servidores,almacenamientoy redesutilizadosenapoyode las funcionesde transformacióndedatosydealmacenamientodedatossegúnseanecesario.

• Uso de Datos (Data Usage): Este aspecto depende del usuario y sus necesidadesparticulares, pero estos se pueden presentar en diferentes formatos y bajo ciertasconsideracionesdeseguridad.

Figura12:ArquitecturaBigDatapropuestaporMicrosoft

Por otro lado, han surgido nuevos Sistemas Gestores de Bases de Datos NoSQL(depósitosllave-valor,basadosendocumentos,tabularyorientadosagrafos).Lamayoríade

Page 49: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

48

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

estosSGBOsonDocument-orienteddatabasesdondela informaciónesundocumentoconformatoJSONoXML.Ejemplos:MongoDByCouchDB[5].

Además,podemos mencionara labasededatosorientadaaobjetos ligerosNoSQLSterlingpara.Net4.0,Silverlight4y5,yWindowsPhone7quefuncionaconsusestructurasdeclaseexistentes.SterlingescompatibleconLINQcompletoalobjetodeconsultassobreclaveseíndicesparaunarápidarecuperacióndeinformacióndegrandesconjuntosdedatos.Suscaracterísticasson:nointrusividad,ligero,flexibleyportátil.

Sterling, aún es un proyecto, por lo que actualmente, no hay tiempo de respuestagarantizado para correcciones de errores y no hay línea de soporte técnico. Una de lasventajas es que el cliente tiene 100% de acceso sin costo alguno, a tomar la fuente,modificarla, arreglarla, outilizarla.Nohay cuota comercial para esteproyecto. Se esperanfuturasversiones[7].

Sin embargo, es importante destacar que aún existenmuchas preguntas abiertas yáreasdeinvestigaciónactivasalrededordelosSistemasNoSQL.Porejemplo,setienequelosalmacenesclave-valorpresentanproblemaspararealizarconsultascomplejas,algunasdelasbasesdedatosorientadasagrafosnopuedenrealizarparticionamiento,ylamayoríadelasimplementaciones de bases de datos documentales y tipo BigTable son incapaces deefectuarunionesotransaccionesqueabarquenvariasfilasodocumentos[5].

Porello,nosedescartaqueenelfuturo,ambossistemas,basesdedatosrelacionalesyalmacenesdedatosNoSQL, se complementenyque la tendencia sea la construccióndesistemashíbridoscompuestospormúltiplesalmacenesdedatoscadaunodeellosbasadoendiferentesprincipios[5].

2.7JUSTIFICACIÓNDELAUNIDADDIDÁCTICA Una base de datos orientada a objetos es algomuy diferente a una base de datosrelacional. Las bases de datos relacionales se han estado usando durantemucho tiempo,perodadalacrecienteutilizacióndeloslenguajesorientadosaobjetoscomoJava,unaBasedeDatosOrientadaaObjetosesunmecanismomuyútileneldesarrollodeproyectos.

Lasbasesdedatos relacionales tienenunestándar fuerte comoes el SQLmientrasque las Bases de Datos OO pueden ser consultadas de diferentes formas. Por ello, paratrabajar launidaddetrabajopropuestaenlaproyeccióndidácticatitulada“Persistenciadelosobjetosenbasesdedatosorientadasaobjetos”,vamosautilizardb4o, lacualesunabase de datos con licencia GPL (Licencia Pública General de GNU) y puede utilizarse sinproblemaparadesarrollo,usointernooasociadaaotrasherramientasGPL.

Db4oesunaverdaderabasedeobjetosnativade Javay ladistribuciónesunúnico.zip.

UnadelascaracterísticasqueofrecenmuchasBasesdeDatosOrientadasaObjetosesqueseintegranmuybienenellenguajedeprogramación.Enelcasodedb4oseutilizaráunaAPI (Application Program Interface) que ofrece para manejar la base de datos. La

Page 50: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

49

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

documentacióndelAPIvieneenformatoJavaDocyunadelasinterfacesmásimportantesescom.db4o.ObjectContainer[3].

AlolargodelaunidadseverándistintasformasdeconsultarlaBDdependiendodelascaracterísticasdelproyecto:

• Query By Example (QBE): La forma más básica de consultar la base de datos. Essencillapuestoquefuncionapresentandounejemployserecuperaránlosdatosquecoincidanconelmismo.

• NativeQueries(NQ):Sonconsultasnativas.Eslainterfazprincipaldelabasededatosyaconsejadoporlosdesarrolladoresdb4o.

• SODA(SimpleObjectDataAccess):EslaAPIinternaypuedeutilizarseparagenerarconsultasdinámicamente.EsmuchomáspotenteyrápidaqueQBEyNQ,dadoqueestosdostiposdeconsultasdebensertraducidasaSODAparaejecutarse.

Page 51: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

50

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

3.PROYECCIÓNDIDÁCTICA3.1INTRODUCCIÓN Unadelastécnicasquetododocentedebedominaresladeorganizarsutrabajodeuna forma sistemática y científica que se apoye en fundamentos que las Ciencias de laEducaciónsostienencomobuenosparalaprácticadocente.

UnaherramientaqueindiscutiblementepuedeayudaralprofesoradesarrollarsutareadeunaformamásprofesionaleslaProgramaciónDidácticaodeAula,enlaqueseconcreteunplandeactuaciónabiertoyflexible,seadecueaundeterminadocontexto,yseaviableen cuanto al tiempo espacio y recursos disponibles, con el objetivo de minimizar lanecesidaddeimprovisaciónenelaulayatenderlascaracterísticasespecíficasdelalumnadoatravésdelaAtenciónalaDiversidad.

EnestasegundapartedelTrabajoFinaldeMásterdiseñaremosunaplanificacióndelalabordocenteenelaula,enlaqueseconcretanlosobjetivosdeaprendizaje,desarrolladosatravés de una serie de contenidos, donde se proponen actividades de enseñanza-aprendizaje, las cuales serán posteriormente evaluadas a través de unos criterios deevaluación.

3.2 PRESENTACIÓN DEL MÓDULO Y DE LA UNIDADDIDÁCTICA

La proyeccióndidácticaquenosocupa se va a llevar a cabopara elmódulo titulado“Programación”,impartidoenelprimercursodelossiguientesCiclosFormativosdeGradoSuperior:

1. DesarrollodeAplicacionesMultiplataforma(DAM)2. DesarrollodeAplicacionesWeb(DAW)

LosCFGSDAMyDAWpertenecenalaFamiliaProfesionaldeInformáticaytieneunaduración de 2000 horas, equivalente a un máximo de 5 trimestres de formación en elcentroeducativo,máslaformaciónenelcentrodetrabajocorrespondienteylarealizacióndelProyectoIntegrado.

ParaeldesarrollodelTrabajoFinaldeMásterhemosconsideradoelCFGSDesarrollodeAplicacionesMultiplataforma.

ElmódulodeProgramación,estádotadodeunacargalectivade256horasdistribuidasen8horassemanalesduranteaproximadamente32semanas.Encadasemanaseimparten4sesionesde2horascadauna.

Launidaddidácticaquevamosadesarrollar secorrespondecon laúltimaunidaddelmóduloysetitula“Persistenciadelosobjetosenbasesdedatosorientadasaobjetos”conunaduraciónde12h.

Page 52: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

51

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

3.3ANÁLISISDELENTORNODELCENTRO

Vamos a contextualizar la proyección didáctica para un Instituto de EducaciónSecundaria Público, en concreto, IES Saladillo de Algeciras, y para un nivel educativoespecífico,porloqueesimprescindibletenerpresentelascaracterísticassocio-económicasdel entorno, el nivel cultural y formativo de la familia, el sistema de comunicaciones, laclimatología,elentornoproductivoasícomolascaracterísticasdelcentroeducativo.

3.3.1CONTEXTOEXTERNO• Característicassocio-económicasdelentorno:

ElcentroseencuentraenelextremosudestedelaprovinciadeCádizenellímitedelaprovinciadeMálaga.Lazonahaexperimentadounimportanteaumentoenelnúmerodehabitantesdurantelosúltimos15añosdebidoalacrecienteinmigración.Elcentroseubicaenunentornourbano,habitadoporpoblaciónconunnivel socioeconómicobajo,siendolaprincipalactividadeconómicaelsectorservicios.

• Nivelculturalyformativodelafamilia:

Elnivelculturaldelasfamiliasdelaciudadpuedeconsiderarsemedio,aunquehayunagran bolsa de inmigración que plantean problemas de comunicación y deentendimientoconelrestodelapoblación,siendoestainmigracióndesdeunaltoniveladquisitivohastaotrotipodeunnivelmuybajo.

• Sistemadecomunicaciones:

Al tratarse de una enseñanza post obligatoria, el alumnado puede proceder decualquier población colindante. Sin embargo, el transporte público es escaso. Unporcentaje muy mínimo procede de otras poblaciones, donde el único medio detransporteeselcocheparticular.

• Climatología:

Puestoquelaclimatologíanoesadversa,engeneral,elabsentismoescolaresmínimoyelqueseproducenoesporestemotivo.

• EntornoEmpresarialoProductivo:

AlgecirasesunmunicipiodelCampodeGibraltarcon118.920habitantescensadosafecha del 2015. Está ubicado a 21 km del Peñón de Gibraltar, zona donde se handesarrollado numerosas empresas relacionadas con la programación que demandanprogramadores en lenguajes como Java, C++, C#, PHP o Phyton. Además, a los

Page 53: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

52

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

trabajadoresselespagaenlibras,cuyovaloressuperioraleuro.Portanto,lostécnicossuperiores de los ciclos de DAM o DAWpueden encontrar una salida laboral amuypocadistancia,comoprogramador,comercialdeaplicacionesinformáticos,etc.

3.3.2CONTEXTOINTERNO Sehaconsideradocomoreferenteuncentrodocentedetipopúblico,conunaofertaeducativaLOE-LOMCE,conunbuenequipamientoenloquealáreaserefiereysituadoenunmunicipiodelaprovinciadeCádiz.Seimpartelossiguientescursos:

• EducaciónSecundariaObligatoria.• BachilleratodeCienciasyTecnologías.• BachilleratodeHumanidadesyCienciasSociales.• FormaciónProfesionalBásicadeInformáticayComunicaciones.• CFGMSistemasMicroinformáticosyRedes.• CFGSDesarrollodeAplicacionesMultiplataforma.

3.4.CARACTERÍSTICASDELALUMNADO EnelCicloSuperiordeAdministracióndeSistemasInformáticoselalumnadopresentaunaedadavanzada,entre19y40años.Encuantoalniveleducativoaproximadamenteun60% del alumnado procede del CFGM SistemasMicroinformáticos y Redes, otro30% deBachillerato y un 10% proceden de la Universidad o mundo laboral. A excepción de losalumnosprocedentesdeBachillerato,elrestohadebidohacerunapruebadeacceso.

Comoyacomentábamosanteriormente,elCicloFormativoencuestión,altratarsedeuntipodeenseñanzapostobligatoriayalnoserofertadoenotroscentrospúblicosdocentesde la ciudad y alrededores, tiene una parte del alumnado procedente de diversas zonaspróximas a Algeciras, como Los Barrios o San Roque, dando lugar a una importantediversidadculturalysocial.

Estetipodealumnadopresentaunaactitudmuyresponsableycomprometida.

Además,elvercercanoelmomentodelafinalizacióndesusestudiosylarealizacióndelmódulo de “Formación enCentros de Trabajo”motiva con creces a los alumnos, puesparaalgunosessuprimercontactoconelmundoempresarial,yparatodosessuocasióndeponerenpráctica losconocimientosadquiridos,enunentorno“real”yconelrespaldodelcentroformativo.

3.5MARCOLEGISLATIVO A continuación, situamos nuestra proyección didáctica dentro del siguiente marcolegislativoyeducativo:

Page 54: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

53

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

AtendiendoalDerechoalaEducación,destacamos:

• ConstituciónEspañolade1978,en laqueatravésdelArtículo27,atribuyeatodoslos españoles el derecho a la educación. Garantiza las libertades de enseñanza, decátedraydecreacióndeCentros,asícomoelderechoarecibirformaciónreligiosaymoraldeacuerdoconlaspropiasconvicciones.

• EstatutodeAutonomíaparaAndalucía,aprobadoporlaLeyOrgánica2/2007,de19demarzo, de reforma del Estatuto de Autonomía para Andalucía, establece, en suArtículo52,lascompetenciascorrespondientesalaComunicadAutónomaenmateriade enseñanza no universitaria. El Artículo 10 garantiza el acceso de todos losandaluces aunaeducaciónpermanente yde calidadque lespermita su realizaciónpersonalysocial.

AtendiendoalSistemaEducativodestacamoslasiguientenormativa:

• Real Decreto 1128/2003, de 5 de septiembre, se regula el Catálogo Nacional deCualificacionesProfesionales.Lafinalidaddeestecatálogoesposibilitarlaintegraciónde las ofertas de formación profesional, adecuándolas a las características ydemandas del sistema productivo, promover la formación a lo largo de la vida yfacilitarlamovilidaddelostrabajadores,asícomolaunidaddelmercadodetrabajo.Ytodo ello, garantizando los niveles básicos de calidad derivados de la permanenteobservación y análisis del sistema productivo, así como de las demandas de lasociedad.

• LeyOrgánicadelaEducación2/2006,de3demayode2006.EnsuArtículo1,regulaelderechoaunaeducacióndecalidad,equitativa,flexible,orientativa,motivadorayconcebidacomounaprendizajepermanentealolargodetodalavida.

• LeyOrgánicapara laMejorade laCalidadEducativa8/2013,de9dediciembre.Esuna ley con carácter de ley orgánica quemodifica la LeyOrgánica 2/2006, de 3 demayo,deEducación(LOE),seisartículosyunadisposiciónadicionaldelaLeyOrgánica8/1985,de3dejulio,queestableceelDerechoalaEducación(LODE).

• LeydeEducacióndeAndalucía(LEA)17/2007,de10dediciembre.EnelArtículo5,seestablecequeesnecesarioabordar los temas transversalesparaciclo formativo,aunqueesteniveldeenseñanzaseapostobligatorio.EnsuArtículo68,establecequela formación profesional comprende el conjunto de acciones formativas quecapacitan para el desempeño cualificado de las diversas profesiones, el acceso alempleoylaparticipaciónactivaenlavidasocial,culturalyeconómica.ElArtículo69,regulaquetodoslosciclosformativosdeformaciónprofesionalinicialincluiránensucurrículo además de los módulos asociados a competencias profesionales, laformaciónrelativaaprevenciónderiesgoslaborales,tecnologíasdelainformaciónyla comunicación, fomento de la cultura emprendedora, creación y gestión deempresas,yautoempleoyconocimientodelmercadodetrabajoyde lasrelacioneslaborales.

Page 55: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

54

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• RealDecreto450/2010,de16deabril,porelqueseestableceelTítulodeTécnicoSuperior en Desarrollo de Aplicaciones Multiplataforma y se fijan sus enseñanzasmínimas.

• Ordende16dejuniode2011,porlaquesedesarrollaelcurrículocorrespondientealostítulosdeTécnicoSuperiorenDesarrollodeAplicacionesMultiplataforma.

3.6UNIDADDIDÁCTICA:PERSISTENCIADELOSOBJETOSENBASESDEDATOSORIENTADASAOBJETOS3.6.1OBJETIVOS Los objetivos educativos expresan el nivel de desarrollo que se espera alcancen losalumnos y alumnas como consecuencia de la intervención educativa y responden a lacuestión¿paraquéenseñar?.

Lametaeducativanodebeserque losalumnosaprendanmerosconocimientos,sinoqueseancapacesdemanejarseconellos.Todaintervencióneducativapersigueeldesarrollointegral del individuo, por lo que el principal objetivo de la educación es el desarrollo decapacidades.Sonel referente indispensablepara laevaluacióndelgradode losdiferentestipos de capacidades adquiridos por los alumnos. Según el grado de concreción se suelehablardelossiguientestiposdeObjetivos:

• ObjetivosGeneralesdeFormaciónProfesional.• ObjetivosGeneralesdeCicloFormativo.• ResultadosdeAprendizaje.• ObjetivosDidácticos.

3.6.1.1OBJETIVOSGENERALESDEFORMACIÓNPROFESIONAL Se encuentran establecidos en elArtículo 40 de la LOE y consiste en preparar a losalumnosyalumnasparalaactividadenuncampoprofesionalyfacilitarsuadaptaciónalasmodificaciones laborales, así como contribuir a su desarrollo personal, al ejercicio de laciudadaníademocráticayalaprendizajepermanente.

3.6.1.2OBJETIVOSGENERALESDECICLOFORMATIVO Establecen las capacidades que se espera que hayan adquirido los alumnos comoconsecuenciadelprocesodeenseñanzaal finaldecadacicloformativo.Son,endefinitiva,los elementos curriculares que concretan los fines educativos para la FP según la familiaprofesional. Estos objetivos se refieren a capacidades globales que se trabajarán desdetodos los elementos del currículo. Los elementos generales del Ciclo Formativo deGradoSuperiorDesarrollodeAplicacionesMultiplataforma,seconcretanen:

Page 56: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

55

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• RealDecreto450/2010,de16deabril,porelqueseestableceelTítulodeTécnicoSuperior en Desarrollo de Aplicaciones Multiplataforma y se fijan sus enseñanzasmínimas.

• Ordende16dejuniode2011,porlaquesedesarrollaelcurrículocorrespondientealtítulodeTécnicoSuperiorenDesarrollodeAplicacionesMultiplataforma.

Los Objetivos Generales del Ciclo Formativo de Grado Superior de Desarrollo deAplicacionesMultiplataformaaparecenreflejadosenelArtículo3delaOrdende16dejuniode2011.

La formación del módulo de Programación contribuye a alcanzar los objetivosgeneralesdelcicloformativoqueserelacionanacontinuación:

e) Seleccionar y emplear lenguajes, herramientas y librerías, interpretando lasespecificacionesparadesarrollaraplicacionesmultiplataformaconaccesoabasesdedatos.

j) Seleccionar y emplear técnicas, lenguajes y entornos de desarrollo, evaluando susposibilidades,paradesarrollaraplicacionesenteléfonos,PDAyotrosdispositivosmóviles.

q) Seleccionar y emplear lenguajes y herramientas, atendiendo a los requerimientos, paradesarrollarcomponentespersonalizadosensistemasERP-CRM.

w) Identificar los cambios tecnológicos, organizativos, económicos y laborales en suactividad,analizandosusimplicacionesenelámbitodetrabajo,paramantenerelespíritudeinnovación.

3.6.1.3RESULTADOSDEAPRENDIZAJE Indican las capacidades que los alumnos deben haber adquirido en cadamateria alfinalizarelciclocorrespondiente.Sonobjetivosqueadoptanelmismoestilodeformulaciónque losobjetivosgenerales,peroañadiendouna referenciaexplícitaa los contenidos. LosobjetivosdelmóduloProgramaciónseconcretanentérminosdeResultadosdeAprendizajeenlaOrden16dejuniode2011,deconformidadalodispuestoenelRD450/2010.

A continuación, presentamos los Resultados de Aprendizaje del módulo deProgramación:

1. Reconoce la estructura de un programa informático, identificando y relacionando loselementospropiosdellenguajedeprogramaciónutilizado.

2. Escribeypruebaprogramassencillos, reconociendoyaplicando los fundamentosde laprogramaciónorientadaaobjetos.

3. Escribeydepuracódigo,analizandoyutilizandolasestructurasdecontroldellenguaje.4. Desarrollaprogramasorganizadosenclasesanalizandoyaplicando losprincipiosde la

programaciónorientadaaobjetos.5. Realiza operaciones de entrada y salida de información, utilizando procedimientos

específicosdellenguajeylibreríasdeclases.6. Escribe programas que manipulen información seleccionando y utilizando tipos

avanzadosdedatos.

Page 57: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

56

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

7. Desarrollaprogramasaplicandocaracterísticasavanzadasde los lenguajesorientadosaobjetosydelentornodeprogramación.

8. Utilizabasesdedatosorientadasaobjetos,analizandosuscaracterísticasyaplicandotécnicasparamantenerlapersistenciadelainformación.

9. Gestiona información almacenada en bases de datos relacionales manteniendo laintegridadyconsistenciadelosdatos.

NuestraunidaddidácticaestárelacionadaconelResultadodeAprendizaje8.

3.6.1.4OBJETIVOSDIDÁCTICOS Se formulan al elaborar las unidades didácticas de las programaciones y hacenreferenciaaloscontenidosseleccionadosparacadamateria.

Del Resultado de Aprendizaje 8, “Utiliza bases de datos orientadas a objetos,analizando sus características y aplicando técnicas para mantener la persistencia de lainformación”,extraemoslossiguientesobjetivosdidácticos:

• Identificarlascaracterísticasdelasbasesdedatosorientadasaobjetos.• Analizarsuaplicacióneneldesarrollodeaplicacionesmediantelenguajesorientados

aobjetos.• Instalarsistemasgestoresdebasesdedatosorientadosaobjetos.• Clasificaryanalizarlosdistintosmétodossoportadosporlossistemasgestoresparala

gestióndelainformaciónalmacenada.• Crearbasesdedatosylasestructurasnecesariasparaelalmacenamientodeobjetos.• Programaraplicacionesquealmacenanobjetosenlasbasesdedatoscreadas.• Realizar programas para recuperar, actualizar y eliminar objetos de las bases de

datos.• Realizar programas para almacenar y gestionar tipos de datos estructurados,

compuestosyrelacionados.

3.6.2CONTRIBUCIÓNALASCOMPETENCIASPROFESIONALES Considerandoqueenlasenseñanzaspropiasdelosciclosformativossehadetenerencuentalasnecesidadesdelentornoproductivo,justificamoslanecesidadderecogerelniveldecontribucióndelmódulodelperfilprofesionalqueelsistemaproductivonecesita.

3.6.3CONTRIBUCIÓNALACOMPETENCIAGENERAL BasándonosenelArtículo4delRealDecreto450/2010,de16deabril,porelqueseestableceel títulodeTécnicoSuperiorenDesarrollodeAplicacionesMultiplataformay se

Page 58: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

57

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

fijan sus enseñanzas mínimas, podemos establecer la correspondencia del móduloprofesionaldeProgramaciónconlasiguientecompetenciageneral:

• Desarrollar, implantar, documentar y mantener aplicaciones informáticasmultiplataforma, utilizando tecnologías y entornos de desarrollo específicos,garantizando el acceso a los datos de forma segura y cumpliendo los criterios deusabilidadycalidadexigidasenlosestándaresestablecidos.

3.6.4CONTRIBUCIÓNALASCOMPETENCIASPROFESIONALES,PERSONALESYSOCIALES Según lodispuestoen laOrdende16de juniode2011, la formacióndelmódulodeProgramación contribuye a alcanzar las competencias profesionales, personales y socialesdel título de Técnico Superior en Desarrollo de Aplicaciones Multiplataforma que serelacionanacontinuación:

a)Configuraryexplotarsistemasinformáticos,adaptandolaconfiguraciónlógicadelsistemasegúnlasnecesidadesdeusoyloscriteriosestablecidos.

e) Desarrollar aplicaciones multiplataforma con acceso a bases de datos utilizandolenguajes,libreríasyherramientasadecuadosalasespecificaciones.

f)Desarrollaraplicacionesimplementandounsistemacompletodeformularioseinformesquepermitangestionardeformaintegrallainformaciónalmacenada.

i)Participareneldesarrollodejuegosyaplicacionesenelámbitodelentretenimientoylaeducaciónempleandotécnicas,motoresyentornosdedesarrolloespecíficos.

j) Desarrollar aplicaciones para teléfonos, PDA y otros dispositivos móviles empleandotécnicasyentornosdedesarrolloespecíficos.

t) Establecer vías eficaces de relación profesional y comunicación con sus superiores,compañeros y subordinados, respetando la autonomía y competencias de las distintaspersonas.

w)Mantener el espíritu de innovación y actualización en el ámbito de su trabajo paraadaptarsealoscambiostecnológicosyorganizativosdesuentornoprofesional.

En concreto, nuestra unidad didáctica contribuye a alcanzar directamente lascompetenciae),f),t)yw).

3.6.5LÍNEASDEACTUACIÓN Laslíneasdeactuaciónenelprocesodeenseñanza-aprendizajequepermitenalcanzarlosobjetivosdelmóduloydelaunidaddidácticaversaránsobre:

• La interpretación y aplicación de los principios de la programación orientada aobjetos.

Page 59: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

58

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• Laevaluación,selecciónyutilizacióndeherramientasy lenguajesdeprogramaciónorientadasaobjetos.

• La utilización de las características específicas de lenguajes y entornos deprogramacióneneldesarrollodeaplicacionesinformáticas.

• Laidentificacióndelasfuncionalidadesaportadasporlossistemasgestoresdebasesdedatosysuincorporaciónalosprogramasdesarrollados.

• Ladocumentacióndelosprogramasdesarrollados.

3.6.6CONTENIDOSDELMÓDULO Loscontenidosrespondenalacuestión¿quéenseñar?,ypuedenserdefinidoscomoelconjunto de saberes, hechos, conceptos, habilidades, actitudes, en torno a los cuales seorganizanlasactividadesdesarrolladasenelaula.

La selección de contenidos en una programación y unidaddidáctica requiere de unacuidadosa reflexión, puesto que su elección está mediatizada por los objetivos que sepretendenconseguirenelcursoalquevadirigida.Además, loscontenidosdebencumpliruna serie de requisitos quepueden resumirse en significado, funcionalidad yadecuacióndelalumno/a.

3.6.6.1SECUENCIACIÓNYTEMPORALIZACIÓNDEUNIDADESDIDÁCTICAS Como indicábamosenelapartado3.2,ElmódulodeProgramación,estádotadodeunacargalectivade256horasdistribuidasen8horassemanalesduranteaproximadamente32semanas.

A continuación, se presenta la secuencia de unidades de trabajo en que se haestructuradoelmóduloprofesional, su relacióncon losbloquesdecontenido,asícomo laduraciónestimadadecadaunadelasunidades.LaúltimapartedelTrabajoFinaldeMásterestá dedicado a laUnidad Didáctica 11: Persistencia de los objetos en bases de datosorientadasaobjetos.

PartiendodelanálisisdelaOrdende16dejuniode2011,delentornoproductivodelazona,delosconocimientospreviosdelosalumnos,asícomodelacapacidaddeéstosparapoderasimilarnuevosconocimientoshemosconsiderado11unidadesde trabajomásunadepresentación.

UnidadesDidácticasSecuenciadas Duración

UT0:PresentacióndelmódulodeProgramación. 2h

UT1:Elementosdeunprogramainformático. 22h

Page 60: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

59

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

UT2:ProgramaciónOrientadaaObjetos.Objetos. 20h

UT3:Estructurasbásicasdecontrol. 26h

UT4:ProgramaciónOrientadaaObjetos.Clases. 28h

UT5:EstructurasdeAlmacenamiento. 34h

UT6:Mecanismosdeabstracción:clases,paquetes,subclaseseinterfaces. 32h

UT7:Clasesgenéricasycontroldeexcepciones. 24h

UT8:Lecturayescrituradeinformación 22h

UT9:Interfacesgráficasdeusuario. 18h

UT10:BasesdeDatosRelacionales. 16h

UT 11: Persistencia de los objetos en bases dedatosorientadasaobjetos.

12h

TOTAL 256h

3.6.6.2JUSTIFICACIÓNDEUNIDADESDIDÁCTICAS Las unidades didácticas tienen como fin último la consecución de los Resultados deAprendizajeenque sehanexpresado losobjetivos generalesdelmódulo. La relaciónqueexistiráentreunasyotrasserálasiguiente:

UT

RA0 1 2 3 4 5 6 7 8 9 10 11

RA1

RA2

RA3

RA4

RA5

RA6

Page 61: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

60

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

RA7

RA8

RA9

Comoyavimosconanterioridad,elresultadodeaprendizajequesehautilizadoparaexpresarlosobjetivosycriteriosdeevaluacióndenuestraunidaddidácticaeselnúmero8.

3.6.6.3CONTENIDOSDELAUNIDADDIDÁCTICA Acontinuación, llevamosacaboeldetalledeloscontenidosdelaUnidaddeTrabajo11:Persistenciadelosobjetosenbasesdedatosorientadasaobjetos,relacionadosconlosobjetivosdidácticosyloscriteriosdeevaluación:

OBJETIVOSDIDÁCTICOS CONTENIDOS CRITERIOSDEEVALUACIÓN

a)Identificarlascaracterísticasdelasbasesdedatosorientadasaobjetos.

1.BasesdeDatosOrientadosaObjetos.

1.1Características.1.2Análisisdesuaplicación

a)Sehanidentificadolascaracterísticasdelasbasesdedatosorientadasaobjetos.

b)Analizarsuaplicacióneneldesarrollodeaplicacionesmediantelenguajesorientadosaobjetos.

b)Sehaanalizadosuaplicacióneneldesarrollodeaplicacionesmediantelenguajesorientadosaobjetos.

c)Instalarsistemasgestoresdebasesdedatosorientadosaobjetos. 2.Instalacióndelgestordebases

dedatos.2.1Métodosparalagestióndeinformación.

c)Sehaninstaladosistemasgestoresdebasesdedatosorientadosaobjetos.

d)Clasificaryanalizarlosdistintosmétodossoportadosporlossistemasgestoresparalagestióndelainformaciónalmacenada.

d)Sehanclasificadoyanalizadolosdistintosmétodossoportadosporlossistemasgestoresparalagestióndelainformaciónalmacenada.

e)Crearbasesdedatosylasestructurasnecesariaparaelalmacenamientodeobjetos.

3.Creacióndebasesdedatos.3.1Creaciónestructurasparaalmacenarobjetos.3.2ProgramacióndeaplicacionesparaalmacenarobjetosenBD.

e)Sehancreadobasesdedatosylasestructurasnecesariaparaelalmacenamientodeobjetos.

f)Programaraplicacionesquealmacenenobjetosenlasbasesdedatoscreadas.

f)Sehanprogramadoaplicacionesquealmacenenobjetosenlasbasesdedatoscreadas.

Page 62: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

61

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

g)Realizarprogramaspararecuperar,actualizaryeliminarobjetosdelasbasesdedatos.

4.Mecanismosdeconsulta.5.Ellenguajedeconsultas,sintaxis,expresiones,operadores.6.Recuperación,modificaciónyborradodeinformación.

g)Sehanrealizadoprogramaspararecuperar,actualizaryeliminarobjetosdelasbasesdedatos.

h)Realizarprogramasparaalmacenarygestionartiposdedatosestructurados,compuestosyrelacionados.

7.Tiposdedatosobjeto.7.1Atributos7.2Métodos

8.Tiposdedatoscolección

h)Sehanrealizadoprogramasparaalmacenarygestionartiposdedatosestructurados,compuestosyrelacionados.

3.6.7METODOLOGÍA LaMetodologíadidácticarespondealacuestión¿cómoenseñar?yhacereferenciaalconjuntodedecisionesquedebensertomadasafindeorientareldesarrolloenelauladelosprocesosdeenseñanzayaprendizaje.Lasopcionesmetodológicasestaránorientadasalaprendizajesignificativo,constructivistayfuncionaldelosdiferentescontenidos.

Los aspectos metodológicos que se pretenden aplicar en el módulo Programacióndescansanenlaideadequeelalumno/aseconsidereparteactivadelaactividaddocente,demaneraquesepretendeinvolucrarloenelprocesodeasimilacióndenuevosconceptosyadquisicióndecapacidades,nocomounmerocontenedordeéstas,sinocomounproductordirectodeestosconocimientoyhabilidadesensímismo.

Eldocente tambiéndebeorientarel trabajoescolardesusalumnos,proporcionandolas indicaciones necesarias para que los alumnos puedan resolver los problemas que elestudiolesplantea.Alolargodelasunidadesdidácticasquedesarrollamosenelmódulo,fomentaremos los hábitos de tenacidad constancia, laboriosidad, etc. Un aspectoimportantedeesta funciónorientadoraesdecidir quéactitudes sedebe conseguir en losestudiantes,cuálesdebenmodificarseycómoreforzarlaspositivas.

3.6.7.1TIPOSDEACTIVIDADESENSEÑANZA-APRENDIZAJE Lasactividadesdeenseñanza-aprendizajesonlamaneraactivayordenadadellevaracabo las propuestas metodológicas o experiencias de aprendizaje. Las actividades hacenreferencia a las tareas realizadas por los alumnos y alumnas con la finalidad de adquirirdeterminados aprendizajes. Por tanto, en toda actividad se maneja cierta información,procedentedeunasdeterminadas fuentes,medianteunosprocedimientos concretosyenrelaciónaunasdeterminadasmetas.

AlolargodelasdiferentesunidadesdidácticasdelmódulodeProgramaciónllevamosacabotrestiposdeactividades:

Page 63: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

62

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

1. Actividades Complementarias y Extraescolares: Se realizarán fuera del aula y estaránrelacionadas con los objetivos y contenidos establecidos en las unidades didácticas.Comoejemplos,podemoscitar:

• VisitaalCentrodeProcesodeDatosdeDiputacióndeCádiz(EPICSA)• VisitaaferiadenuevastecnologíasdeInformáticayComunicaciónenMálaga,

deformaquelosalumnosyalumnaspuedanobservar,desdeunprimerplano,losúltimosproductosqueaparecenenelmercado.

2. ActividadesconelDepartamento:• Lasactividadesextraescolaresyamencionadas.• BibliotecadelDepartamentodeInformática.• PlataformaEducativaMoodle.

3. ActividadesconlosAlumnos:Detodaslastipologíasaportadasporlosdistintosautores,lapropuestadeTyleryWheelereslamásapropiada,puestoquematerializaclaramentelos principios psicopedagógicos y didácticos derivados de la teoría constructivista delaprendizaje.Lostiposdeactividadesquevamosallevaracaboencadaunidaddidácticasonlossiguientes:

a) Actividades Presentación-Motivación, que son dirigidas por el profesor paraque el alumnado descubra progresivamente la estructura de los contenidos.Estetipodeactividadeslasabordaremosaliniciodecadaunidaddetrabajo.

b) Actividades de evaluación de los conocimientos previos, para obtenerinformación acerca de lo que saben y qué procedimientos, destrezas yhabilidadeshandesarrolladolosalumnossobreuntemaconcreto.Estetipodeactividad se realizará al iniciode cursoa travésdeun cuestionario inicial y aliniciarcadaunidadatravésdeunatormentadeideas.

c) Actividadesdedesarrollodeloscontenidos,loscualespermitenalalumno/alaadquisicióndenuevoscontenidos.Serealizaránalgunossupuestosprácticosdelarelacióndeejerciciospropuestosparalaunidaddetrabajoyrelacionadosconlos contenidos explicados en la sesión. El docente ayudará a resolver losprimeros.

d) Actividades de consolidación, con las que los alumnos contrastan las nuevasideas con las previas y aplican los nuevos aprendizajes. Continuando con elsupuestoanteriorenqueestánresolviendo losejerciciosdeunarelación,unavezqueelprofesorayudaaresolveralgunasactividades,dejaráalalumnoqueresuelvaelrestoy,deestaforma,consolidesusconocimientos.

e) Actividades de síntesis-resumen, que permiten a los alumnos establecerrelación entre los distintos contenidos aprendidos, así como la contrastaciónconaquellosconocimientosqueyatenían.Alfinalizarunaunidaddetrabajo,seelaborará un resumen de los nuevos contenidos aprendidos de maneraindividual,elprofesorelaborarájuntoconlosalumnosunmapaconceptualenpizarra.

Page 64: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

63

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

f) Actividades de recuperación y ampliación, las cuales se afrontarán de formasíncrona. Una vez resueltas las actividades propuestas en la relación deejercicios para cada unidad de trabajo, el docente entregará actividades derefuerzo a aquellos alumnos que no hayan alcanzado los conocimientostrabajados, y el resto de alumnos continuarán construyendo conocimientos atravésdelasactividadesdeampliación.

g) Actividadesdeevaluación,quepretendenproporcionarunajustificaciónacercadeloaprendidoporlosalumnos/as.Portanto,sedebetomarenconsideraciónloestablecidoenloscriteriosdeevaluaciónpropuestos.Alfinalizarcadaunidaddetrabajo,serealizaráunapruebaespecíficadecarácterteórico-prácticoquepermitanevaluaralosalumnosanivelconceptualyprocedimental.Estetipodeactividades no sólo evaluará el trabajo del alumnado, sino que también lepermiteconoceraldocentesisumetodologíaempleadadurantesuenseñanzaeslacorrecta,pudiéndolamodificaratiempo.

3.6.7.2ESTILODEMETODOLOGÍA En esta sección, desarrollaremos cuál sería el estilo demetodología seguida en unadeterminadasesión.

Si se tratara de la primera sesión de una unidad de trabajo, se comenzaríaintroduciendo los contenidos de la misma. Además, se inculcará a los alumnos laimportanciadelosconocimientosaadquirirenlaunidad,conrespectoalademandadelosmismosenelsistemaproductivoylaboral.También,indagaremossobrelosconocimientospreviosdelosalumnosatravésdeuntormentadeideasparasaberdesdedóndepartir.

Paraelcasodeunasesión intermedia,eldocenteresuelveenprimer lugar lasdudasrelacionadasconlasesiónanterior.Seguidamente,seavanzaconlosnuevoscontenidosdelaunidaddetrabajoyserealizanaquellasactividadesdelarelacióndeejerciciosvinculadasa los nuevos conocimientos adquiridos en la sesión, de los cuales los primeros ejerciciosserán resueltos por el docente, a través del equipo y el proyector, salvo situacionesexcepcionalesen lasque internetno funcionecorrectamentey la solución seademasiadoextensaqueseentregaráladocumentaciónenpapel.

Una vez realizadas las actividadesdedesarrollo, los alumnos y alumnas consolidaránsus conocimientos continuando con los ejercicios de la relación. Tas concluir el tiempoestimado para la realización de cada ejercicio, un alumno lo resolverá a través de laherramienta demonitorización iTALC y del proyector, y se estudiarán posibles solucionesalternativasporpartedelrestodealumnosydeldocente.

Finalmente,sisetrataradeunadelassesionesfinales,eldocente,conlaayudadelosalumnos, elaborará un esquema conceptual y gráfico desde el equipo y proyectado enpantalla blanca, sobre los nuevos conocimientos adquiridos, de cara al cuestionario deevaluación de la unidad de trabajo que se realizará en la siguiente sesión. Durante larealización del mismo, el docente resolverá dudas del alumnado. Una vez concluida estaactividad, el docente hará entrega a los alumnos/as actividades de refuerzo/ampliación

Page 65: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

64

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

según corresponda. El docente estimará el tiempo necesario para la realización de lasmismas.

3.6.7.3AGRUPAMIENTOS Las investigaciones en Psicología Educativa en los últimos años han puesto demanifiesto que la interacción entre los alumnos constituye un factor muy importante,puestoquefavoreceeldesarrollodelasocialización,tieneefectospositivoseneldesarrollointelectualeincrementalamotivacióndelalumnado.

Noexisteun tipodeagrupamiento ideal, sinoqueestaráen funciónde losobjetivosquesepretendanconseguirconlaactividaddeenseñanza-aprendizaje.

Seguidamente, estudiaremos el tipo de agrupamientos que se utilizarán en nuestraunidad,asícomoelpapeldelprofesorcomodinamizadordelgrupo-clase:

• Trabajo individual: El trabajo individual es el que posibilita un mayor grado depersonalización de la enseñanza, adaptándose al ritmo y posibilidades de cadaalumno.Resultamuyeficazparaafianzarconceptosyalprofesorlepermiterealizarun seguimiento más minucioso del proceso de aprendizaje de cada alumno,permitiéndole comprobar el nivel de comprensión alcanzado y detectar dónde seencuentranlasdificultades.Lastareasindividualesenlaunidadconsistiránen:

o Realizar las actividades propuestas en cada unidad de trabajo, tanto deconsolidacióncomoderefuerzooampliación.

o Relacionar las actividades de evaluación de conocimientos previos y losrecientementeaprendidosenunadeterminadaunidaddetrabajo.

o Relacionarymemorizardatosyconceptos.o Lareflexiónpersonal.o Preparartrabajosenlafaseindividualderecogidadedatos.o Prepararunaexplicaciónoralaloscompañerossobreactividades,trabajos,

prácticas…o Autocorreccióndeejercicios.

• Trabajo en parejas: En este tipo de agrupamiento se potencian al máximo lasposibilidadesdecomunicar,compartiryrealizartrabajossimultáneamente,contandoentodomomentoconlaparticipaciónactivadetodoslosmiembrosdelgrupo.Enlamedida de lo posible, realizaremos agrupamientos por parejas a alumnos quedifieran en sexo, cultura, nivel económico, nivel de aprendizaje… El trabajo enparejasresultamuyeficazparalaconsecucióndelossiguientesobjetivos:

o Favorecer lasdestrezasyactitudescooperativas,asícomo laparticipaciónactivaentareascomunitarias.

o Favorecer la individualizaciónypersonalizaciónde laenseñanza,asícomola adaptación al ritmo, interés, capacidades y estilos de aprendizaje, de

Page 66: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

65

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

manera que los alumnos conectan, dentro de una concepción deaprendizajesignificativo,losnuevosconceptosquehanadquirido.

o Permitir el aprendizaje de procesos metodológicos. El trabajo en gruporeducido es idóneo para el trabajo de investigación activa, en el que elalumno implementa numerosas estrategias de aprendizaje: elaborar unplandetrabajo,buscarysistematizarinformación,formularhipótesis,etc.

o Aclararinformacionesquesehayanimpartidopreviamenteenelaula.o Enriquecer al grupo con aportaciones diferenciadas, consiguiendo así un

mayorrendimientoenlogrosdetiempoymediosdidácticos.o Desarrollarlaautonomíayresponsabilidaddelalumnado.

• Trabajo en grupo-clase: El papel del profesor en este tipo de agrupamiento esdinamizarelgrupo,conelfindequesurjannuevasideas,almismotiempoquehacede hilo conductor de las aportaciones sobre diferentes temas. Se considera que elgrupo delmódulo de Programación está integrado por unmáximo de 20 alumnos.Básicamente,elobjetivodelasactividadespresentadasenelgrupo-claseconsisteenaportargrancantidaddeinformacióndemanerauniformemediantemensajesoralesy/o visuales. En nuestra unidad, utilizaremos este tipo de agrupamiento en lassiguientessituaciones:

o Presentarasuntosotemasdeinterésgeneral:nuevassalidasprofesionales,formativas,etc.

o Determinaryregularnormasdeconvivencia.o Realizacióndedebatessobretemasdeinterés:lenguajesdeprogramación,

nuevasaplicacionesinformáticasenelmercado,estadolaboralactual…o Explicacionescolectivas:exposicióndetrabajos,prácticas,ejercicios…o Conclusionesdetrabajosoprácticasrealizadasenpequeñosgrupos.o Proyeccionesaudiovisuales.

3.6.7.4ORGANIZACIÓNDELESPACIO Organizarelespaciohacereferenciaalaestructuracióndellugarfísicodondetendránlugarlasactividadesdeenseñanza-aprendizaje,ennuestro,casoelauladeordenadores.Suorganización nos permite analizar las posibilidades de configuración del espacio del aula(mobiliario, equipos informáticos, medios audiovisuales…). Programar el espacio nospermitiráevitarerroresyaprovecharlosrecursosofrecidosporelcentro.

La organización del aula ha de ser flexible, de modo que podamos disponer delmobiliariodediferentesformas,dependiendodelanaturalezadelaactividaddeenseñanza-aprendizajeadesarrollarydelosobjetivosplanteados.

Page 67: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

66

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

La Orden 16 de junio de 2011, establece que el ciclo formativo de Desarrollo enAplicacionesMultiplataformarequerirápara la implantacióndelasenseñanzas,deunauladeinformáticadegestiónydeunaulapolivalente.

Aula de Informática de 1º CFGSDAMorganizada en 5 filas con pupitres agrupadosfrentealapizarra.Hayuntotalde20equipos.Lamesadelprofesorseencuentraalfondodelaclasefrentealospuestosdetrabajodelosalumnosyelcañónproyectoreneltechodelaula.

Figura13:Aulapolivalente1ºCFGSDesarrollodeAplicacionesMultiplataforma

El Departamento de Informática cuenta con un aula taller con mesas de trabajodonde el alumnado llevará a cabo el montaje de sistemas informáticos, así como elmantenimiento a nivel de hardware y software de los mismos. Se dispone además deequiposinformáticosconconexiónainternetparaconsultas.

Figura14:TallerdeMontajeyMantenimientodeEquipos

Page 68: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

67

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

3.6.7.5MATERIALESYRECURSOSDIDÁCTICOS Losmaterialescurricularesqueayudaránaldocenteaadoptardecisionesreferentesalprocesodeenseñanza-aprendizajeyevaluarsuaccióndocenteseránentreotros:ProyectoEducativo, Programaciones de aula, Contenidos de las áreas, Adaptaciones curriculares,Unidadesdidácticas,Orientacionesparalaevaluación…

Los recursos didácticos utilizados por el profesor y los alumnos para desarrollar elprocesodeenseñanza-aprendizajeestánconstituidospordiversosequiposqueayudaránaldocente a presentar y desarrollar los contenidos, y a los alumnos a adquirir losconocimientosydestrezasnecesarias.

Losrecursosdidácticosseclasificanen:

• Recursoscomunes:Cañónretroproyector,pizarrablancayrotuladores.• Recursoshardware:UnPCparacadaalumnoyotroparaelprofesor.Encadapuesto

informáticoestáinstaladoelsistemaoperativoWindows10yUbuntu14.04.• Recursos Software: En la medida de los posible se apuesta por el software libre

(OpenOffice, Ubuntu, db4o). Sin embargo, también se hace uso de softwarepropietario (Windows) debido a que las empresas de la zona usan, sobre todo,software propietario. También, se hace uso del programa iTALC2.0.0 para llevar acabo la monitorización del aula, ayudando al profesor a controlar el trabajo delalumnado a través de herramientas que le permiten: bloqueo de equipos, controlremoto,envíodemensajes,ejecuciónremotadeaplicaciones,apagadodeequipos…

• Tecnologías de la Información y Comunicación (TIC): Destacamos la plataformaMOODLE,atravésdelacual,eldocenteproporcionaapuntes,avisos,correcciones…,ylosalumnospuedenhacerentregadelasprácticasoexámenes.

• Recursos de Internet: Haremos uso del MSDN (Microsoft Developer Network), labiblioteca en línea para desarrolladores de Microsoft. Se trata de una base condocumentación variada acerca de las distintas aplicaciones de desarrollo que tieneMicrosoft.MSDN dispone de una especie de enciclopedia con todas las funciones,clases, objetos y rutinas que se puedan utilizar en sus programas de desarrollo deaplicaciones para que sirva de explicación a la comunidad de programadores. Enparticular, nosotros utilizaremos MSDN para resolver problemas con software deMicrosoft (sistemasoperativos,aplicaciones,etc).Tambiénharemosusodelboletíndenoticiasconlasúltimasnovedadesdelmundo.

• Recursos de información: No nos remitimos al uso de un único libro, sino que elprofesoreselencargadodeproporcionarelmaterialdidácticoyrecomendarelusodealgunos libros,manualesydeterminadaspáginasde internetquecomplementenlosconocimientosadquiridosenclase.

• Documentación interna de las herramientas Software: Tanto el sistema de ayudacomo los manuales incluidos en el Software explican las materias a abordaradjuntandoejemplosprácticos.

• Recursosdeilustraciónaudiovisual:Paralaexplicacióndecontenidossehaceusodelcañón proyector, uso de esquemas, diagramas, tablas cronológicas, presentacióninformáticas,etc.

Page 69: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

68

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

Además, los alumnos deberán disponer de un cuaderno donde vayan recogiendoordenadamentesuinformacióndelasclases.

Figura15:ProgramadeMonitorizacióniTALC2.0.0

Figura16:PlataformaMoodleIESSaladillo

Figura17:MicrosoftMSDN

Page 70: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

69

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

3.6.7.6PREPARACIÓNPARALAEVALUACIÓNFINAL Los alumnos/as que no hayan superado positivamente alguna unidad de trabajo odeseenelevarsucalificaciónpodránhacerloenlaevaluaciónFinal.

Duranteesteperíododeevaluaciónvamosautilizarelmismohorario lectivoquehautilizadoduranteelcurso.

Desdeel1hastael22dejunioseimpartiráclasesderefuerzodondeseharáunrepasogeneral de todas las unidades de trabajo que se han impartido durante el curso y seresolverán dudas puntuales del alumno. Además, por cada unidad de trabajo, se iránasignandosupuestosprácticosparaqueseanresueltosporlosalumnos/asquetenganquerecuperardichaunidad.Estossupuestosseránposteriormenteevaluados.

3.6.7.7DESARROLLODELASSESIONES Altratarsedeunaunidaddidácticade12horasylassesionestienenunaduraciónde2h,vamosautilizarpara launidaddetrabajountotalde6sesionesde120minutoscadauna.Acontinuación,presentamosenlasiguientetablalasactividadesquesevanarealizaralolargodelassesiones,juntoalametodologíallevadaacaboylosrecursosutilizados.

SESIÓN1ª

Actividades

Enseñanza-AprendizajeDuración

Agrupa

mientosEspacio Recursos

A1Presentación-MotivaciónUnidadDidáctica

El docente presentará las unidad detrabajo, loscapítulosde losqueconsta,asícomo los objetivos de aprendizaje de lamisma.

10´

GrupoClase

.

AulaInformática

Proyector

Pizarradigital

Índicedeltema

A2ConocimientosPrevios

Evaluación de los conocimientos previos através de una tormenta de ideas. Eldocente propondrá actividades que creensituaciones en las que el alumno/areconozca sus limitaciones en sus saberessobre las bases de datos orientadas aobjetos.

5’ GrupoClase

AulaInformática

Proyector

Índicedeltema

A3DesarrolloContenidos

Exposiciónsobrelascaracterísticasde

45’GrupoClase

AulaInformática

Proyector

Pizarra

Page 71: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

70

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

lasBasesdeDatosOrientadasaObjetos

El docente analizará las diferencias de losmodelos de BD tradicionales frente a losmodelodeBD0rientadasa0bjetos.

Acontinuación,mostrarálascaracterísticasdelasBDOOylosSGBDqueexisten:

• SGBDpuros.• SGBDhíbridosuobjeto-relacionales

Se combina la resolución de supuestosprácticos.

A4DesarrolloContenidos

Exposiciónreferentealmodelodedatosorientadoaobjetos

El docente mostrará las características delas relaciones en el modelo orientado aobjetos.

Posteriormente, mostrará cuáles son losmecanismosparacrear losdiferentes tiposde relaciones (uno-a-muchos, muchos-a-muchos).

Finalmente, indicará cuáles son losmecanismos que garantizan la integridadenlasrelaciones.

Se combina la resolución de supuestosprácticos.

60’

digital

Apuntes

EquipoequipadoconunIDE

Moodle

iTALC

Page 72: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

71

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

SESIÓN2ª

Actividades

Enseñanza-AprendizajeDuración

Agrupa

mientosEspacio Recursos

A5Síntesis-Resumen

Al inicio de la sesión, se hará un resumende los contenidos aprendidos la sesiónanterioryseresolverándudas.

GrupoClase

.

AulaInformática

Proyector

Pizarradigital

A6DesarrollodeContenidos

ExposiciónsobreellenguajeUMLparaeldiseñodeesquemasconceptualesde

BDOrientadasaObjetos

Elprofesor indicará lospasosaseguirparaeldiseñodeesquemasconceptualesdeBDOrientadas a Objetos haciendo uso dellenguajeUML.

Mostrará supuestos prácticos de uso deUML en el diseño de BD Orientadas aObjetos que, posteriormente, reproduciráelalumnado.

Se combina la resolución de supuestosprácticos.

A7DesarrollodeContenidos

Exposiciónydemostraciónrelativasalabasededatosorientadaaobjetosdb40nativadeJavaydelicenciaGPL

El profesor profundizará en loscomponentesbásicosdeunaBDOrientadaa Objetos: objetos, literales, clases,interfaces,propiedadesytransacciones.

InstalaremoselGestordeBasesdeDatosytrabajaremos con una verdadera base dedatosorientadaaobjetos.

55’

60’

GrupoClase

AulaInformática

Proyector

Pizarradigital

Apuntes

EquipoequipadoconunIDE

Moodle

iTALC

Gestor

Page 73: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

72

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

SESIÓN3ª

Actividades

Enseñanza-AprendizajeDuración

Agrupa

mientosEspacio Recursos

A8Síntesis-Resumen

Aliniciodelasesión,seharáunresumendeloscontenidosaprendidoslasesión

anterioryseresolverándudas.

GrupoClase

.

AulaInformática

Proyector

Pizarradigital

A9DesarrollodeContenidos

Exposiciónydemostraciónreferentesacómorealizaraplicacionesybasesde

datos

RealizaremospequeñasaplicacionesconJavaytrabajaremossobrelasoperacionesbásicasconbasesdedatos(crear/acceder,almacenar,recuperar,actualizaryborrar).

ParamanejarlabasededatosutilizaremosAPI(ApplicationProgramInterface)

55’

GrupoClase

AulaInformática

Proyector

Pizarradigital

Apuntes

EquipoequipadoconunIDE

Moodle

iTALC

A10EjerciciosdeConsolidación

Conestetipodeactividades,losalumnos/ascontrastanlasnuevasideas

aprendidasenestasesiónconlaspreviasyaplicannuevosaprendizajes.

60’

Individual

o

Parejas

AulaInformática

Apuntes

EquipoequipadoconunIDE

Moodle

iTALC

Page 74: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

73

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

SESIÓN4ª

Actividades

Enseñanza-AprendizajeDuración

Agrupa

mientosEspacio Recursos

A11Síntesis-Resumen

Al inicio de la sesión, se hará un resumende los contenidos aprendidos la sesiónanterioryseresolverándudas.

GrupoClase

.

AulaInformática

Proyector

Pizarradigital

A12DesarrollodeContenidos

Exposiciónydemostraciónreferentesalosdistintossistemasde

recuperacióndedatosendb40

El docente mostrará las posibilidades deconsultarlabasededatosmediante:

• QueryByExample(QBE)• NativeQueries(NQ)• SODA(SimpleObjectDataAccess)

Se combina la resolución de supuestosprácticos.

55’

GrupoClase

AulaInformática

Proyector

Pizarradigital

Apuntes

EquipoequipadoconunIDE

Moodle

iTALC

A13EjerciciosdeConsolidación

Con este tipo de actividades, losalumnos/ascontrastanlasnuevasideasaprendidas en esta sesión con laspreviasyaplicannuevosaprendizajes.

60´

Individual

o

Parejas

AulaInformática

Apuntes

EquipoequipadoconunIDE

Moodle

iTALC

Page 75: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

74

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

SESIÓN5ª

Actividades

Enseñanza-AprendizajeDuración

Agrupa

mientosEspacio Recursos

A14Síntesis-Resumen

Al finalizar la unidad didáctica, seelaborará un resumen de los nuevoscontenidos aprendidos de maneraindividual, el profesor elaborará juntocon los alumnos un mapa conceptualglobal de toda la unidad en pizarra, seresolverándudas,etc.

10´

GrupoClase

.

AulaInformática

Proyector

Pizarradigital

A15EjerciciosdeRefuerzo

Elobjetivodeestasactividadesesatenderalos alumnos/as quenohan conseguido losaprendizajes previstos. Se realizaránactividades del mismo estilo a las dedesarrolloyconsolidación.

50’

Individual AulaInformática

Apuntes

EquipoequipadoconunIDE

Moodle

iTALC

A16EjerciciosdeAmpliación

Permitirán construir nuevos conocimientosa los alumnos/as que hayan realizado deforma satisfactoria las actividadesestablecidas.

50´

Individual

o

Parejas

AulaInformática

Apuntes

EquipoequipadoconunIDE

Moodle

iTALC

A17SecuenciaAICLEenInglés

Unavezquenoshemosaseguradoqueelalumnadohaestudiadolamateria,

vamosareforzarloscontenidosestudiadosenlaunidadalmismo

tiempoqueaprendemosunsegundoidioma(inglés),haciendousodelas5destrezas:Reading,Writing,Speaking,

ListeningandInteraction.

60

GrupoClase

Parejas

Individual

AulaInformática

EjerciciosAICLE

Apuntes

EquipoequipadoconunIDE

Moodle

iTALC

Page 76: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

75

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

3.6.8EVALUACIÓN Laevaluaciónformapartedelprocesodeenseñanzayaprendizajeysuponeunrecursometodológico imprescindible por su valor como elementomotivador para el alumnado yparaelpropioprofesorado.

Laevaluacióndeterminaráelgradodeconsecuciónde losobjetivose intencionesdelproyecto educativo, abarcando tanto el alumnado como a los distintos componentes delcurrículo.

ProcederemosalanálisisdelaEvaluacióndelprocesodeenseñanzadesdeelpuntodevistadelossiguientestresaspectos:

1. CriteriosdeEvaluación.¿Quéevaluar?2. Procedimientoseinstrumentosdeevaluación¿cómoevaluar?3. Momentosdeevaluación¿Cuándoevaluar?

3.6.8.1CRITERIOSDEEVALUACIÓN Paralaunidaddidácticaquevamosadesarrollar“Persistenciadelosobjetosenbasesdedatosorientadasaobjetos”,vamosautilizarloscriteriosdeevaluaciónexpuestosenelResultadodeAprendizaje8:

a) Sehanidentificadolascaracterísticasdelasbasesdedatosorientadasaobjetos.b) Se ha analizado su aplicación en el desarrollo de aplicaciones mediante lenguajes

orientadosaobjetos.c) Sehaninstaladosistemasgestoresdebasesdedatosorientadosaobjetos.

SESIÓN6ª

Actividades

Enseñanza-AprendizajeDuración

Agrupa

mientosEspacio Recursos

A18Evaluación

El alumnado deberá presentar todas lasactividades propuestas haciendo uso decapturas de pantalla, valorándose laclaridad de ideas, el orden, posiblesampliacionesylapresentación.

Además, deberán realizar unejercicio concuestiones de respuestas breve ysupuestosprácticos.

120´

Individual

.

AulaInformática

Examen

EquipoequipadoconunIDE

Moodle

iTALC

Page 77: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

76

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

d) Se han clasificado y analizado los distintos métodos soportados por los sistemasgestoresparalagestióndelainformaciónalmacenada.

e) Sehancreadobasesdedatosylasestructurasnecesariasparaelalmacenamientodeobjetos.

f) Se han programado aplicaciones que almacenen objetos en las bases de datoscreadas.

g) Sehanrealizadoprogramaspararecuperar,actualizaryeliminarobjetosdelasbasesdedatos.

h) Sehanrealizadoprogramasparaalmacenarygestionartiposdedatosestructurados,compuestosyrelacionados.

3.6.8.2PROCEDIMIENTOSEINSTRUMENTOSDEEVALUACIÓN La función prioritaria de los procedimientos e instrumentos de evaluación es larecogida de datos del proceso educativo. La adecuada selección, utilización y revisión deestosprocedimientoseinstrumentospermitiráqueestarecogidadeinformaciónresultedeltodo rigurosa, sistemática y controlada, con lo que los resultados finales de la evaluaciónserán fiables, válidos y, por tanto, útiles para la mejora de los procesos de enseñanza yaprendizaje.

En la siguiente tabla, mostramos los procedimientos e instrumentos de recogida deinformaciónpara la evaluacióndel aprendizaje queutilizaremos, así como la ponderaciónquetendránsobrelacalificaciónfinaldelalumnoenlaunidaddidáctica:

Elseguimientoyanálisisdelasproduccionesdelosalumnos,anivel individualodegrupo, a través de cuadernos de trabajo, presentaciones, entrevistas, proyectos,trabajosmonográficos,cuestionarios,etc.

40%

Laaplicacióndepruebasespecíficas,prácticas,oralesoescritas,abiertasocerradas,paralaevaluacióndeloscontenidos. 50%

Losdebatesypresentacionesquepermitiránobservaryobtener informaciónsobreaspectosactitudinales,deintegraciónyactuaciónsocial. 10%

A partir de estos procedimientos e instrumentos evaluaremos nuestra unidad detrabajo obteniendo una calificación numérica comprendida entre 1 y 10 puntos (con dosdecimales).Lasuperaciónpositivadelaunidaddetrabajoeseliminatorio.

Elmóduloprofesionaltambiénsecalificarámedianteunenterocomprendidoentre1y10 puntos (sin decimales), que se obtendrá a partir de la media aritmética de lascalificaciones correspondientes a las 11 unidades didácticas que engloba. Se considerarásuperadoelmódulocuandodichacalificaciónseade5puntososuperior.

Page 78: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

77

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

3.6.8.3CRITERIOSDECALIFICACIÓN Paraestaunidadde trabajo11,al igualqueparael resto, loscriteriosdecalificaciónutilizadossonlossiguientes:

• Examen50%:Setratadeunapruebateórico-práctica.• Cada falta de ortografía resta 0.1 puntos, pudiendo restar como máximo 1

puntoenelexamen.• El resultadodelexamendebesercomomínimoun4parapoderhacermedia

conlasnotasdePrácticasyActitud.

• Prácticas40%:• Entregadelcuadernodeclaseyorganizacióndelosapuntes(5%).• Actividadesprácticas(25%)yentregadetrabajos(5%).• SecuenciaAICLE(5%)• Se debe obtener comomínimo un 4 en esta parte para hacermedia con las

notasdeExamenyActitud.

• Actitud10%:Paralacalificacióndelaactitudseguimoslossiguientescriterios:• Asistencia (4%): El alumno parte de un 4. Por cada falta de asistencia sin

justificarseresta0.5puntos.Laimpuntualidadresta0.2puntos.• Comportamiento (3%): El alumno parte de un 3. Si hay una falta de respeto

leve,disrupciones,nocuidaelmaterial…,seresta1punto.• Participación (3%): Se parte de 0. El dinamismo en clase, pizarra, ayuda

prestadaacompañeros…,suma0.5puntos.

Elalumno/asuperarápositivamentelaunidaddetrabajosilacalificacióntotalesun5osuperior.

A continuación, presentamos dos tablas que el docente utilizará para la evaluacióncontinuadelaunidaddidáctica.Donde:

• Frecuencia:Siempre(S);ConFrecuencia(F);Aveces(AV);Raramente(R)• Autonomía:SinAyuda(SA);Conindicaciones(CI);Conalgodeayuda(CA)• Cualidad:Excelente(E);MuyBien(MB),Bien(B),Regular(R)

CriteriosEvaluaciónFrecuen

cia

Autonomía

Cualidad

IdentificalascaracterísticasdelasBDOO.

AnalizasuaplicacióneneldesarrollodeaplicacionesmedianteLPOO.

Page 79: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

78

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

3.6.8.4MECANISMOSDERECUPERACIÓN Enelsupuestodequelacalificacióndelaunidaddetrabajoseainferiora5,elalumnonopodrásuperarlaunidaddetrabajo,porloqueseprocederáaestablecermecanismosderecuperación en función de las causas que hayan motivado dicha calificación. Estos

InstalasistemasgestoresBDOO.

Clasifica y analiza los distintos métodos soportados por lossistemas gestores para la gestión de la informaciónalmacenada.

Crea bases de datos y estructuras necesarias para elalmacenamientodeobjetos.

Programaaplicacionesquealmacenenobjetosen lasbasesdedatoscreadas.

Realizaprogramaspararecuperar,actualizaryeliminarobjetosdeBD.

Realiza programas para almacenar y gestionar tipos de datosestructurados,compuestosyrelacionados.

ProcesodeAprendizajeFrecuen

cia

Autonomía

Cualidad

CuadernoTrabajoindividual

Correccionesdeerrores

TrabajosoProyectos

Puntualidadenlaentrega

Expresiónescrita

Busca y analiza información dediferentesfuentes

Claridaddecontenidosysíntesis

Trabajoengrupo

Realiza la parte que le correspondedeltrabajo

Compartesuaprendizaje

Escríticoyaceptalascríticas

Page 80: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

79

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

mecanismos consistirán en una serie de actividades de refuerzo que permitan al alumnoasentarloscontenidosdelaunidad.Básicamente,distinguimostrestiposdemecanismos:

• Deapoyo: Seguimiento continuode las actividadesde refuerzo yentrevista conelalumno/aparaindicarlelosaspectosquedebecuidar.

• De trabajo: Trabajar más los aspectos evaluados negativamente realizandoactividadesderepaso.

• Decontrol:Realizandounapruebaespecífica.

Los alumnos/as tendrándosoportunidadesdepoder recuperar launidad,una finaldeltrimestrecorrespondienteyotrasegunda,enlaevaluaciónfinal.

3.6.8.5CARACTERÍSTICASDELAEVALUACIÓNFINAL Todos los alumnosdeben tenerunaevaluación finalperopuedeneliminarmateriaatravésdelasevaluacionesparciales.Portanto,podránrealizarlaevaluaciónfinaldenuestromóduloaquellosalumnos/asquenohayanalcanzadolascapacidadesmínimasoaquéllos/asqueaúnhabiéndolasalcanzadodeseeelevarlacalificacióndealgunaunidaddidáctica.

Para estos alumnos que acudan a la evaluación final se propondrán actividades derecuperaciónpersonalizadasparalaconsecucióndelascapacidadesmínimasanteriormenteindicadas. Las actividadesde recuperación se fijaránapartir del informeque se lehará acadaalumnoquenohayasuperadoelmóduloenlasevaluacionesparciales.

La realización de las actividades de recuperación se adecuará, dentro de las horaslectivasprogramadasenelhorariodeldocente,alascapacidadesterminalesnoadquiridaspor el alumno. Dichas actividades deberán ser realizadas por el alumno/a a lo largo delperiodoestablecidoatalefectoenlacomunidadautónomadeAndalucía,yseránevaluadasmediantelaaplicacióndepruebasespecíficasescritas(entreel1y22dejunio).

Para laevaluaciónde launidaddetrabajo,seconsideraráque losejerciciosprácticostienenunpesodel40%del totaly lapruebaespecíficaun50%.El10% restanteevalúa laactitudqueelalumno/amostródurantelaimparticióndelaunidaddetrabajoarecuperar.Laactitudnosepuederecuperarenlaevaluaciónfinal.

Se considera que la unidad de trabajo está superada si se obtiene una calificaciónmayoroigualque5.

3.6.9ATENCIÓNALALUMNADOCONNECESIDADESESPECÍFICASDEAPOYOEDUCATIVO(AANEAE) Se atribuye el término de Necesidades Educativas Especiales (NEE) a aquellosalumnos/as que presentan mayores dificultades que el resto de su mismo grupo y niveleducativo a la hora de alcanzar, por vía ordinaria, los objetivos y contenidos curricularespropuestos.SeenglobadentrodeltérminodeNEEatrestiposdecolectivos:

• Alumnosconincorporacióntardíaycondificultadesdeintegración.

Page 81: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

80

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

• Alumnossuperdotadosintelectualmente.• Alumnosconnecesidadeseducativasquepresentandiscapacidadesfísicas,psíquicas,

sensorialesogravestrastornosdepersonalidadoconducta.

En nuestro módulo y en concreto en la unidad didáctica que nos ocupa, se va acontemplarlaatenciónaladiversidadsegúnelritmodeaprendizaje:

• Habráalumnos/asquepresentenun ritmomás lentodeaprendizaje,por loque seplantearán actividades adaptadas a su ritmo y con el adecuado nivel de dificultad,insistiendo en los contenidos mínimos de la unidad didáctica, para conseguir losobjetivosplanteadosenlamisma.

• También se tendrá en consideración la existencia de alumnos/as conun ritmomásacelerado, para los cuales se planteará un número adicional de actividades ysupuestos prácticos que les permita desarrollar su capacidad de investigación yrazonamiento.

En adición, se va a contemplar la existencia de alumnos/as que presentenNecesidadesEducativasEspeciales.Enelgrupoalcualdirigimoslaproyeccióndidácticanoscentramos en una alumna que presenta una hipoacusia no severa con pérdida de lasensibilidad de 30 dB. Por tanto, para facilitar su integracióndebemos tener presente lossiguientesaspectos:

Enlaorganizacióndelaula:

• Presentartodalainformaciónposibleensoportevisual.• Informarconclaridad,de formaregularysistemática,acercade lasactividadesque

haderealizar.• Fomentar en clase el apoyo entre iguales, demanera que se establezcan alumnos

colaboradoresqueayudenalaalumna.• Reservarunpuestoenprimerafila,cuidandolailuminaciónylavisión.

Enlametodologíadidáctica:

• Se procurará hablar siempre de frente, buscando la mayor iluminación posible ymejorángulodevisión.

• SubiralaplataformaMOODLElaprogramacióndelaasignatura.• Utilizarlostablonesyplataformaparalosavisosporescritosdirigidosalaclase.

Enlasayudastécnicas:

• Es necesario conocer las ayudas técnicas que utiliza la alumna y mostrar nuestracolaboración.

Page 82: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

81

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

Enlaevaluación:

• Proporcionar información previa del examen y sus requisitos, así como criterios devaloración.

• Comunicarexpresamenteyporescritolasobservacionesquesehaganoralmente.• Para resolverdudasduranteunexamenescrito,explicaremosel contenidoconuna

estructuralingüísticamássencilla.• Permitirelusodeayudastécnicas.

En caso de ser necesario, solicitaremos asesoramiento del Departamento deOrientación.

3.6.10INTERDISCIPLINARIEDAD Interdisciplinariedadsedefinecomoelconjuntodedisciplinasconexasentresíyconrelaciones bien definidas, a fin de que sus actividades no se produzcan de forma aislada,dispersayfraccionada,ydeestaformanoentrarencontradicciones,norepetircontenidosynocrearinseguridad.

Distinguimos entre interdisciplinariedad horizontal (si los módulos pertenecen almismocurso)einterdisciplinariedadvertical(silosmódulospertenecenadiferentescursos)

Launidaddetrabajoquenosocupa“Persistenciade losobjetosenbasesdedatosorientadasaobjetos”,presentaunainterdisciplinariedadhorizontalconelmódulodeBasesde Datos (1º CFGS DAM) y una interdisciplinariedad vertical con el módulo deAcceso adatos(2ºCFGSDAM).

Porlotanto,paraeldesarrollodeloscontenidosdeestaunidaddidácticaseríamuyconveniente coordinarse con el profesor del módulo de “Bases de Datos”, y así poderaprovechar loscontenidosadquiridosendichomóduloyaplicarloseneldiseñoycreacióndebasesdedatosorientadasaobjetos.Delmismomodo,lascapacidadesadquiridasenlaunidad servirán de referente para partir de una base en los contenidos impartidos en elmódulode“Accesoadatos”de2ºcurso.

3.6.11TEMASTRANSVERSALES Lostemastransversalessonunconjuntodecontenidosdeenseñanzaesencialmenteactitudinalesque recogenaspectosquehanalcanzadoespecial relevanciaeneldesarrollodelasociedaddurantelosúltimosañosenrelaciónconlosvaloresmorales,laigualdaddeoportunidades,lasalud,elmedioambienteyelconsumo.

Pese a que la enseñanza para la que estamos programando es postobligatoria, esnecesarioabordarlostalycomoasíseestableceenlosobjetivosdelArtículo5delaLeydeEducacióndeAndalucía.

Page 83: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

82

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

Hemosconsideradoapropiadoabordarlostemastransversalesdeformaglobalizadaen lugar de incluirlos de forma aislada en un boque de contenidos, posibilitando así laformacióncientífico-técnicajuntoaléticoymoral.

Lostemastransversalesquepodránseraplicadosalmódulode“Programación”,yenconcreto,alaUnidadDidáctica11“Persistenciadelosobjetosenbasesdedatos”sonlossiguientes:

• EducaciónMoral-Cívica: Se expondrá la importanciaque tieneel respetohacia lasnormas de utilización del software (licencias). También incentivaremos el uso desoftwarelibre,demos,etc.Porotrolado,afrontaremosconflictosprovocadosporlaslimitacionestecnológicassiemprepresentesenunentornotecnológicotandinámicoy en continua evolución como es el sector informático. Y, por último, se van adesarrollarhabilidadesderelaciónsociale interpersonal,potenciando lasactitudescomunicativas,denegociaciónydetrabajoengrupo,siempredesdeelrespeto.

• EducaciónparaelConsumidor:Se investigarásobre lasnovedadesenelcampodelastecnologíasycomunicacionesquehayenelmeradoy,posteriormente,seharántrabajosy/oexposicionesy/odebatessobrelasinvestigacionesrealizadas.

• Educación Ambiental: Se proporcionará el material didáctico a través de laplataforma Moodle, correo electrónico, almacenamiento en la nube, etc., paraproporcionarmaterialdidácticoyparalaentrega/correccióndeprácticas.

• Seguridad Laboral: Para abordar este tema se propondránmediadas organizativasquefacilitenunacargadetrabajoadecuada, incentivaremosque loselementosdelpuesto de trabajo (sillas, mesas, equipos, etc.) deben de tener las condicionesergonómicasadecuadas.

• Bilingüismo:Puestoqueestamosprogramandoparauncentroyuncicloformativobilingüe en el idioma de inglés, vamos a proponer en esta unidad didáctica unabatería de ejercicios (Secuencia AICLE) y la colaboracióndel intérprete de idiomasdel centro, con el objetivo que nuestros alumnos/as puedan practicar las cincodestrezas del idioma (Reading, Writing, Speaking, Listening and Interaction), almismo tiempo que refuerzan los conocimientos de informática adquiridos en launidad.

3.7.ACTIVIDADESDELAUNIDADDIDÁCTICA

3.7.1ACTIVIDADESDEDESARROLLO1. (EjercicioResuelto)Crealasiguienteclasequeserálautilizadapararealizaroperaciones

básicasconlabasededatos.Nuestraclasevaaserlasiguiente.

Page 84: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

83

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

Laclasealmacenalosdatosdelosalumnosytienelosmétodosmínimosparapodertrabajarconella.Acontinuación,vamosaverycomprobarlasoperacionesbásicasquesepuedenrealizarsobreestabasededatos.

1.1 Crear/accederalabasededatos:Laestructurabásicadetrabajoconlabasededatoseslasiguiente:

Page 85: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

84

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

AperturadelaBD(conexión)!Realizaroperaciones!CerrarlaBD(desconexión)

1.2 Almacenarobjetos:

Paraalmacenarobjetosenlabasededatosbastaconllamaralmétodostore()delobjetobd creadode tipoObjectContainer.Unejemplodemétodoquealmacena tresobjetosAlumnoeselsiguiente:

1.3 Recuperarobjetosdelabasededatos:

ParamostrarelresultadodelasconsultasrealizadasalabasededatosusamoselmétodomostrarResultado() el cual tomacomoparámetrounObjectSet(conjunto de objetos) yvarecorriéndolomostrandounoaunolosdatosrecuperados.

Siqueremosrecuperartodos losalumnosde labasededatos,se lepasaundatovacío(datosdetipoStringanullycamposnuméricosa0)queleindicaalabasededatosquedeberárecuperartodoslosobjetos.

Page 86: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

85

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

Recuperarunalumnoenconcretocuyaedadsea26.

1.4 Actualizarobjetosenlabasededatos:Paraactualizarunobjetobastaconmodificarloeinvocaralmétodostore()paraqueseactualiceenlabasededatos.

1.5 Borrarobjetosdelabasededatos:Borrarunalumnodelabasededatos.

Page 87: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

86

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

2. (Ejercicio Resuelto) Usando la librería API SODA, realiza las siguientes consultas,probandoelcódigoqueseproporciona.2.1 Generaunlistadodetodoslosobjetosalumnodelabasededatos:

2.2 Obtenertodoslosalumnosquesellamen“EmilioAnaya”.

2.3 Obteneraquellosalumnosquetengan23años.

2.4 Mostrarlosalumnosquenotengan23años.

2.5 Obteneraquellosalumnoscuyanotaseamenorde7oedadmayorde25años.

Page 88: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

87

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

3. Imaginemos que para una Asignatura determinada se van a realizar una serie deproyectos.Cadaproyectoestáasignadoaunalumnoenconcreto,porlotanto,laclaseProyectoincluiráunobjetodelaclaseAlumno.LaclaseProyectoestaríaimplementadadelasiguienteforma:

Page 89: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

88

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

CreaunaconsultaQBEquemuestre losproyectosdeaquellosalumnosquetengan23años.

4. Imaginemos que tenemos una serie de profesores que se encargan de llevar losproyectos de una serie de alumnos. Lo lógico es implementar la serie de proyectosatendidosporunprofesorenunarraydeobjetosdetipoproyecto.Completalaclaseprofesorqueproporcionamosacontinuación,conlossiguientesmétodos,codifícalaenunmétodoycompruebaquefunciona:• voidsetNombre(String)• stringgetNombre()• boolean tieneProyecto(String). DevuelveTrue si el profesor lleva un proyecto cuya

descripción de proyecto coincide con la pasada como parámetro. False en casocontrario.

• boolean tieneAlumno(String). Devuelve True si el profesor lleva a un alumno cuyonombrecoincideconelpasadocomoparámetro.Falseencasocontrario.

MostramoslaclaseProfesor:

Page 90: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

89

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

5. (EjercicioResuelto) Implementarunmétodoenelquesecreen5alumnos, cadaunoconsuproyectoasignado,algunosdeellosasignadosaunprofesoryel restoaotroprofesor.

6. (Ejercicio Resuelto) Utilizando el método del ejercicio 5, recupera aquellos alumnosque estén realizando un proyecto con Joomla y Drupal (Consulta sobre un objetoproyectodeunarray).

7. (EjercicioResuelto)Utilizandoelmétododelejercicio5,recuperaaquellosprofesoresquetenganunalumnocon29años(Consultaporunobjetoalumnodentrodelobjetoproyecto).

Page 91: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

90

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

8. (EjercicioResuelto)Realizaunmétodoconelsiguienteprototipo:

publicstaticvoidconsultaSODA2(ObjectContainerbd)

Elmétododeberáhacerlosiguiente:

• Insertarunnuevoalumnoconlossiguientesdatos:- Nombre:“JuanSerrano”- Edad:29- Nota:9.75

• Mostrar los alumnos de la base de datos ordenados por nombreascendentemente.

9. (EjercicioResuelto)Realizaunmétodoconelsiguienteprototipo:

publicstaticvoidborraPorEdad(ObjectContainerbd,intedad)

Estemétododeberáborrardelabasededatosaquellosalumnosquecoincidanconlaedad indicada en el segundo parámetro. El método además deberá de mostrar lainformacióndelosalumnoseliminados.

Page 92: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

91

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

3.7.2ACTIVIDADESDECONSOLIDACIÓN1. RealizaunaconsultaalabasededatosdealumnosvistaenlosEjerciciosdeDesarrollo

deltemayseleccionaaquellosalumnosquenosellamen“FernandoGil”yordénalosascendentemente.

2. RealizaunaconsultaalabasededatosdealumnosvistaenlosEjerciciosdeDesarrollodel temay seleccionaaquellos alumnosqueno se llamen “AndrésRosique”o “JuanGámez”.

3. Seproponealalumnoquecreeunjuegodepreguntas.Paraello,secrearáunaclasepreguntaconunapreguntaarealizar,cuatroposiblesrespuestasyunaúnicarespuestaverdadera. El alumno deberá crear un fichero de texto con una serie de preguntas.Cadapreguntaocupará5líneasdelficherodetexto.Laformadeguardarlosdatosenelficheroserálasiguiente:

- Pregunta- Respuesta1- Respuesta2- Respuesta3- Respuesta4- Solución

Acontinuación,mostramosunejemplo:

¿CuáleselinventordellenguajeJava?

SteveJobs

JamesGoeling

BillGates

AndrewTanembaum

2

Elprogramadeberáleerelfichero,crear losobjetosdetipopreguntayalmacenarlosenlabasededatos.También,deberádetenerunmétodoquerealice10preguntasalusuarioymuestreunsumarioalaconclusiónconlaspreguntasacertadasyerradas.

4. Modifica el programa anterior para que al usuario se le hagan preguntas de formaaleatoria y sin repetición y que el número de preguntas a realizar pueda serestablecidopreviamenteantesdeiniciarselabateríadepreguntas.

5. Modifica el programa anterior creando una clase categoría en la que se puedanclasificarlaspreguntas.Cadacategoríatendráunaseriedepreguntasalmacenadasen

Page 93: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

92

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

unarray.Elusuario, cuandoejecuteelprograma,deberádeelegir la categoríade laquequiereserpreguntada.

6. Añádeleunainterfazgráficaalprogramaanterior.Lainterfazdeberácontemplartodaslas características del diseño propuesto. Mejora la interfaz añadiendo el campojugador. Cuando un jugador ingresa en el programa debe introducir su nombre yposteriormentejugar.Creaunaopciónenelprogramaenlaquesemuestreeljugadorqueostentaelrecorddeljuego.

3.7.3ACTIVIDADESDEREFUERZO1. RealizaunaconsultaalabasededatosdealumnosvistaenlosEjerciciosdeDesarrollo

deltemayseleccionaaquellosalumnoscuyanotaestécomprendidaentre7y9.

2. Creaunprogramacomoelgeneradoenelejercicio3delosEjerciciosdeConsolidaciónquepermitagenerarlaspreguntasdelarchivodedatos.Elprogramadeberádeteneruna interfaz gráfica. El diseño de la interfaz lo realizará el alumno atendiendo lasnecesidadesdelprograma.

3.7.4ACTIVIDADESDEAMPLIACIÓN1. Necesitamoscrearunapequeñaaplicaciónquegestioneelparquedeordenadoresde

unapequeñaempresa.Cadaordenadortendrálassiguientescaracterísticas:- Marca- Modelo- Procesador- TipoMemoria- CantidadMemoria- Ubicación- NúmeroSerie- Númerointerno(códigosuministradoporlaempresa)

ElprogramadeberápoderInsertar,ModificaryEliminarequipos.Cuandoseinsertaunequipo el sistemadeberá de dotarle de un código interno. Se deberá poder realizarconsultascomo:

- Listadodeequiposdeunaubicacióndeterminada.- Cuántosequiposhayporubicación.- Tipodememoriaycantidaddelosequipos.

El diseño de la interfaz lo realizará el alumno atendiendo las necesidades delprograma.

Page 94: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

93

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

4.BIBLIOGRAFÍAYREFERENCIASWEBS

BibliografíadeDepartamentoyAula

[1]MarioGPiattini,EsperanzaMarcos,CoralCalero,BelénVela(2006).“Tecnologíaydiseñodebasesdedatos”.EditorialRa-Ma.

[2]Silberschatz,Korth,Sudarshan(2006)“FundamentosdeBasesdeDatos.QuintaEdición”.EditorialMcGrawHill.

[3]JuanCarlosMorenoPérez(2014).“Programación”.EditorialRa-Ma.

ReferenciasWebs

[4] Olga Zalamea (2013). “Evolución de las Bases de Datos”. Revista Galileo. Número 23.Disponible en: http://ucuenca.edu.ec/ojs/index.php/galileo/article/view/157/155.RecuperadoenJuniode2016.

[5] Jorge Mario Londoño, Sonia Jaramillo Valbuena (2014). “Sistemas para almacenargrandes volúmenes de datos. Big data stores”.RevistaGerencia Tecnológica Informática.Volumen 13. Número 37. Disponible en:http://revistas.uis.edu.co/index.php/revistagti/article/view/4689. Recuperado en Junio de2016.

[6] Juan JoséCamargoVega, JonathanFelipeCamargoOrtega, Luis JoyanesAguilar (2015).“Arquitectura tecnológica para Big Data”. Revista científica. Volumen 1. Número 21.Disponible en:http://revistas.udistrital.edu.co/ojs/index.php/revcie/article/view/8451/10835. RecuperadoenJuniode2016.

[7]JeremyLikness.“BasedeDatosOrientadaaObjetosNoSQLpara.NET,Silverlight4y5yWindowsPhone7”.Disponibleen:https://sterling.codeplex.com/.RecuperadoenJuniode2016.

Page 95: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

94

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

[8] Juan Francisco González Reyes (2011). “Bases de datos orientadas a objetos en laindustria”. Disponible en: http://es.slideshare.net/ziscko89/ejemplos-industria-bdoojuanfcoglz07230471ejemplos-de-uso-de-bases-de-datos-orientadas-a-objetos-en-la-industria.RecuperadoenJuniode2016.

[9] CATTEL, R. G et al. (2000). “The Object Database Standard: ODMG 3.0”. MorganKaufmann. Disponible en:https://books.google.es/books?id=M9fejgEACAAJ&dq=cattell+the+object+database+standard+odmg+3.0&hl=es&sa=X&ved=0ahUKEwisnJz04rbNAhVECsAKHVioCi4Q6AEIHjAA.RecuperadoenJuniode2016.

[10]María José Aramburu Cabo, Ismael Sanz Blasco (2013). “Bases de datos avanzadas”.Disponible en: http://repositori.uji.es/xmlui/bitstream/handle/10234/48034/s73.pdf.RecuperadoenJuniode2016

[11] Instituto Geográfico Nacional. “Cartografía y Bases Geográficas”. Disponible en:https://www.ign.es/ign/layoutIn/actividadesBDGintro.do.RecuperadoenJuniode2016.

[12] Jesús Efrain Revelo Burbano (2015). “Sistema de Información Geográfica paradispositivos móviles como herramienta de difusión de alertas de amenazas y riesgosnaturales”.TrabajoFindeGradoenlaespecialidadenGeomáticaporlaUniversidadMilitarNueva Granada. Disponible en:http://repository.unimilitar.edu.co/bitstream/10654/6572/1/trabajo de grado JesusRevelo.pdf.RecuperadoenJuniode2016.

[13]“Estadodelartedelasbasesdedatosorientadasaobjetosembebidas”.Disponibleen:https://repository.eafit.edu.co/bitstream/handle/10784/1591/7.%20marcoTeorico.pdf?sequence=7&isAllowed=y.RecuperadoenJuniode2016.

BibliografíaLegal

[14]OrdenEDU/3138/2011,de15denoviembre.BOENúmero278,de18/11/2011

[15]RealDecreto1128/2003,de5deseptiembre,BOENúmero223,de17/09/2003

[16]LeyOrgánicadelaEducación2/2006,de3demayo.BOENúmero106,de04/05/2006

[17]LeyOrgánicapara laMejorade laCalidadEducativa8/2013,de9dediciembre.BOENúmero295,de10/12/2013

Page 96: BASES DE DATOS ORIENTADAS A OBJETOS PERSISTENCIA DE …tauja.ujaen.es/bitstream/10953.1/5362/1/garciafernandez... · 2018. 3. 20. · datos relacionales (y viceversa). Esta diferencia

95

BasesdeDatosOrientadasaObjetos.PersistenciadeObjetosyLenguajes

[18]LeydeEducacióndeAndalucía(LEA)17/2007,de10dediciembre.BOJANúmero256de26/12/2007

[19]RealDecreto450/2010,de16deabril.BOENúmero123de20/05/2010

[20]Ordende16dejuniode2011.BOJANúmero144de25/07/2011