Re: [pgsql-es-ayuda] ¿Que opinan de esto?

From: "Guillermo O(dot) Burastero" <linux(dot)gb(at)gmail(dot)com>
To: "Lista de PostgreSQL en Español" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] ¿Que opinan de esto?
Date: 2011-11-21 23:17:30
Message-ID: CAEKEwfk7sXSQKVCxSMMb=B=pS=_h_QVO9LO639Se5UFtr8_BAQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 21 de noviembre de 2011 16:48, Alejandro Carrillo
<fasterzip(at)yahoo(dot)es> escribió:
> Buenas tardes,
> Que opinan de lo siguiente:
>
> http://kartones.net/blogs/coco/archive/2009/11/27/la-capa-de-negocio-ii-aspectos-de-implementaci-243-n.aspx
> "En ocasiones la funcionalidad de borrado de datos es asociada con un solo
> procedimiento almacenado que se encarga de orquestar el orden de borrado, en
> estos casos, el procedimiento almacenado contiene lógica de negocio :
>
> CREATE PROCEDURE [dbo].[deleteCustomer]
> @CustomerId int
> AS
> BEGIN
> DELETE FROM CustomerAddresses WHERE CustomerId = @CustomerId
>
> DELETE FROM CustomerSalesPerson WHERE CustomerId = @CustomerId
>
> DELETE FROM Customers WHERE CustomerId = @CustomerId
>
> El procedimiento almacenado anterior muestra un ejemplo de como no deberían
> hacerse las cosas, en su lugar, debemos crear 3 procedimientos almacenados,
> uno por cada DELETE y orquestar la transacción de borrado en la capa de
> negocio.
> Los procedimientos almacenados deberían ser una herramienta para persistir
> datos, no un repositorio de lógica de negocio, además los procedimientos
> almacenados deberían operar solo con una única tabla, excepto aquellos en
> los que sea necesario realizar un join con varias tablas."
> Espero sus opiniones, a favor y/o en contra, acerca de esto,
> Alejandro Carrillo
>

Yo creo que en tanto pongamos la "lógica de negocios" en el motor
relacional no garantiza la "consistencia semántica" de la aplicación y
nos puede "atajar" algún error cometido en la programación de la
interfaz. Por ejemplo si un requisito de una contabilidad es el
respeto a la partida doble, o sea que los registros de cada asiento
balanceen (sumen 0), no veo mal que exija que cualquier alta o
modificación de asiento sea rechazada por el servidor si la condición
de balance no se cumple. Es parte de un viejo criterio de
"programación defensiva".

--
Guillermo O. Burastero
Usuario GNU/Linux #84879 - http://counter.li.org/
Bahía Blanca, Buenos Aires, Argentina
Tel. +54 (291) 454-6132 - Móvil [15] 574-3173
MSN: guillermo(dot)burastero(at)gmail(dot)com
ICQ: 97148268

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message wilson del rosario 2011-11-21 23:19:19 Configuración de Postgres en producción
Previous Message Edwin Quijada 2011-11-21 23:14:42 RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Re: ¿Que opinan de esto?