Duda sobre 3 capas en c#+sql server

09/06/2006 - 13:47 por Carolina Alvarez | Informe spam
Cuando se habla de 3 capas, tenemos la interface y los datos pero de las
reglas de negocio, donde es que van ? donde pone el codigo ?

Es una duda de conceptos trabajando con c# y sql server.

gracias

Preguntas similare

Leer las respuestas

#26 Alfredo Novoa
11/06/2006 - 16:06 | Informe spam
On Sun, 11 Jun 2006 04:43:33 -0700, "Hadi Hariri" <> wrote:

Verás, cuando una persona pregunta como hacer una cosa con Objetos, es
decir, tiene X e Y, y como representar eso, en vez de decirle por
ejemplo, Y hereda de X, se le dice "ah...deja esos objetos e utiliza
una base de datos relacional",



Es que hay veces en las que eso es justo lo que tiene que hacer.

Es igual que cuando una persona llega preguntando cual es el mejor
cañón para matar moscas, lo que hay que decirle es que para matar
moscas es mejor usar un insecticida, en lugar de recomendarle el cañón
mas grande.

Hay un montón de gente que llega preguntando como gestionar bases de
datos usando POO. Lo que hay que decirles es que la POO no es para
eso, y que hay una forma mucho mejor de hacerlo.

Pero que vamos. De verad pido disculpas, o mejor dicho, me arrepiento
de haber participado en esta hilo. Su ustedes creen que todo el mundo
gira alrededor de base de datos relacionales, allá ustedes...a
convertir todo a quinta forma normal!



Juegas sucio. Intentas distorsionar las posiciones de los demás
llevandolas al extremo para luego poder atacarlas. A esta falacia se
la llama: "Hombre de paja".

Y por supuesto que las bases de datos se deben de diseñar en quinta
forma normal.
Respuesta Responder a este mensaje
#27 Alfredo Novoa
11/06/2006 - 16:10 | Informe spam
Hola Raul,

On Sun, 11 Jun 2006 09:07:54 -0400, "Raul"
wrote:

El libro debe tener 25 años y si bien es cierto de que son conceptos
permanentes en el tiempo siguen siendo 25 años.



Los conceptos fundamentales de la informática cambian muy poco, y el
libro es revisado y actualizado cada 4 o 5 años. La edición que he
recomendado creo que es del 2001. Hay una edición más moderna en
inglés.

Saludos
Respuesta Responder a este mensaje
#28 Alfredo Novoa
11/06/2006 - 16:28 | Informe spam
Hola Raul,

On Sun, 11 Jun 2006 07:39:50 -0400, "Raul"
wrote:

Son dudas reales que me van surgiendo leyendo esta interesante discusión.
Entonces qué es "lógica de negocio" ? Son las mismas reglas de integridad de
la BD ? o son algo más ?



Si, ya lo he dicho en otro mensaje, las dos cosas son lo mismo. Las
reglas de integridad incluirían a las reglas de derivación de nuevos
datos.

Por ejemplo: resultado de explotación = suma de los ingresos - suma de
los gastos.

El SGBD debe de garantizar que esta regla se cumpla siempre.

Todo lo que no sea presentación debe estar en la BD entonces, no ?



No exactamente, pero casi. Todas las reglas que afecten a la
integridad los datos deben de ser aseguradas de forma centralizada por
el DBMS. El resto no. ¿Y que reglas nos quedan si restamos las reglas
de integridad de los datos?

Por supuesto esto es la regla general. Las herramientas de las que
disponemos están muy lejos de ser perfectas, y por eso a veces nos
podemos ver obligados a romper las normas. En este caso hay que tener
bien claro por que se rompe la regla, y nunca sale "gratis". Hay que
ver si lo que ganamos rompiendo la norma es más importante que los
inevitables problemas que nos va a causar.

Para poder tomar este tipo de decisiones de forma correcta se
necesitan conocer bien los fundamentos de la profesión

Ok a ver si es que estoy interpretando, insisto, para ti la logica de
negocios debe residir en la misma BD ?



Una base de datos no es más que un conjunto de hechos. Tu
probablemente te estás refiriendo al SGBD.

Lógica de negocio es un término poco preciso. La pregunta correcta
sería:

¿Las reglas de integridad de los datos deben de ser aseguradas por el
SGBD?

Y la respuesta es SI.

Saludos
Alfredo
Respuesta Responder a este mensaje
#29 Alfredo Novoa
11/06/2006 - 16:45 | Informe spam
On Sun, 11 Jun 2006 14:07:08 +0200, "Vyacheslav Popov"
wrote:

El término integridad se refiere a la exactitud o corrección de los datos en
la base de datos. [Capítulo 8, "Introducción a los Sistemas de Bases de
Datos, C.J. Date]



Deberías de seguir leyendo más allá de la primera línea.

Lo único que puede asegurar el SGBD es la consistencia lógica de los
datos a partir de las reglas que hemos introducido. Nunca podrá saber
si los datos son correctos o exactos.

Las reglas de integridad no son una colección de las políticas y
restricciones de negocio de una organización.



Desde el punto de vista del Sistema de Información las reglas de
negocio son las reglas de integridad de los datos.
Respuesta Responder a este mensaje
#30 ChilliCoder
11/06/2006 - 17:00 | Informe spam
Hola Alfredo:

On Sun, 11 Jun 2006 12:22:40 +0200, "Vyacheslav Popov"
wrote:

>Las reglas de integridad garantizan que una entidad (fila o registro)
>siempre se relaciona con otras entidades válidas. (supongo que esto lo sabes
>de sobra).

Estás confundiendo las reglas de integridad con las reglas de
integridad referencial. La integridad referencial es solo un caso
particular dentro de las reglas de integridad.

Las reglas de integridad garantizan la consistencia lógica de los
datos y pueden ser de muchos tipos.

Por ejemplo: el stock actual de un artículo debe de ser igual al stock
inicial más las compras menos las ventas menos las mermas menos las
unidades empleadas en fabricación.

Con un SGDB relacional esta regla la puedes escribir casi tal cual.
Para implementar esto con código C# necesitarías un montón de lineas
dificiles de entender.



Eso no significa que hacerlo en el lado del RDBMS sea correcto. A
riesgo de parecer consultor (de cualquier marca o empresa) todo depende
del problema a resolver.

>Ahora, tu confusión esta en el termino "reglas de negocio". Pues bien:
>Reglas de negocio es una colección de las políticas y restricciones de
>negocio de una organización.

¿Y como se reflejan estas restricciones en un Sistema de Información?

Las restricciones de negocio de una organización se reflejan en
restricciones de integridad de su sistema de información.

Una regla de negocio se implementa definiendo una restricción de
integridad en el sistema de información de la empresa.



Realmente creo que hay reglas de negocio que no se pueden definir como
una restricción de integridad. Un ejemplo concreto sería evaluar una
condición que tuviera como entrada un arreglo.

Saludos,

Martín Trejo Chávez/ChilliCoder
http://chilli-coder.blogspot.com
http://www.chillicoder.com
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida