Foros del Web » Programación para mayores de 30 ;) » .NET »

Borrar registros es correcto ?

Estas en el tema de Borrar registros es correcto ? en el foro de .NET en Foros del Web. Hola!! Tengo varias tablas importantes que se relacionan. El borrar algun registro implica actualizar para atras o realizar algunas eliminaciones en cascadas. Ejemplo: Vendedores , ...
  #1 (permalink)  
Antiguo 28/10/2009, 13:18
Avatar de fechasoru  
Fecha de Ingreso: diciembre-2008
Mensajes: 149
Antigüedad: 15 años, 4 meses
Puntos: 0
Borrar registros es correcto ?

Hola!!

Tengo varias tablas importantes que se relacionan. El borrar algun registro implica actualizar para atras o realizar algunas eliminaciones en cascadas.

Ejemplo:
Vendedores , se relaciona con las tablas solicitud_compra , obras_consignadas , etc.

Clientes se relaciona con cuentas , solicitud_compra , etc

Los mismo para cobradores , etc.


Tengo dudas conceptuales, es correcto eliminar de la base de datos una persona y tener que hacer una eliminacion en cascada de las tablas que se relacionan con él y alguna otra actualización de valores de campos. O se deberia dejar a la persona en la base de datos y marcarlo con alguna especie de estado de dado de alta.
__________________
Looking for a terrific Persistence Layer and Business Objects system for Microsoft.NET? our blog for more details.

http://www.entityspaces.net
  #2 (permalink)  
Antiguo 28/10/2009, 17:02
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Borrar registros es correcto ?

Aunque depende bastante del proyecto, creo que hay información que nunca debe borrarse, siempre hay algún usuario que hincha las... la vida :p y piden información histórica.
Yo doy un voto por un campo Bit con el cual manejes eliminaciones lógicas o estados de alta como dices.

  #3 (permalink)  
Antiguo 28/10/2009, 17:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Borrar registros es correcto ?

Cita:
Tengo dudas conceptuales, es correcto eliminar de la base de datos una persona y tener que hacer una eliminacion en cascada de las tablas que se relacionan con él y alguna otra actualización de valores de campos.
Eso se resuelve a nivel de bases de datos. Lo que tu debes manejar en el programa es la indicación de que esa persona se desea borrar.
Habitualmente lo que se ha hecho es definir las tablas de la base de datos con la propiedad ON DELETE CASCADE, lo que hace que la aplicación manda a borrar un sólo registro, y el resto de las tablas se actualiza en cascada, sin que la aplicación deba preocuparse por ello.
Pero eso es tema de Bases de Datos. Es allí donde te lo pueden explicar bien.

Respecto al tema conceptual de si una persona se borra de una base, la respuesta es NO.
Una persona, un empleado, un docente, un operario, no se borran de una base de datos. Se desactivan.
Es decir, existe un campo de estado que define si un empleado es un empleado activo en el momento presente o no; y dentro de las bases existen muchas referencias a ese registro, algunas de ellas en tablas históricas, algunas otras en tablas transaccionales. Por eso no se deben borrar.
Imagina esta situación: Un cajero de un supermercado renuncia. Se elimina del registro, pero de su registro dependen todos los tickets emitidos por las ventas realizadas por las cajas donde trabajó del último lustro (5 años). ¿Puedes borrar eso? Obviamente no. ¿Puedes dejarlo NULL? Tampoco, porque luego en una auditoría no habría forma de establecer si se pagaron premios por desempeño, o a quién corresponde el balanceo de caja diario, etc.

La regla general es: Ante la duda, se guarda siempre.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 29/10/2009, 08:17
Avatar de fechasoru  
Fecha de Ingreso: diciembre-2008
Mensajes: 149
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Borrar registros es correcto ?

Gracias , era una duda que tenia , y en el sistema actual que estoy haciendo hay muchas tablas relacionadas con los cobradores , vendedores y clientes.
__________________
Looking for a terrific Persistence Layer and Business Objects system for Microsoft.NET? our blog for more details.

http://www.entityspaces.net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:54.