Pregunta para Alfredo Novoa

06/03/2007 - 22:30 por Eugenio Serrano | Informe spam
Voy a olvidar por un momento los insultos de los cuales he sigo objeto y
propongo un debate de arquitectura en donde todos podamos aprender. Voy a
plantear un caso simple para que todas las personas que leen esta lista
puedan seguirnos.

Imaginate que tienes 4 tablas en tu base de datos:

Clientes
Productos
Orden
DetalleOrden

Supongo que todo el mundo puede imaginarse la relacion entre dichas tablas.

Alfredo: En que lenguaje o como programarias el proceso de emision de una
nueva orden
de pedido ?


Regards / Saludos,
Eugenio Serrano
Microsoft MVP (ASP/ASP.Net)
Solid Quality Mentors
http://www.eugenioserrano.com.ar
if (me.today == me.yesterday) me.tomorrow = null;

Preguntas similare

Leer las respuestas

#21 Carlos
07/03/2007 - 19:55 | Informe spam

O sea que todo este rollo solo sirve para generar 3 inserts en SQL, y
además no has puesto el código de las "clases de negocio", que seguro
que no es poco.




Y el código tuyo donde esta ??? Te han preguntado varias veces que digas en
QUE LENGUAJE haces tu solucion? O es que no sabes leer?

A partir de aquí todas las reglas de negocio tendrán que ser
aseguradas por el SGBD.



No creo que nadie este dudando eso, es que pareces una grabadora repitiendo
como loro lo que todos sabemos.

Como por ejemplo que exista un artículo con
ese código, que exista un cliente con ese código, que la cantidad sea
mayor que cero, y también tiene que controlar las transacciones y la
concurrencia.




Y quien te ha preguntado esas cosas??
Por que no te limitas al ejemplo especifico que se te dió ? Ahora quieres
teorizar como siempre evadiendo y complicando el tema.


Eso es todo.




Quiero saber todos los clientes que han comprado por lo menos un
artículo de cada durante este año.

Quiero saber los clientes que no han comprado nada en los últimos 3
meses.

¿Cual es el importe medio de los pedidos realizados en el último mes?





Bah!!!

Teoriquillo de pacotilla!!!!
Respuesta Responder a este mensaje
#22 Alfredo Novoa
07/03/2007 - 20:04 | Informe spam
On Wed, 7 Mar 2007 12:53:51 -0300, "Eugenio Serrano"
wrote:

Nos puedes decir en que lenguaje has escrito el ejemplo ?



Tutorial D

Y Como lo ejecutas ?



Tal cual lo puse.

Como le pasas los datos ingresados por el usuario ?



Por ejemplo:

insert Clientes : tuple { Codigo codigoTextBox.Text, Nombre
nombreTextBox.Text }

Pero lo normal es que use databindings y que sea mucho más simple.

DataSource(dataGridView) := Clientes;

Y con esto ya tengo conectado el datagrid a la varrel de clientes.


Saludos
Respuesta Responder a este mensaje
#23 Alfredo Novoa
07/03/2007 - 20:10 | Informe spam
On Wed, 07 Mar 2007 20:04:02 +0100, Alfredo Novoa
wrote:

insert Clientes : tuple { Codigo codigoTextBox.Text, Nombre
nombreTextBox.Text }

Pero lo normal es que use databindings y que sea mucho más simple.

DataSource(dataGridView) := Clientes;



LinQ es parecido a esto, pero mucho más feo.


Saludos
Respuesta Responder a este mensaje
#24 Carlos
07/03/2007 - 20:13 | Informe spam
Mmmm la teoria abstracta de Date. Es que no has pasado de allí..

Bah!


"Alfredo Novoa" wrote in message
news:
On Wed, 7 Mar 2007 15:43:17 +0100, "J. Naoj" wrote:

Creo que es acertado el ejercicio de mostrar la practica de unas teorias
tan
ardientemente defendidas.
El ejercicio propuesto es simple y no creo que haya peligro de plagio ante
el temor de poner al descubierto soluciones particulares muy trabajadas.
Es muy simple y muy honesto: Contrastar con una practica sencilla dos
enfoques teoricos muy discutidas, y en demasiadas ocasiones con un exceso
de
"housismo".



No veo esa serie, pero puede ser divertido pegarles una paliza.

Podemos usar una base de datos aun más simple. La clasica base de
datos de proveedores y componentes de los libros de texto, que tiene
solo tres variables relacionales.

http://en.wikipedia.org/wiki/Suppli...s_database

Aquí está la definición en Tutorial D:

VAR S RELATION {S# S#, SNAME NAME, STATUS INTEGER, CITY CHAR} KEY{S#};

VAR P RELATION {P# P#, PNAME NAME, COLOR COLOR, WEIGHT WEIGHT, CITY
CHAR} KEY {P#};

VAR SP RELATION {S# S#, P# P#, QTY QTY} KEY {S#,P#}
FOREIGN KEY {S#} REFERENCES S
FOREIGN KEY {P#} REFERENCES P;

Crear una orden sería:

insert SP : relation { tuple { S# S#(1234), P# P#(5678), 20 } };

Esto devuelve un error si el proveedor y el componente no existen, si
hay alguna violación de tipos o si la orden ya existe.

Si además queremos impedir que haya órdenes con cantidades negativas o
cero, crearíamos una restricción:

constraint CantidadesPositivas IsEmpty(SP where QTY<=0);

Para que esto quede totalmente completo y ejecutable solo quedaría
definir los tipos S# y P#.



Saludos
Respuesta Responder a este mensaje
#25 Luis T
07/03/2007 - 20:36 | Informe spam

Nos puedes decir en que lenguaje has escrito el ejemplo ?



Tutorial D




Sera un lenguaje abstracto de TEORIA pero eso no es un lenguaje de
programacion, al menos hasta donde mis pocos conocimientos me alcanzan.
Creo que Eugenio se referia a un lenguaje de programacion especifico como C#
o VB.NET.



Pero lo normal es que use databindings y que sea mucho más simple.

DataSource(dataGridView) := Clientes;




Ya... ya lo tuyo es grave. Pura teoría.



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