SlideShare una empresa de Scribd logo
ESTRUCTURA DE DATOS IESTRUCTURA DE DATOS I
MEMORIA PERSISTENTEMEMORIA PERSISTENTE
EXPOSITOR:EXPOSITOR:
Ing. Evans Balcazar VeizagaIng. Evans Balcazar Veizaga
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
DEFINICIONDEFINICION
VENTAJAS DEL MODELO PERSISTENTEVENTAJAS DEL MODELO PERSISTENTE
DESVENTAJAS DEL MODELO PERSISTENTEDESVENTAJAS DEL MODELO PERSISTENTE
EJEMPLOEJEMPLO
BIBLIOGRAFIABIBLIOGRAFIA
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
A la característica que le permite a un objeto existir mas allá del tiempo
de vida del programa que lo instancia, se le llama persistencia, de tal
suerte, los objetos pueden se clasificados como :
Transitorios:
Cuyo tiempo de vida depende directamente del
ámbito de la función que los instanció (o
del programa en caso de ser globales).
Persistentes:
Cuyo estado es almacenado en un medio
secundario para su posterior reconstrucción y
utilización, por lo que su tiempo de vida es
independiente del programa que los
instanció.
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
Existen varias formas en las que un programador puede resolver el
problema del almacenamiento de objetos Una de ellas es escribir
directamente los objetos en archivos, para lo cual el programador
deberá crear el código que a partir de las librerías del lenguaje le
permitan almacenar y recuperar los objetos.
En esta modalidad, el programador deberá convertir las
representaciones en memoria de los objetos a flujos de bytes (a este
proceso se le conoce como serialización).
La serialización y todas las demás consideraciones de almacenamiento
(manejo de archivos, indexación, distribución, paginación, relaciones
entre objetos, etc...) quedan a cargo del programador. Esto requiere de
un gran esfuerzo de programación.
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
Actualmente, coexistiendo con estos sistemas anteriormente
mencionados están surgiendo nuevas iniciativas, la mayoría de ellas
ideadas para conseguir que los lenguajes de programación soporten
objetos persistentes.
Persistencia en Java
Si nos centramos en el lenguaje de programación Java, por ejemplo,
vemos que existe un amplio abanico de posibilidades cara a conseguir
dicho objetivo. Así, nos encontramos con proyectos como Pjava
(Persistent Java), que proporciona un entorno de programación
persistente para el lenguaje Java basado en una modificación de su
plataforma.
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
Esquema general para la inclusión de funcionalidades de bases de datos
en un lenguaje
de programación.
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
Persistencia en C++
El operador new (palabra clave C++) proporciona espacio de
almacenamiento persistente, similar pero superior a la función de
Librería Estándar malloc. Este operador permite crear un objeto de
cualquier tipo, incluyendo tipos definidos por el usuario, y devuelve un
puntero (del tipo adecuado) al objeto creado.
Su utilización exige que el usuario declarare un puntero del tipo
adecuado; a continuación debe ser inicializado con el valor devuelto
por el operador. Si el objeto creado es tipo T, sería algo así:
T* puntero = valor-devuelto-por-el-operador;
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
Los objetos creados con new son persistentes, es decir, la vida del
nuevo objeto es desde el punto de creación hasta el final del programa
o hasta que el programador lo destruya explícitamente con el operador
delete. Este último desasigna la zona de memoria ocupada por el
objeto, de forma que queda disponible para nuevo uso. Las sucesivas
invocaciones de este operador van reservando zonas de memoria en el
montón para los objetos sucesivamente creados. El gestor de memoria
del compilador se encarga de mantener una tabla con los sitios
ocupados y libres sin que haya conflictos hasta que la memoria se ha
agota, o no existe espacio contiguo suficiente para el nuevo objeto. En
cuyo caso se lanza una excepción como indicativo del error.
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
Peligros
La persistencia de los objetos creados con new y su independencia del
ámbito desde el que han sido creados, es muy importante y de tener en
cuenta, pues suele ser motivo de pérdidas de memoria en el programa
si olvidamos destruirlos cuando ya no son necesarios . Hay que prestar
especial atención, porque en una sentencia como:
voidfunc() {
...
tipoX* Xptr = new tipoX;
...
}
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
el área de almacenamiento señalada por el puntero es persistente, pero
Xptr que es una variable local automática no lo es. Si olvidamos
destruir el objeto creado (con delete) antes de salir del ámbito, el área
de almacenamiento permanecerá ocupando espacio en el montón y no
podrá ser recuperada nunca, pues el puntero Xptr habrá desaparecido.
La cuestión de pérdida de memoria no es solo cuestión de que el
programador "recuerde" utilizar delete antes de salir del ámbito del
puntero. También puede producirse por otras circunstancias. Por
ejemplo, el mecanismo de lanzamiento y captura de excepciones C++
puede funcionar como un salto, goto o break multinivel, que saque
abruptamente de ámbito al puntero con la consiguiente pérdida
irreparable. La situación puede ser esquematiza como sigue (la figura
adjunta muestra el estado de la pila y el alcance del desmontaje -"Stack
unwinding"- caso de producirse un error).
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
fun1() {
try { fun2(); }
catch (...) {
...
}
}
fun2() {
A* aptr = new A; // crear objeto
foo();
...
delete aptr; // Ok. destruir el objeto
} // antes de salir de ámbito
foo() {
...
if (x) throw "Error";
...
}
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
La situación anterior es de gran peligro potencial. Si se produce la
condición x, y se lanza la excepción en foo, la pila será desmontada
hasta el punto de la sentencia catch en fun1 que recibirá el control. La
secuencia de ejecución no pasará nunca por el delete de fun2, con lo
que el espacio del objeto A se perderá irremediablemente.
Conscientes del deficiente maridaje entre el operador new y el sistema
C++ de excepciones, los diseñadores de la Librería Estándar, han
incluido en esta un puntero "inteligente" auto_ptr, que resuelve este
tipo de problemas.
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
La persistencia permite al programador el almacenar, transferir y
recuperar el estado de los objetos.
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
La persistencia es muy difícil de implementar puesto que es muy
compleja ya que le exige al programador el manejo de Puntero.
Todo objeto creado de forma persistente debe de ser destruido
cuando ya no se lo necesita puesto que ocasiona pérdidas de
memoria en el programa si olvidamos destruirlos.
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
#include<conio.h>
#include<iostream.h>
#include <vcl.h>
#pragma hdrstop
#include <fstream.h>
class persona
{
private:
String nombre;
public:
persona();
void setnom(String s);
String getnom();
};
persona::persona()
{
nombre="vacio";
}
void persona:: setnom(String s)
{
nombre=s;
}
String persona::getnom()
{
return nombre;
}
void main ()
{
persona p,q;
p.setnom("iris");
ofstream out;
out.open("persona.dat");
out.write((char*)&p,sizeof(persona));
out.close();
ifstream in;
in.open("persona.dat");
in.read ((char*)&q,sizeof(persona));
out.close();
cout<< q.getnom();
getch();
}
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
[4] M. Atkinson, L. Daynès, M. Jordan, T. Printezis, S. Spence. An
Orthogonally Persistent Java. SIGMOD Record, Vol 25 Nº4. December,1996
[5] Steven T. Abell. Using Java with PSE. Java White Paper.
http://www.odi.com, March 1999.
http://www.programación.com
Autora y Enviado por:
ROCIO BAILON CARPIO con correo BRITNEYRK@HOTMAIL.COM el
día 10 de julio de 2006
PROGRAMA DE VISUAL BASIC 5.0
A:
http://www.Programación en castellano_ Foros de debate_ Visual FoxPro
programacion gratis.htm
Copyright © 1999-2006 Programación en castellano. Todos los derechos
reservados. Información extraide de dicha página web a las 9:30 pm. El día
viernes 15 de septiembre de 2006.
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
http://www.itlp.edu.mx/publica/revistas/revistali/anteriores/marzo99/actual3.ht
ml
http://www. Formas de Proveer la Persistencia.htm Autor: Ing. Marco Antonio
Castro Liera. Información extraide de dicha página web a las 8:00 pm. El día
Jueves 14 de septiembre de 2006.
Ambler, S. “Persistence layer requirement”. Software develpoment. 6(1) 70-
71, January 1998.
Ambler, S. “Persistence modeling in the UML”. Software
Development Magazine. http://www.sdma gazine.com/articles/1999/
0008a.htm. August 1999.
Ambler, S. “The Design of Robust Persistence Layer for Relational
Database”. http://www.amysoft.com/ persistencelayer.pdf. October
21, 2000.
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
Sitio Web http://www.zator.com/CPP/E4_9_20a.html Autor Copyright ©
2000-2006 Zator Systems. Información extraída de dicha pagina el 26 de
septiembre de 2006 a las 9:25 pm.
ESTRUCTURA DE DATOS
MODELO PERSISTENTE
INF-220 Estructura de Datos I

Más contenido relacionado

La actualidad más candente

Que es un firewall y su función
Que es un firewall y su funciónQue es un firewall y su función
Que es un firewall y su función
Consuelo Sandoval
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
RD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y EnrutamientoRD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y Enrutamiento
Franklin Parrales Bravo
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
Cristian Miguel Galan Torres
 
LI2011-T11: Resolución en lógica de primer orden
LI2011-T11: Resolución en lógica de primer ordenLI2011-T11: Resolución en lógica de primer orden
LI2011-T11: Resolución en lógica de primer orden
José A. Alonso
 
Principios electricos y aplicaciones digitalesl sesion 1
Principios electricos y aplicaciones digitalesl sesion 1Principios electricos y aplicaciones digitalesl sesion 1
Principios electricos y aplicaciones digitalesl sesion 1Rodolfo Alcantara Rosales
 
Arquitectura harvard
Arquitectura harvardArquitectura harvard
Arquitectura harvard
Luis Alejandro Pacheco López
 
Modelo Osi
Modelo OsiModelo Osi
Modelo Osicijein
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
Universidad de Cuenca
 
Tema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en HaskellTema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en Haskell
José A. Alonso
 
Arquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos OracleArquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos Oracle
vinivaldivieso
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Humano Terricola
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un proceso
i92almaa
 
Introducción a la Programación No Lineal
Introducción a la Programación No LinealIntroducción a la Programación No Lineal
Introducción a la Programación No Lineal
AngelCarrasquel3
 
Diferencia entre prceso, programa y procesador
Diferencia entre prceso, programa y procesadorDiferencia entre prceso, programa y procesador
Diferencia entre prceso, programa y procesador
Dulce Fernàndez-t
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normal
ITCV
 
Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvard
Manzelot
 
Gestión de Entrada y Salida
Gestión de Entrada y SalidaGestión de Entrada y Salida
Gestión de Entrada y Salida
Alf Chee
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
Anel Sosa
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
José Antonio Sandoval Acosta
 

La actualidad más candente (20)

Que es un firewall y su función
Que es un firewall y su funciónQue es un firewall y su función
Que es un firewall y su función
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
RD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y EnrutamientoRD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y Enrutamiento
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
 
LI2011-T11: Resolución en lógica de primer orden
LI2011-T11: Resolución en lógica de primer ordenLI2011-T11: Resolución en lógica de primer orden
LI2011-T11: Resolución en lógica de primer orden
 
Principios electricos y aplicaciones digitalesl sesion 1
Principios electricos y aplicaciones digitalesl sesion 1Principios electricos y aplicaciones digitalesl sesion 1
Principios electricos y aplicaciones digitalesl sesion 1
 
Arquitectura harvard
Arquitectura harvardArquitectura harvard
Arquitectura harvard
 
Modelo Osi
Modelo OsiModelo Osi
Modelo Osi
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Tema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en HaskellTema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en Haskell
 
Arquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos OracleArquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos Oracle
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un proceso
 
Introducción a la Programación No Lineal
Introducción a la Programación No LinealIntroducción a la Programación No Lineal
Introducción a la Programación No Lineal
 
Diferencia entre prceso, programa y procesador
Diferencia entre prceso, programa y procesadorDiferencia entre prceso, programa y procesador
Diferencia entre prceso, programa y procesador
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normal
 
Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvard
 
Gestión de Entrada y Salida
Gestión de Entrada y SalidaGestión de Entrada y Salida
Gestión de Entrada y Salida
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 

Similar a Modelo Persistente

Modelo Persistente
Modelo PersistenteModelo Persistente
Modelo Persistenteguest0fc4fa
 
C++
C++C++
Cplus
CplusCplus
Programación en c++
Programación en c++Programación en c++
Programación en c++
andermijan
 
Enclausulamiento java
Enclausulamiento javaEnclausulamiento java
Enclausulamiento java
Jonathan Israel
 
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Eudris Cabrera
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++ Ronal Palomino
 
Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018
Eudris Cabrera
 
Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2Axel
 
P R A C T I C A2
P R A C T I C A2P R A C T I C A2
P R A C T I C A2climancc
 
Programacion orientada a objetos en javascript
Programacion orientada a objetos en javascriptProgramacion orientada a objetos en javascript
Programacion orientada a objetos en javascript
Robert Moreira
 
Javascript OOP
Javascript OOPJavascript OOP
Javascript OOP
Gabriel Chertok
 
Guía JavaScript
Guía JavaScriptGuía JavaScript
Guía JavaScript
lissette_torrealba
 

Similar a Modelo Persistente (20)

Modelo Persistente
Modelo PersistenteModelo Persistente
Modelo Persistente
 
C++
C++C++
C++
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Cplus
CplusCplus
Cplus
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Tema 11
Tema 11Tema 11
Tema 11
 
Lenguaje c ++ guía para programadores
Lenguaje c ++  guía para programadoresLenguaje c ++  guía para programadores
Lenguaje c ++ guía para programadores
 
Enclausulamiento java
Enclausulamiento javaEnclausulamiento java
Enclausulamiento java
 
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
 
Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018
 
Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2
 
Modelo Simulado
Modelo SimuladoModelo Simulado
Modelo Simulado
 
Modelo Dinamico
Modelo DinamicoModelo Dinamico
Modelo Dinamico
 
P R A C T I C A2
P R A C T I C A2P R A C T I C A2
P R A C T I C A2
 
Programacion orientada a objetos en javascript
Programacion orientada a objetos en javascriptProgramacion orientada a objetos en javascript
Programacion orientada a objetos en javascript
 
Javascript OOP
Javascript OOPJavascript OOP
Javascript OOP
 
Guía JavaScript
Guía JavaScriptGuía JavaScript
Guía JavaScript
 

Más de Evans Balcazar

Matriz Sparse
Matriz SparseMatriz Sparse
Matriz Sparse
Evans Balcazar
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
Evans Balcazar
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
Evans Balcazar
 
ESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALES
Evans Balcazar
 
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSPRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
Evans Balcazar
 
Recorridos de Grafos
Recorridos de GrafosRecorridos de Grafos
Recorridos de Grafos
Evans Balcazar
 
Arboles 2-3 Insertar Eliminar
Arboles 2-3 Insertar EliminarArboles 2-3 Insertar Eliminar
Arboles 2-3 Insertar Eliminar
Evans Balcazar
 
Introduccion a Arboles AVL
Introduccion a Arboles AVLIntroduccion a Arboles AVL
Introduccion a Arboles AVL
Evans Balcazar
 
Insercion Arboles AVL
Insercion Arboles AVLInsercion Arboles AVL
Insercion Arboles AVL
Evans Balcazar
 
Arboles AVL Rotaciones
Arboles AVL RotacionesArboles AVL Rotaciones
Arboles AVL Rotaciones
Evans Balcazar
 
Arboles Recorridos
Arboles RecorridosArboles Recorridos
Arboles Recorridos
Evans Balcazar
 
Arboles Ordenados
Arboles OrdenadosArboles Ordenados
Arboles Ordenados
Evans Balcazar
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
Evans Balcazar
 
Recorrido de Grafos
Recorrido de GrafosRecorrido de Grafos
Recorrido de Grafos
Evans Balcazar
 
Introduccion a Grafos 2
Introduccion a Grafos 2Introduccion a Grafos 2
Introduccion a Grafos 2
Evans Balcazar
 
Introduccion a Grafos 1
Introduccion a Grafos 1Introduccion a Grafos 1
Introduccion a Grafos 1Evans Balcazar
 
Dce06 Arteaga 2007 2 Conferencia
Dce06  Arteaga 2007 2 ConferenciaDce06  Arteaga 2007 2 Conferencia
Dce06 Arteaga 2007 2 Conferencia
Evans Balcazar
 
Dce06 Arteaga 2007 1 Conferencia
Dce06  Arteaga 2007 1 ConferenciaDce06  Arteaga 2007 1 Conferencia
Dce06 Arteaga 2007 1 Conferencia
Evans Balcazar
 
Dce06 Arteaga 2007 3 Conferencia
Dce06  Arteaga 2007 3 ConferenciaDce06  Arteaga 2007 3 Conferencia
Dce06 Arteaga 2007 3 Conferencia
Evans Balcazar
 

Más de Evans Balcazar (20)

Matriz Sparse
Matriz SparseMatriz Sparse
Matriz Sparse
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
ESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALES
 
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSPRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
 
Recorridos de Grafos
Recorridos de GrafosRecorridos de Grafos
Recorridos de Grafos
 
Arboles 2-3 Insertar Eliminar
Arboles 2-3 Insertar EliminarArboles 2-3 Insertar Eliminar
Arboles 2-3 Insertar Eliminar
 
Introduccion a Arboles AVL
Introduccion a Arboles AVLIntroduccion a Arboles AVL
Introduccion a Arboles AVL
 
Insercion Arboles AVL
Insercion Arboles AVLInsercion Arboles AVL
Insercion Arboles AVL
 
Arboles AVL Rotaciones
Arboles AVL RotacionesArboles AVL Rotaciones
Arboles AVL Rotaciones
 
Arboles Recorridos
Arboles RecorridosArboles Recorridos
Arboles Recorridos
 
Arboles Ordenados
Arboles OrdenadosArboles Ordenados
Arboles Ordenados
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Recorrido de Grafos
Recorrido de GrafosRecorrido de Grafos
Recorrido de Grafos
 
Introduccion a Grafos 2
Introduccion a Grafos 2Introduccion a Grafos 2
Introduccion a Grafos 2
 
Introduccion a Grafos 1
Introduccion a Grafos 1Introduccion a Grafos 1
Introduccion a Grafos 1
 
Dce06 Arteaga 2007 2 Conferencia
Dce06  Arteaga 2007 2 ConferenciaDce06  Arteaga 2007 2 Conferencia
Dce06 Arteaga 2007 2 Conferencia
 
Dce06 Arteaga 2007 1 Conferencia
Dce06  Arteaga 2007 1 ConferenciaDce06  Arteaga 2007 1 Conferencia
Dce06 Arteaga 2007 1 Conferencia
 
Dce06 Arteaga 2007 3 Conferencia
Dce06  Arteaga 2007 3 ConferenciaDce06  Arteaga 2007 3 Conferencia
Dce06 Arteaga 2007 3 Conferencia
 
Modelo Simulado
Modelo SimuladoModelo Simulado
Modelo Simulado
 

Último

Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
AMADO SALVADOR
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Todo sobre Minirobotica. Revista Saber Electronica
Todo sobre  Minirobotica. Revista Saber ElectronicaTodo sobre  Minirobotica. Revista Saber Electronica
Todo sobre Minirobotica. Revista Saber Electronica
Carlos Carlosnoemi
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
aljitagallego
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 

Último (20)

Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Todo sobre Minirobotica. Revista Saber Electronica
Todo sobre  Minirobotica. Revista Saber ElectronicaTodo sobre  Minirobotica. Revista Saber Electronica
Todo sobre Minirobotica. Revista Saber Electronica
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 

Modelo Persistente

  • 1. ESTRUCTURA DE DATOS IESTRUCTURA DE DATOS I MEMORIA PERSISTENTEMEMORIA PERSISTENTE EXPOSITOR:EXPOSITOR: Ing. Evans Balcazar VeizagaIng. Evans Balcazar Veizaga ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 2. DEFINICIONDEFINICION VENTAJAS DEL MODELO PERSISTENTEVENTAJAS DEL MODELO PERSISTENTE DESVENTAJAS DEL MODELO PERSISTENTEDESVENTAJAS DEL MODELO PERSISTENTE EJEMPLOEJEMPLO BIBLIOGRAFIABIBLIOGRAFIA ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 3. A la característica que le permite a un objeto existir mas allá del tiempo de vida del programa que lo instancia, se le llama persistencia, de tal suerte, los objetos pueden se clasificados como : Transitorios: Cuyo tiempo de vida depende directamente del ámbito de la función que los instanció (o del programa en caso de ser globales). Persistentes: Cuyo estado es almacenado en un medio secundario para su posterior reconstrucción y utilización, por lo que su tiempo de vida es independiente del programa que los instanció. ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 4. Existen varias formas en las que un programador puede resolver el problema del almacenamiento de objetos Una de ellas es escribir directamente los objetos en archivos, para lo cual el programador deberá crear el código que a partir de las librerías del lenguaje le permitan almacenar y recuperar los objetos. En esta modalidad, el programador deberá convertir las representaciones en memoria de los objetos a flujos de bytes (a este proceso se le conoce como serialización). La serialización y todas las demás consideraciones de almacenamiento (manejo de archivos, indexación, distribución, paginación, relaciones entre objetos, etc...) quedan a cargo del programador. Esto requiere de un gran esfuerzo de programación. ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 5. Actualmente, coexistiendo con estos sistemas anteriormente mencionados están surgiendo nuevas iniciativas, la mayoría de ellas ideadas para conseguir que los lenguajes de programación soporten objetos persistentes. Persistencia en Java Si nos centramos en el lenguaje de programación Java, por ejemplo, vemos que existe un amplio abanico de posibilidades cara a conseguir dicho objetivo. Así, nos encontramos con proyectos como Pjava (Persistent Java), que proporciona un entorno de programación persistente para el lenguaje Java basado en una modificación de su plataforma. ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 6. Esquema general para la inclusión de funcionalidades de bases de datos en un lenguaje de programación. ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 7. Persistencia en C++ El operador new (palabra clave C++) proporciona espacio de almacenamiento persistente, similar pero superior a la función de Librería Estándar malloc. Este operador permite crear un objeto de cualquier tipo, incluyendo tipos definidos por el usuario, y devuelve un puntero (del tipo adecuado) al objeto creado. Su utilización exige que el usuario declarare un puntero del tipo adecuado; a continuación debe ser inicializado con el valor devuelto por el operador. Si el objeto creado es tipo T, sería algo así: T* puntero = valor-devuelto-por-el-operador; ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 8. Los objetos creados con new son persistentes, es decir, la vida del nuevo objeto es desde el punto de creación hasta el final del programa o hasta que el programador lo destruya explícitamente con el operador delete. Este último desasigna la zona de memoria ocupada por el objeto, de forma que queda disponible para nuevo uso. Las sucesivas invocaciones de este operador van reservando zonas de memoria en el montón para los objetos sucesivamente creados. El gestor de memoria del compilador se encarga de mantener una tabla con los sitios ocupados y libres sin que haya conflictos hasta que la memoria se ha agota, o no existe espacio contiguo suficiente para el nuevo objeto. En cuyo caso se lanza una excepción como indicativo del error. ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 9. Peligros La persistencia de los objetos creados con new y su independencia del ámbito desde el que han sido creados, es muy importante y de tener en cuenta, pues suele ser motivo de pérdidas de memoria en el programa si olvidamos destruirlos cuando ya no son necesarios . Hay que prestar especial atención, porque en una sentencia como: voidfunc() { ... tipoX* Xptr = new tipoX; ... } ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 10. el área de almacenamiento señalada por el puntero es persistente, pero Xptr que es una variable local automática no lo es. Si olvidamos destruir el objeto creado (con delete) antes de salir del ámbito, el área de almacenamiento permanecerá ocupando espacio en el montón y no podrá ser recuperada nunca, pues el puntero Xptr habrá desaparecido. La cuestión de pérdida de memoria no es solo cuestión de que el programador "recuerde" utilizar delete antes de salir del ámbito del puntero. También puede producirse por otras circunstancias. Por ejemplo, el mecanismo de lanzamiento y captura de excepciones C++ puede funcionar como un salto, goto o break multinivel, que saque abruptamente de ámbito al puntero con la consiguiente pérdida irreparable. La situación puede ser esquematiza como sigue (la figura adjunta muestra el estado de la pila y el alcance del desmontaje -"Stack unwinding"- caso de producirse un error). ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 11. fun1() { try { fun2(); } catch (...) { ... } } fun2() { A* aptr = new A; // crear objeto foo(); ... delete aptr; // Ok. destruir el objeto } // antes de salir de ámbito foo() { ... if (x) throw "Error"; ... } ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 12. La situación anterior es de gran peligro potencial. Si se produce la condición x, y se lanza la excepción en foo, la pila será desmontada hasta el punto de la sentencia catch en fun1 que recibirá el control. La secuencia de ejecución no pasará nunca por el delete de fun2, con lo que el espacio del objeto A se perderá irremediablemente. Conscientes del deficiente maridaje entre el operador new y el sistema C++ de excepciones, los diseñadores de la Librería Estándar, han incluido en esta un puntero "inteligente" auto_ptr, que resuelve este tipo de problemas. ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 13. La persistencia permite al programador el almacenar, transferir y recuperar el estado de los objetos. ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 14. La persistencia es muy difícil de implementar puesto que es muy compleja ya que le exige al programador el manejo de Puntero. Todo objeto creado de forma persistente debe de ser destruido cuando ya no se lo necesita puesto que ocasiona pérdidas de memoria en el programa si olvidamos destruirlos. ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 15. #include<conio.h> #include<iostream.h> #include <vcl.h> #pragma hdrstop #include <fstream.h> class persona { private: String nombre; public: persona(); void setnom(String s); String getnom(); }; persona::persona() { nombre="vacio"; } void persona:: setnom(String s) { nombre=s; } String persona::getnom() { return nombre; } void main () { persona p,q; p.setnom("iris"); ofstream out; out.open("persona.dat"); out.write((char*)&p,sizeof(persona)); out.close(); ifstream in; in.open("persona.dat"); in.read ((char*)&q,sizeof(persona)); out.close(); cout<< q.getnom(); getch(); } ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 16. [4] M. Atkinson, L. Daynès, M. Jordan, T. Printezis, S. Spence. An Orthogonally Persistent Java. SIGMOD Record, Vol 25 Nº4. December,1996 [5] Steven T. Abell. Using Java with PSE. Java White Paper. http://www.odi.com, March 1999. http://www.programación.com Autora y Enviado por: ROCIO BAILON CARPIO con correo BRITNEYRK@HOTMAIL.COM el día 10 de julio de 2006 PROGRAMA DE VISUAL BASIC 5.0 A: http://www.Programación en castellano_ Foros de debate_ Visual FoxPro programacion gratis.htm Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados. Información extraide de dicha página web a las 9:30 pm. El día viernes 15 de septiembre de 2006. ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 17. http://www.itlp.edu.mx/publica/revistas/revistali/anteriores/marzo99/actual3.ht ml http://www. Formas de Proveer la Persistencia.htm Autor: Ing. Marco Antonio Castro Liera. Información extraide de dicha página web a las 8:00 pm. El día Jueves 14 de septiembre de 2006. Ambler, S. “Persistence layer requirement”. Software develpoment. 6(1) 70- 71, January 1998. Ambler, S. “Persistence modeling in the UML”. Software Development Magazine. http://www.sdma gazine.com/articles/1999/ 0008a.htm. August 1999. Ambler, S. “The Design of Robust Persistence Layer for Relational Database”. http://www.amysoft.com/ persistencelayer.pdf. October 21, 2000. ESTRUCTURA DE DATOS MODELO PERSISTENTE
  • 18. Sitio Web http://www.zator.com/CPP/E4_9_20a.html Autor Copyright © 2000-2006 Zator Systems. Información extraída de dicha pagina el 26 de septiembre de 2006 a las 9:25 pm. ESTRUCTURA DE DATOS MODELO PERSISTENTE