PDA

Ver la versión completa : Duda diseño



luis9rs
03-08-2010, 12:50
Hola! Tengo una duda sobre claves en mi BD. Tengo un sistema que guarda las VENTAS que se hacen a los CLIENTES. Estas ventas pueden ser a clientes registrados y a clientes no registrados. El sistema solo necesita guardar los datos de los clientes registrados para enviarles publicidad y demas. Hasta aqui todo correcto. El problema es que como para cada cliente puedo tener muchas ventas, y cada venta pertenece a 0 o 1 clientes registrados, tendriamos una relacion 1:N, propagandose la clave la tabla clientes a la tabla ventas. Pero si el cliente es no registrado, esa clave no existe. Lo que me da incompatibilidades en la base de datos. ¿Como podria modelarlo?

Muchas gracias por anticipado.Salu2

j8k6f4v9j
03-08-2010, 20:56
Hola luis9rs,

¿Qué tal una entrada única en la tabla de clientes registrados que se llame "clientenoregistrado?" ;)

De ese modo, todas las ventas hechas a clientes no registrados tendrían la clave de ese cliente fictício.


Salu2

luis9rs
05-08-2010, 12:05
No estaria mal, el problema es que el id del cliente lo establezco automaticamente cuando se introduce en la base de datos, y para recuperarlo en ventas le paso el dni a una funcion que me recupera su id. Sin embargo, si el cliente el No registrado no tengo ninguna forma de identificarlo. No se si me explico. Los clientes los añado previamente y luego uso su id para relacionarlo con la tabla Venta.

j8k6f4v9j
05-08-2010, 13:00
Pues añade manualmente un cliente con un DNI imposible, que posea el id del usuario "universal".


Salu2

luis9rs
05-08-2010, 17:56
Ah pues es buena idea. Te refieres a tener un cliente, "usuario universarl" al que le asigno todas las ventas que no sean de un cliente registrado ¿no? Si señor, muy buena idea. No se como no se me habia ocurrido. Muchas gracias!

j8k6f4v9j
05-08-2010, 18:56
Te refieres a tener un cliente, "usuario universarl" al que le asigno todas las ventas que no sean de un cliente registrado ¿no?

Exacto


Si señor, muy buena idea. No se como no se me habia ocurrido. Muchas gracias!

:)


Salu2