06.09.2014 Views

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

© FUOC • 71Z799014MO 18 <strong>Bases</strong> <strong>de</strong> <strong>datos</strong> en PostgreSQL<br />

apuntadores son un mecanismo excelente para representar composición, ya<br />

que permiten acce<strong>de</strong>r rápidamente a las partes componentes <strong>de</strong> un objeto, sin<br />

importar su lugar <strong>de</strong> almacenamiento.<br />

Las bases <strong>de</strong> <strong>datos</strong> requieren in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> la aplicación, lo que provoca<br />

un conflicto conceptual cuando se trabaja con objetos compuestos: las bases<br />

<strong>de</strong> <strong>datos</strong> <strong>de</strong>ben almacenar información in<strong>de</strong>pendiente <strong>de</strong> la aplicación para<br />

que nuevas aplicaciones puedan hacer diferentes interpretaciones <strong>de</strong> la información<br />

original; pero con los objetos compuestos esto no es tan sencillo, puesto<br />

que suelen tener una sola interpretación, o mejor dicho, una sola manera<br />

<strong>de</strong> ser consultado en una base <strong>de</strong> <strong>datos</strong>.<br />

2.7. Persistencia<br />

La persistencia se <strong>de</strong>fine como la capacidad <strong>de</strong> un objeto para sobrevivir al<br />

tiempo <strong>de</strong> ejecución <strong>de</strong> un programa. Para implementarla, se utiliza el almacenamiento<br />

secundario.<br />

Se han propuesto varios mecanismos para implementar la persistencia en los<br />

lenguajes <strong>de</strong> programación, entre los que po<strong>de</strong>mos <strong>de</strong>stacar los siguientes:<br />

• Archivos planos. Se crean archivos para almacenar los objetos en el formato<br />

<strong>de</strong>seado por el programador. Los objetos se cargan al abrir el programa<br />

y se guardan al finalizar. Ésta es la opción más accesible para todos los lenguajes<br />

<strong>de</strong> programación.<br />

• <strong>Bases</strong> <strong>de</strong> <strong>datos</strong> relacionales. Los objetos son mapeados a tablas, un módulo<br />

<strong>de</strong>l programa se encarga <strong>de</strong> hacer las transformaciones objeto-relacionales.<br />

Este enfoque consume mucho tiempo al realizar el mapeo. Existen algunas<br />

herramientas que realizan mapeos semiautomáticos.<br />

• <strong>Bases</strong> <strong>de</strong> objetos. Los objetos son almacenados <strong>de</strong> forma natural en una<br />

base <strong>de</strong> objetos, y la consulta y recuperación es administrada por el gestor,<br />

<strong>de</strong> esta forma las aplicaciones no necesitan saber nada sobre los <strong>de</strong>talles <strong>de</strong><br />

implementación.<br />

• Persistencia transparente. Los objetos son almacenados y recuperados por<br />

el sistema cuando éste lo cree conveniente, sin que el usuario <strong>de</strong>ba hacer<br />

ninguna solicitud explícita <strong>de</strong> consulta, actualización o recuperación <strong>de</strong> información<br />

a una base <strong>de</strong> objetos. No se requiere, por lo tanto, otro lenguaje<br />

para interactuar con las bases <strong>de</strong> <strong>datos</strong>.<br />

2.8. PostgreSQL y la orientación a objetos<br />

El argumento a favor <strong>de</strong> las bases <strong>de</strong> <strong>datos</strong> objeto-relacionales sostiene que permite<br />

realizar una migración gradual <strong>de</strong> sistemas relacionales a los orientados

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!