DataSet vs Entidades personalizadas

10/07/2005 - 20:44 por ErickGB | Informe spam
Me gustaria saber la opinion de la comunidad sobre que
consideran mejor, la utilizacion de DataSet vs las
entidades personalizadas.

Comenzare aportando el primer comentario:
Despues de leer el articulo de Karl Seguin (1)
creo correta la afirmaciòn a la cual hace referencia
sobre los DataSet, que son un recipiente de datos y que
no representan un objeto de dominio realmente. Pues no es
posible agregar funcionalidad dentro de ella, por ejemplo
un metodo de calculo de salario para una persona en
particular. No hay objeto que represente univocamete a
esa persona pues esta está contentidad como un DataRow en
en el "objeto" DataSet.
Yo nunca he trabajado con entidades personalizadas pero
el trabajo que hay que hacer para utilizarlas me parace
bastante grande y lo cierto es que los DataSet nos
facilitan el trabajo con sus metodos y el manejo de
estado de la fila en comparaciòn con las entidades
personalizadas o eso no es tan cierto??? que opinan?

(1).http://www.microsoft.com/spanish/ms...los/archiv
o/030505/voices/CustEntCls.asp
 

Leer las respuestas

#1 Alfredo Novoa
11/07/2005 - 00:56 | Informe spam
On Sun, 10 Jul 2005 11:44:27 -0700, "ErickGB"
wrote:

Me gustaria saber la opinion de la comunidad sobre que
consideran mejor, la utilizacion de DataSet vs las
entidades personalizadas.



Querrás decir DataSet vs clases personalizadas, o mejor aun: clases de
propósito específico.

La palabra entidad se suele usar para referirse a entidades del mundo
real, no para abstracciones informáticas.

Comenzare aportando el primer comentario:
Despues de leer el articulo de Karl Seguin (1)
creo correta la afirmaciòn a la cual hace referencia
sobre los DataSet, que son un recipiente de datos y que
no representan un objeto de dominio realmente.



Esta frase no tiene ningún sentido.

Un DataSet es un contenedor de datos que nos ayuda a presentar una
base de datos a los usuarios y a recoger las peticiones de
actualización que estos hacen. Un DataSet sirve como puente entre los
usuarios y el SGBD. No es más que una especie de caché poco
inteligente, pero su planteamiento básico es correcto, por que lo que
tienen que hacer las aplicaciones es servir de puente entre el SGBD y
los usuarios.

El que se debe encargar de garantizar la lógica de negocio (integridad
de los datos e inferencia de nuevos datos), es el SGBD.

, por ejemplo
un metodo de calculo de salario para una persona en
particular.



Es que ese tipo de cálculo no debe de hacerse en las aplicaciones,
para eso están los SGBD. Además tampoco debe de calcularse de forma
procedimental, es mucho mejor definir (declarar) lo que es un salario
y dejar que el SGBD sea el que busque automáticamente la mejor forma
de calcularlo en cada ocasión (crear un plan de ejecución, o lo que es
lo mismo: un programa).

No hay objeto que represente univocamete a
esa persona pues esta está contentidad como un DataRow en
en el "objeto" DataSet.



Si llamamos objeto a una tupla de la base de datos entonces si hay un
objeto que la representa, aunque normalmente una persona se representa
por un conjunto de tuplas de varias tablas, y no una sola.

Lo que pasa es que los lenguajes OO normalmente no soportan tuplas ni
relaciones. Esto se suele conocer como "impedance mismatch". Los
lenguajes OO no soportan los tipos de datos fundamentales de las bases
de datos relacionales. Esto causa muchas incomodidades, y lo que es
peor: muchas formas disparatadas de intentar resolver el problema.

Yo nunca he trabajado con entidades personalizadas pero
el trabajo que hay que hacer para utilizarlas me parace
bastante grande



Yo lo probé hace tiempo, y en efecto, el trabajo es enorme para no
ganar nada.

y lo cierto es que los DataSet nos
facilitan el trabajo con sus metodos y el manejo de
estado de la fila en comparaciòn con las entidades
personalizadas o eso no es tan cierto??? que opinan?

(1).http://www.microsoft.com/spanish/ms...los/archiv
o/030505/voices/CustEntCls.asp



Pues que el que escribió esto no tiene ni idea. Lo mejor es no hacer
ni caso a este tipo de artículillos sin ninguna garantía de calidad y
acudir a fuentes serias que tengan el visto bueno de la comunidad
científica.

Para aclarar los conceptos fundamentales de la gestión de bases de
datos te recomiendo este libro que es el más usado en las
universidades de todo el mundo y que está escrito por el que es
probablemente el mayor experto mundial en la materia.

http://www.mailxmail.com/tienda/articulo774



Saludos

Preguntas similares