From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Yoel Mc Lennan <yoelnatanael(at)hotmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Herramianta para crear Types más rápidamente?. |
Date: | 2007-02-14 15:06:36 |
Message-ID: | 20070214150636.GA9618@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Yoel Mc Lennan escribió:
> tengo unas 150 tablas con unos veintemil registros diarios, hay alguna
> estructura aconsejable para seguir en cuanto a usar pl o no?
Mi sugerencia seria usar vistas para que las consultas no sean demasiado
complicadas, y dejar todo el SQL de la aplicacion en una sola "capa".
El resto de la aplicacion nunca consulta a la base de datos directamente
sino que hace invocaciones a esa capa para obtener la informacion que
necesita.
Si necesitas "portabilidad" entre distintos gestores de BDs, lo que
haces es reescribir (donde sea necesario) esa capa. Intentar escribir
toda la aplicacion usando unicamente SQL que sea totalmente portable, y
repartir eso en toda la aplicacion me parece mucho mas engorroso y
dificil de portar; te vas a topar con algunos sistemas que no soportan
los PLs, o bien con sistemas cuyo mecanismo de invocacion de SPs es
distinto (por ej. "CALL func()" en vez de "SELECT func()"). Y en
realidad tu no sabes de antemano que cosas vas a poder hacer y cuales no
en el nuevo sistema.
Si necesitas ejecutar acciones cada vez que haces un INSERT (por ej),
eso lo encapsulas en un trigger. En caso de querer portar a un sistema
que no soporte triggers (o en el cual escribir algo en un trigger sea
complicado o lento), entonces metes la accion del trigger dentro de la
capa que mencionaba en el primer parrafo.
En estricto rigor, la idea de "portabilidad entre diversos BDs" esta muy
sobrevalorada. Personalmente escogeria una BD buena y escribiria para
esa, y me olvidaria del resto. Obviamente, _cual_ BD escogeria no es
muy dificil de adivinar ;-)
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-02-14 15:13:00 | Re: Certificación ISO |
Previous Message | Yoel Mc Lennan | 2007-02-14 15:02:07 | Re: [pgsql-es-ayuda] Herramianta para crear Types más rápidamente?. |