Cita: Conoces acerca del desarrollo en capas ?
Si. Conozco y trabajo desarrollando en capas.
Pero también soy DBA en 3 DBMS, lo que hace que mi visión sea algo diferente de la de los developers y de los programadores.
Cita: El hecho de descargar lógica del lado del cliente suele ser hasta peligroso, adicionalmente las aplicaciones se hacen mas complejas de programar y mantener.
Mi afirmación no tiene nada que ver con descargar la lógica hacia un lado y hacia otro. Mi afirmación se basa en que es absolutamente inútil y representa una carga ineficiente realizar validaciones de datos elementales dentro de la base de datos. Establecer si un valor debe ser 1, 2, 5, 8, ó 14, no requiere SP ni TRIGGERS a nivel de capa de datos, sino verificaciones en la capa de negocios... Lo que sí debe hacer la capa de datos restringir los datos a los valores lícitos en determinados campos, lo que tiene que ver con el dominio dado a ese atributo al momento de diseñar la estructura física, y no necesariamente a procesos de validación en rutinas.
¿Para qué esperar que un TRIGGER o un SP te devuelvan un error, si lo puedes capturar antes?
Lo que decía que hago es que en la capa adecuada se carguen los valores que una instancia de un dato puede tener, es decir, tratar de hacer que los Forms (Web o Win) sean lo más a prueba de idiotas que se pueda.
Cita: Además, hay que tener en cuenta que si el sistema es accedido a través de Webforms no será bueno cargar al cliente de trabajo que se debería concentrar del lado del servidor.
Si. Es cierto, pero el problema no es cargar al cliente lo que le corresponde, sino cargarle lo que el cliente tiene más recursos para lograr... y los lenguajes de programación tienen muchas cosas que hacen mejor que la BBDD.