Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/02/2013, 10:29
pachoc
 
Fecha de Ingreso: junio-2011
Mensajes: 17
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Paginación de resultados de una BD

Hola,

el problema que planteas, es la abstracción de la lógica de negocio respecto a la representación que usemos de los datos. Para ello, se suelen usar unas clases llamadas DAOs. Estas clases nos ayudan a abstraer cualquier consulta a la base de datos, independientemente del tipo que sea, devolviendo siempre los datos en el mismo formato hacia la lógica de negocio.

Supón que necesitas hacer operaciones en tu base de datos: insertar usuarios, borrar usuarios, ... Deberías crear una clase DaoUsuarioMySQL (por ejemplo) aplicando los métodos insertar, borrar... Entonces, en tu lógica de negocio, en el momento en qe necesitas datos de la base de datos, simplemente creas un objeto DaoUsuarioMySQL y usas el método que necesites.

En el momento en que quisieras cambiar de motor de base de datos, simplemente tendrías que crear otra clase DaoUsuarioOracle (por ejemplo) y definir exactamente los mismos métodos que tenías para la antigua de MySQL, pero con la sintaxis de Oracle. Esa es lo que se conoce como "abstracción" de la capa de datos.

En la lógica de negocio sólo tendrías que cambiar el objeto que creaste de DaoUsuarioMySQL a DaoUsuarioOracle. Si hiciste todo bien, tu aplicación debería seguir funcionando como siempre.

Finalmente, destacar que como decías, por mucho que abstraigamos nuestra aplicación de la base de datos, siempre vamos a tener que cambiar algo, dado que los sistemas gestores de bases de datos pueden ser totalmente distintos y nuestra aplicación no hace magia : D

Un saludo, espero haberte ayudado.