Ver Mensaje Individual
  #5  
Antiguo 12-01-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Reputación: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por kaeltas Ver Mensaje
...
NOTA: Yo no quiero borrarlo de las ordenes de compra por que sirve para el registro de compras de la empresa, pero quiero borrarlo de la tabla de articulos por que ya no sirven.

Como le puedo hacer? Que se hace en esos casos?

Plz me ayudarian muchisimo con sus respuestas
, Gracias!!!
Pues precisamente por eso te sugeri que entendieras el concepto de integridad referencial.
Lamentablemente no podras eliminar ningun articulo, si dicho articulo esta siendo referenciado(Foreign key)por otra tabla, de eso se trata la integridad referencial.
Por lo lo general se debe considerar precisamente esto, al momento de diseñar la base de dato; para lo cual existe muchas estrategias para solucionar este problema; una de ellas es añadir a tu tabla articulo un campo que indique el estado del articulo por ejemplo tu campo nuevo podria ser de tipo Char o Varchar(1), que solo reciba un caracter el cual te indique el estado del articulo, por ejemplo:
Tabla articulo
Cita:
Codigo| Nombre|Estado
01____Harina____A
02____Arroz_____A
03____Frejol_____D
04____Azucar____D
...

Donde
A significa Activo
D significa Desactivado (O podria ser E=Eliminado)
(Puedes colocar otras opciones)
De esa forma tranquilamente puedes activar o desactivar cualquier articulo..
Puede que el usuario crea que esta eliminando pero en realidad solo se esta cambiando su estado del articulo(es solo una eliminacion logica ), pero en realidad no se elimina de la base de dato.
Para saber los articulos activos tan solo podrias hacer esta simple consulta SQL
Código SQL [-]
select * from Articulos Where Estado='A';
De esta forma mas o menos trabajan las bases de datos de la entidades financieras como ser Bancos, Coopertivas,Mutuales,etc, ya que en un verdadero sistema no se deberia eliminar nada, todo queda como Historial.(Mucho menos si se va hacer Auditorias).
Espero haberte ayudado.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 14-01-2010 a las 13:58:57.
Responder Con Cita