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

#16 Raul
11/06/2006 - 15:02 | Informe spam
Integridad fisica o integridar lógica (o conceptual) ?



"Vyacheslav Popov" escribió en el
mensaje news:e3erU%
Las reglas de integridad garantizan la consistencia lógica de los
datos y pueden ser de muchos tipos.



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]

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

Saludos.

Respuesta Responder a este mensaje
#17 CMCC
11/06/2006 - 15:04 | Informe spam
Vyacheslav Popov wrote:
> > > Pues ahora que los veo asi... Si el SQL es un lenguage de mas alto
> > > nivel
> > > (declarativo) que el C# (procedimental).
> >
> > PL/SQL es un lenguaje PROCEDIMENTAL y C# es un lenguaje ORIENTADO A
> > OBJETOS.
> > C# es un lenguaje de programación de alto nivel al igual que Java. C++/C
> > es
> > un lenguaje de programación de medio-bajo nivel.
>
> SQL es un lenguaje declarativo. (se expresa el qué, no el cómo)
> C, C++, C# y Java son lenguages procedimentales y están todos en este
> aspecto precisamente al mismo nivel.
> La mayoría de los lenguages OO son procedimentales.

Querrás decir que se puede hacer programación procedimiental en un lenguaje
OO (ojo, también se puede hacer programación orientada a objetos en un
lenguaje procedimental), pero decir que los leguajes C# y Java son
procedimentales



Yo no veo como navegar de variable (objeto para los adeptos) a variable
por
medio de referencias (punteros) es declarativo. Esto es una mezcla del
modelo de red y el modelo jerárquico, ambos desechados en los años
70.

, demuestran tu poco formación y conocimiento en
programación.

Para que no hagas más estas estupideces te voy a explicar las diferencias:
- C es un lenguaje procedimental.
- C++ es un lenguaje hibrido (prodecimental - orientado a objetos)
- C# y Java son lenguajes orientados a objetos avanzados.



Con todo el respeto... no me estas dando la impresión de que tu puedas

explicarme mucho sobre este asunto.


> > SQL ni siquiera es un lenguaje de programación sino un Lenguaje
> > Estructurado
> > de Consultas.
>
> Son insert, update y delete operaciones de consulta?
> Operaciones con conjuntos como operadores. Te dice algo eso?

SQL es un lenguaje declarativo, no es un lenguaje de programación (ni
procedimental, ni orientado a objetos). SQL proporciona funcionalidad de:
- DDL o Lenguaje de Definición de Datos
- DML o Lenguaje de Manipulación de Datos



Y tu que es lo que manipulas en los 'lenguages de programación' ?
A tus clientes?
Buscas la forma de cómo cada 4 ó 5 años poder venderle otra vez
toda la lógica de negocio programada en el nuevo lenguaje/entorno
de programación del momento?

Estas implicando que lenguages declarativos no son lenguages de
programmación?


> > He intentado demostrar, dándole razón a Alfredo, que se puede
> > implementar la
> > lógica de negocio dentro de SGBD mediante procedimientos almacenados o
> > bloques de secuencias PL/SQL para Oracle.
>
> Yo no he leído nada donde Alfredo diga que la lógica de nogocio tenga
> que especificarse en procedimientos almacenados.

¿Donde las pondrás tú?



Definiendo todo typo de constraints en el DBMS. Aprobechando al
máximo las posibilidades que nos dan lo productos actuales.
Constraints tanto estáticos y dinámicos (vieuws, quizás en
triggers?)
Aunque hay de decir que los productos que tenemos estan lejos
de ser ideales y que también yo estoy sometido a una cultura
profesional donde se me imponen productos, métodos, prácticas
y burradas. Pero se me impone; no estoy de acuerdo!

Pero de eso tratar de argumentar conceptualmente que llevar toda
la lógica de negocio a las aplicaciones va mucho. Las aplicaciones
son un interfaz entre el usario y el SGBD. Ahí puede OO aportar algo.
Pero en la gestion de datos el OO no tiene nada que aportar.

Cuando los MS y los Oracle implementen algo con estas ideas:
www.alphora.com, y le pongan toda la máquina del marketing
detrás, entonces los adeptos que se sentirán bien tomando
conocimiento de estas maravillas; porque lo dicen las autoridades.

Pero yo con *mi poca formacion y conocimientos*... como me
atrevo a pensar por mi mismo?


Programar es divertido, pero desarrollar software de calidad es difícil.



Modelar estructuras de datos, reconocer que un SGBD en un
sistema de !!GESTION!! de bases de datos y que el SGDB el último
responsable de la integridad, tanto estática como dinámica, tanto
de datos básicos como derivados, parece serlo aún mas difícil.
A mi me parece evidente, fundamental y lógico.



¿Por que no opinas?



quieres decir que por que no opino como tu?

Carlos
Respuesta Responder a este mensaje
#18 CMCC
11/06/2006 - 15:07 | Informe spam
Hadi Hariri wrote:
> El 'modelo' de 3 capas se refiere a 3 capas físicas
> que traducido a un modelo lógico, pues te quedas con dos
>
> La primera reacción de Alfredo a Carolina del 9 jun. lo dice todo.
> Yo no podría haberlo dicho mejor.
>

This is a classic!

I rest my case.




Explain
Respuesta Responder a este mensaje
#19 Raul
11/06/2006 - 15:07 | Informe spam
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", para mi no tiene fundamento (por cierto,
esto que te relato se puede buscar en Google y la respuesta viene por
parte de Alfredo)




Para mi es que no se puede hablar de herencia en una BD. El concepto
"herencia" no existe en una tabla (ni una BD). Los registros son elementos
"parejos" o al mismo nivel respecto a la tabla. Igual las tablas son
entidades parejas respecto a la BD.

Cuando lo único que se cita es a Date (un autor que por cierto ,SI he
leido su libro, en segundo y tercero de la carrera de Ingenería
Superior en Informática), que únicamente habla de base de datos
relacionanles en un hilo que trata sobre sistemas multi-capa, esos para
mi no son argumentos.




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.


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!




Te contradices pues en otro mensaje dices que hay que ver varias caras de la
moneda y no quedarse solo con una opinion.
Es bueno que los demas que no participamos directamente en la discusion
podamos ver las distintas opiniones que nos ayuden a sacar nuestra propia
conclusion.
Es importante tu opinion (o vision) como las de los demas. Se enriquece el
foro de todas las participaciones.

Saludos.
Respuesta Responder a este mensaje
#20 CMCC
11/06/2006 - 15:16 | Informe spam
Raul wrote:
>C, C++, C# y Java son lenguages procedimentales y están todos en este
>aspecto precisamente al mismo nivel.
>La mayoría de los lenguages OO son procedimentales.

Si es que te refieres a las sentencias particulares que se colocan dentro de
un metodo, ok. Es programación (procedimental) o lógica. Pero de ahi a
llamar procedimentales a lenguajes OO ya es otra cosa;. Lenguajes
procedimentales son los de antes, que no manejaban objetos.



Lenguajes procedimentales y OO es velocidad y tocino.
La mayoría de los lenguages OO (los mas populares) son
procedimentales



Bueno, en definitiva, pues ya hasta estoy dudando de lo poco que sabía
respecto a "capas"., donde creen que es que se debe colocar la lógica de
negocios, entonces ?

Alguna conclusión ??



en el SGBD

Carlos
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida