SQL Server - Eliminación de Datos Relacionados

   
Vista:

Eliminación de Datos Relacionados

Publicado por Joaquin (3 intervenciones) el 17/07/2014 19:07:14
Hola Amigos del Foro estoy desarrollando una aplicación en VB.NET con Visual Studio 2013 y Sql Server 2012. Y necesito hacerla configurable a la aplicación. Por ejemplo me gustaría permitirle al usuario Agregar o Eliminar Grupos Sanguíneos obviamente que yo no los elimino a esos datos de la Base de datos, lo que hago es simplemente no mostrarlos en el listado me entienden, porque tengo un campo en la tabla del tipo bit. A ver si te lo puedo explicar mejor con el siguiente ejemplo:
Nombre Tabla: GrupoSanguineo
Campos:
GrupSan_ID int identity
GrupSan_GrupoSanguineo varchar(70)
GrupSan_Eliminado Bit

Esos serían los campos de la tabla GrupoSanguineo y cuando cargo un listado en la aplicación lo hago de la siguiente manera:
SELECT
GrupoSanguineo.GrupSan_ID,
GrupoSanguineo.GrupSan_GrupoSanguineo
FROM GrupoSanguineo
WHERE GrupoSanguineo.GrupSan_Eliminado = 'False'
ORDER BY GrupoSanguineo.GrupSan_GrupoSanguineo;
Y cuando se elimina un grupo sanguíneo de la aplicación con el botón Eliminar, lo único que hago es cambiar el valor del campo GrupSan_Eliminado = 'True' y de esta forma no lo muestro en el listado.
Pero el problema que tengo es que no sé cómo controlar cuando Elimino (entre comillas porque ese registro No se elimina solamente No se muestra en el listado) por ejemplo un grupo sanguíneo que ya fue asignado a alguna persona.
Espero haber sido claro con mi pregunta, desde ya muchas gracias por la ayuda que me puedan llegar a brindar y espero su pronta respuesta.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Eliminación de Datos Relacionados

Publicado por Isaias (3180 intervenciones) el 17/07/2014 19:58:51
Eso lo maneja muy viene el motor y se llama INTEGRIDAD RELACIONAL DE LOS DATOS (DRI, por sus siglas en ingles).

¿Lo quieres controlar tu?

Entonces, ANTES de "borrar", debes verificar si tu grupo sanguíneo esta asignado, de ser asi, debes enviar un mensaje de ERROR y pedir que primero se "des-asigne".

¿Me explico?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Eliminación de Datos Relacionados

Publicado por Joaquin (3 intervenciones) el 19/07/2014 13:44:39
Hola Amigo Isaias Muchas Gracias por tu pronta respuesta, me fue muy útil. Te comento que lo solucione al problema.
Cuando yo doy de alta a una persona en el sistema solamente muestro los Grupos Sanguíneos que No han sido Eliminados (Eliminadas del Sistema por el Usuario, pero no de la Base de Datos porque esos datos No los eliminado de la base). Y cuando quiero modificar los datos de esa persona No examino el campo Eliminado al mostrar los datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar