Es cierto, hay diferencias porque cada motor tiene su propia sintaxis, pero no son tan grandes como para que una persona inteligente no pueda resolverlas en cuestión de minutos.
La programación en 3 capas es muy clara: una capa es la de datos, lo cual traducido significa: stored procedures para todas las inserciones, actualizaciones, borrados, y procesos que involucran a alguna tabla de la Base de Datos.
No necesitas un stored procedure o un trigger para verificar que la cantidad vendida sea mayor que cero, eso puedes hacerlo con tu lenguaje de programación. Pero si quieres saber cuanto se vendió entonces sí o sí (si eres un buen desarrollador, claro) utilizarás un stored procedure.
Si eres bueno, si entiendes bien el concepto de bases de datos, entonces en el código fuente que escribiste en tu lenguaje de programación solamente tendrás:
1. Llamadas a stored procedues
2. SELECT a vistas
Si tienes algo más, entonces aún eres un principiante o quizás un intermedio, pero es seguro que no eres un experto.
Jamás un experto escribiría comandos tales como INSERT, UPDATE, DELETE, SELECT a tabla, en un lenguaje de programación porque no obtendrá alguna ventaja de hacer eso y sí varias desventajas. Si usas stored procedures y vistas, obtienes:
a) Mayor velocidad de respuesta: porque todo lo que se procesa en el Servidor es siempre mucho más rápido que lo que se procesa en un programa. Además puedes monitorear si se usan índices o no, la velocidad en que se ejecutan, etc.
b) Mayor seguridad: porque puedes proteger a los datos encriptándolos, usando checksums, etc., nativamente
c) Mayor confiabilidad: porque jamás podrás grabar un stored procedure o una vista que tenga errores de sintaxis, tablas desconocidas, columnas inexistentes, etc. Por ejemplo, si en tu lenguaje de programación escribes SEEEEELECT * FROM MiTabla solamente notarás el error en tiempo de ejecución, en cambio si escribes eso dentro de un stored procedure o de una vista no podrás grabarlo y al instante verás el error y podrás corregirlo.
Otra ventaja de usar stored procedures y vistas es que pueden ser usadas desde cualquier lenguaje de programación, no tienes que estar reinventando la rueda. El mismísimo stored procedure o vista, sin singún cambio, puede ser llamado desde Visual FoxPro, Visual Basic, Python, C, C++, Delphi, PHP, etc., y eso es muy pero muy útil cuando se trabaja en grupo: cada quien programa en el lenguaje de su preferencia.
Saludos.
Walter.