Duda de Base de Datos

Iniciado por pisacaballo, 5 Octubre 2008, 05:24 AM

0 Miembros y 1 Visitante están viendo este tema.

pisacaballo

En realidad esta pregunta va más orientada al ámbito de las bases de datos, pero como no encontre ninguna sección de BD no sabía si ponerla como duda general o plantearla en programación, termino decidiendo ponerla en programación porque me parecía que era una duda simple y como estaba trabajando con vb decidí poner mi duda aca.

Bueno llendo al grano.

Si tengo una tabla de clientes y otra de alquileres que tiene como claves foraneas a la clave de cliente, debería poner también como clave foranea la clave de alquiler en cliente si no es así ¿qué hago cuándo se borra un cliente? como puedo referenciar para hacer un borrado en cascada así poder borrar los alquileres que efectuo dicho cliente borrado.

Muchas gracias. Un saludo afectuoso PisaCaballo

Fr4NN^

Hola..

creo q seria conveniente saber q bd usas.. acces, msq, etx?


segundo tienes q tenes una clave principal en clientes q tendria q ser IdCliente en autonumerico y en alquileres IdAlquiler como clave principal.. y un registro numerico q sea IdCliente..

relacionas los idcliente en 1 a muchos con la opcion de q se borren los alquileres cuando borras el cliente osea uan cascada..

saludos cualkier cosa prengunta ;)
Leyendo se aprende


seba123neo

Hola, haber si entendi bien ,vos lo que queres hacer es que al borrar un cliente se borre de la otra tabla tambien los alquileres de este cliente?? si es asi es muy facil, con una simple consulta SQL se soluciona...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

pisacaballo

Muy bien, gracias por responder.

El DBMS que estoy usando es informix 10.0 corriendo sobre un servidor red hat 9.

Y lo que quiero hacer es que cuando se me borre algún registro de la tabla cliente que esta relacionada con la tabla alquileres se borren todos los registros que esten relacionados con ese alquiler.

Ahora si entrar mucho en detalle, la tabla alquiler tiene el código del cliente que hizo el alquiler pero poner el borrado en cascada en la tabla alquiler no tiene sentido ya que si borro uno de los tantos alquileres que hizo un cliente estaría borrando al cliente en sí. Lo que quiero hacer es justamente lo inverso, pero mi duda es si tengo que hacer una consulta sql para ver los registros involucrados.



Fr4NN^

la cascada lo q hace es q si borras el "1" te borra los "muchos" pero si borras los algun "muchos" no te borra el "1"

o sino lo puedes hacer tambien como dijeron arriba con una consulta sql

saludos
Leyendo se aprende