Re: Consulta opinión sobre sqlalchemy

Francisco Palm francisco.palm en gmail.com
Mie Jun 6 20:21:40 CEST 2007


El 6/06/07, dmunhiz <dmunhiz en gmail.com> escribió:
> A raiz del correo de F. Palm a Joana, le he hechado un vistazo al
> sqlalchemy. Tiene muy buena pinta, ya había escuchado hablar del
> sqlobject y seguro de del sqlalchemy tambien, pero me parecía algo
> demasiado abstracto, ahora que lo he mirado con un poco más detenimiento
> me da la impresión de que permite trabajar de forma similar
> independientemente de la base de datos que usemos.
> Ahora bien, donde queda el sql? ya no es tan necesario su conocimiento a
> nivel general? Es esta la tendencia?

Como parte del kit de los frameworks de desarrollo web con patrones de
diseño MVC, el uso de ORM (Object Relational Mappers,yo lo traduzco
generalmente como transformaciones o representaciones objeto
relacional). Esto permite trabajar con las bases de datos usando
dialectos mucho más cercanos al lenguaje base Ruby, Perl o Python) que
a las particularidades del SQL. La idea no es nueva, en Perl por
ejemplo la biblioteca Class::DBI ya tiene un tiempo de existencia.

SQLAlchemy permite trabajar usando SQL si así se desea. De hecho, una
característica simpática de SQLAlchemy es que para objetos, como los
de inserción o selección, la representación en cadena (el método
__str__) es una plantilla de la sentencia SQL de la operación adaptada
al sistema manejador de bases de datos.

La idea en el fondo, tal y como lo veo, es que al programar en Python
no se tenga que apartar el modo pitónico de programación cuando se
está negociando con la base de datos. Utilizar ORM no necesariamente
implica que sea más fácil, pero si más coherente.

Saludos

F. Palm


-- 
--------------------------------------
fpalm en ula.ve
francisco.palm en gmail.com

cel: 0414 5109177
tel: 0274 2712106

Alguien debió conservar y cuidar con amor este jardín de gente.
A Dios nunca se le ocurrirá
¿Cómo harás para ver y aliviar el dolor en el jardín de gente?
Algún acuerdo en tu alma tendrás




Más información sobre la lista de distribución Python-es