![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
23/08/2006, 11:44
|
![Avatar de marcos1979](http://static.forosdelweb.com/customavatars/avatar61718_1.gif) | | | Fecha de Ingreso: abril-2004 Ubicación: 62º 06' 18" O / 33º 07' 47" S
Mensajes: 331
Antigüedad: 20 años, 10 meses Puntos: 1 | |
Lo de utilizar dos tablas como dice PequeñoMauro es como lo haría (para simplificar fue omitido en el ejemplo planteado)
Tambien estaria la posibilidad de editar solo el importe... pero que pasaria si el usuario se da cuenta que escribio mal el nombre (del articulo o del cliente, por ej.) despues de haber facturado??? Tendria que editarlo, o borrarlo y crear uno nuevo. Y el Stock (o el estado de cuenta del cliente) que se llevaba hasta el momento? Por eso me queria saber si hay alguna forma "estandar" de solucionar esto.
Se me ocurre esto aunque no se que resultado daria en cuanto a rendimientos:
La tabla ARTICULOS tiene un campo id autonumerico, uno nombre, uno importe, otro llamado esta_activo de tipo byte o booleano y uno mas que identifica el articulo llamado id_articulo.
Al insertar un nuevo articulo se le asigna un valor a id_articulo igual al valor maximo de ese campo + 1 y se "marca" esta_activo a True. Cuando se edita, se marca esta_activo a False, se ingresa un nuevo registro con los nuevos datos y en el campo id_articulo se coloca el mismo valor que tenia el registro que se "editó". Con esto tendria una forma de referirme al mismo articulo por mas que cambie cualquiera de sus campos utilizando el valor de id_articulo. A su vez nunca se modificaria una factura emitida ya que NUNCA se editan los datos del articulo, solo si esta o no activo. Lo mismo se podria aplicar a clientes, claro que no se la efectividad de este metodo ni el rendimiento, asi como tampoco cuan fácil es recuperar los datos de las tablas asi diseñadas.
Espero sus opiniones, un gran saludo y gracias.
__________________ Marcos El dinero no da la felicidad... démelo y sea feliz!!! |