Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/02/2013, 14:38
Avatar de andres_15_
andres_15_
 
Fecha de Ingreso: septiembre-2008
Ubicación: Cali
Mensajes: 232
Antigüedad: 15 años, 7 meses
Puntos: 7
Respuesta: llaves primarias y foreaneas

Cita:
Iniciado por jurena Ver Mensaje
Andres_15_
veo que sigues con el tema que trataste en otro post. No has querido seguir el consejo de calcular el total que queda de un contrato y te empeñas en restar y usar para ello una tabla en la que almacenas varios datos, el idcontrato, el valor contrato, e imagino que el idfactura de la última factura cuyo valor desquitas. Leo te sugirió con buen criterio el empleo de trigger para tras insertar una factura actualizar esa tabla de totales, restando el valor.
Mira aquí:
http://dev.mysql.com/doc/refman/5.0/en/triggers.html
En ese caso, podrías al actualizar restar el total y guardar el idfactura de la última factura, y no serían necesarias las restricciones. Al fin y al cabo esta tabla solo te sirve para obtener el total y mantenerlo almacenado. No hay necesidad de relacionar con las otras dos tablas y mantener esas restricciones.
Sigo pensando que no es necesario nada de esto, pues tú cuando quieras saber el total, tendrás que lanzar una consulta a una tabla con un solo registro, porque no creo que quieras guardar un registro con el histórico de la resta de cada factura sobre el total, porque podría llevarte a confusión al tener varios registros para un mismo contrato. Todo esto lo podrías obtener como te recomendé en el otro post con una simple consulta de agrupado, sin usar ninguna tabla más, sin añadir trigger alguno, sin almacenar datos innecesarios, y sin tener que preocuparte de cuál fue la última factura que entró, etc. Esto es lo que pienso, pero si quieres probar los triggers, adelante. Yo quitaría las restricciones que no tendrían a mi juicio casi ningún sentido, si bien creo que en el caso del trigger quizás no te daría el error pues primero sería la inserción en factura y luego en esta tabla de totales.
Hola jurena , no es que no haya querido seguir las instrucciones y estoy de acuerdo con lo que dices, pero lo que yo estoy tratando de hacer no es para mi , si no para una persona que quiere ver los campos que ya dije antes (numero de el contrato, el valor de el contrato, numero de la factura y el valor de la factura y el total de como va bajando el saldo de el contrato). lo de los triggers lo leí un poco y no entendi muy bien, pues la verdad tengo conocimientos muy básicos en bases de datos. Si tal vez hay alguna forma te agradeceria jurena, aunque ya debes estar diciendo "la @#$% lo va a ayudar " jajaajaja