Ver Mensaje Individual
  #11  
Antiguo 10-02-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Reputación: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Acabo de hacerme un <ER> mental y llego a la conclusión de que lo lógico es poner en el recibo el identificador de la factura. La razón es que es más fácil que una factura se pague con varios recibos, mientras que lo raro es que un recibo pague varias facturas. Useasé:
Código SQL [-]
CREATE TABLE recibo (
  ...
  id_factura ...,
  FOREIGN KEY id_factura(factura.id)
)
Otra posibilidad sería utilizar una relación <n-n>, esto es, una tabla tal que así:
Código SQL [-]
CREATE TABLE rel_factura_recibo (
  id_factura ...,
  id_recibo ...,
  FOREIGN KEY id_factura(factura.id),
  FOREIGN KEY id_recibo(recibo.id)
)
Ahora mismo no recuerdo si las claves externas se indican así, pero creo que se entiende la idea, ¿no?

De todas formas prefiero la solución que he expuesto primero.

[edito]

Acabo de releer el problema y he caído en que mi lógica no es válida. La definición que pones de recibo es un poco rara, ¿no? Un recibo es el documento que se entrega cuando se "recibe" una cantidad de dinero, en este caso el importe de una factura, ¿o no?
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine

Última edición por Ñuño Martínez fecha: 10-02-2011 a las 13:21:15.
Responder Con Cita