Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
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.025
Poder: 28
Ñ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?

Última edición por Ñuño Martínez fecha: 10-02-2011 a las 13:21:15.
Responder Con Cita
  #2  
Antiguo 10-02-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.677
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por Ñuño Martínez Ver Mensaje
[..]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.[..]
Eso es lo que pienso yo.

Cita:
Empezado por Ñuño Martínez Ver Mensaje
[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?
Por eso mismo me he quedado callado después, me "suena" raro ese recibo del que hablan.
Responder Con Cita
  #3  
Antiguo 10-02-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 20
rgstuamigo Va por buen camino
Lightbulb

Bueno antes de opinar me gustaría, mi buen amigo AzidRain , que definieras ¿a qué le llamas Recibo? o que entiendes por recibo?, pues la verdad estoy al igual que Ñuño Martínez que estoy viendo que la definicion que le pones a un recibo es diferente a la que tengo yo; quizás sea por la diferencia de País.... pero mejor acláranos....
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #4  
Antiguo 10-02-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo creo que falta algo en la explicación. La existencia de la tabla det_recibos hace pensar que entre recibos y facturas hay una relación n-n. Por otra lado, la posibilidad de incluir el campo num_recibo en la tabla factura hace pensar que en realidad se trata de una relación 1-n.

Entonces, más que preguntarse si es buena idea incluir el campo num_recibo en facturas, yo preguntaría ¿para qué se quiere la tabla det_recibo?

// Saludos
Responder Con Cita
  #5  
Antiguo 10-02-2011
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
Se pone bueno el tema, el nombre "recibo" es un genérico, pudiera llamarse de cualquier forma, pero les comento como es el proceso de negocios de este cliente para este particular:

1.- Se tiene una tabla que contiene todas las facturas que hay pendientes de cobro
2.- Todos los días se le entregan facturas a cobradores para que las vayan a cobrar, se les hace una relación que indica que facturas se lleva y se guarda con su nombre para identificar quien tiene que factura.
3.- Al regresar el cobrador, se retoma la relación que se capturó y se indica que facturas si se cobraron y cuales quedaron pendientes y se "cierra" la relación, con lo que se indica que esas facturas ya regresaron a su lugar.
4.- Al día siguiente se repite la operación.

Así como este ejemplo hay muchos procesos que he visto en muchas empresas que utilizan un esquema similar, se tiene una tabla de x cosa y se requiere ir haciendo relaciones de esas x cosas.

Ahora comento lo que menciona Roman:

Tenemos una tabla facturas, tenemos una tabla "lista_facturas" y a su vez una de detalles de esta última "det_lista_facturas".

La relación entre facturas y listas es 1-n aunque realmente no es una relación verdadera pues no siempre una factura está incluida en una lista.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #6  
Antiguo 10-02-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Ya. Pero eso en realidad no contesta lo que comento.

Más bien pensaría que especificaras que hace la tabla det_recibo y nos restrinjamos al problema inicial en lugar de añadir tablas

// Saludos
Responder Con Cita
  #7  
Antiguo 10-02-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.677
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por AzidRain Ver Mensaje
Se pone bueno el tema, el nombre "recibo" es un genérico, pudiera llamarse de cualquier forma, pero les comento como es el proceso de negocios de este cliente para este particular:

1.- Se tiene una tabla que contiene todas las facturas que hay pendientes de cobro
2.- Todos los días se le entregan facturas a cobradores para que las vayan a cobrar, se les hace una relación que indica que facturas se lleva y se guarda con su nombre para identificar quien tiene que factura.
3.- Al regresar el cobrador, se retoma la relación que se capturó y se indica que facturas si se cobraron y cuales quedaron pendientes y se "cierra" la relación, con lo que se indica que esas facturas ya regresaron a su lugar.
4.- Al día siguiente se repite la operación.

Así como este ejemplo hay muchos procesos que he visto en muchas empresas que utilizan un esquema similar, se tiene una tabla de x cosa y se requiere ir haciendo relaciones de esas x cosas.

Ahora comento lo que menciona Roman:

Tenemos una tabla facturas, tenemos una tabla "lista_facturas" y a su vez una de detalles de esta última "det_lista_facturas".

La relación entre facturas y listas es 1-n aunque realmente no es una relación verdadera pues no siempre una factura está incluida en una lista.

Me parece super engorroso, seguramente no lo he entendido.

Si tienes una tabla de facturas, sólo has de tener un campo para controlar si está cobrada. Igual sólo necesitas un campo para saber dónde están, basta el código del cobrador. Si tiene un código es que la tiene un cobrador, si tiene valor cero es que está en la oficina.
O sea, todo ese proceso y tablas se soluciona con 2 campos en la tabla de facturas.
Lo de los recibos... pues sigo sin entenderlo
Responder Con Cita
  #8  
Antiguo 10-02-2011
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Pues estoy en la misma de ustedes, no termino de comprenderle la mano.

Por otro lado, como sugerencia, creo que sería más apropiado si se mueve el hilo a un mejor lugar... porque si lo siguen tratando en la taberna, en una charla acompañada de alcohol el DER saldrá medio medio

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #9  
Antiguo 10-02-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 20
rgstuamigo Va por buen camino
Thumbs up

Ya está movido al foro de Debates...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Programación en PDA tal0 .NET 1 01-08-2007 16:45:58
Porque se perderá el Enfoque al Limpiar Edit???? AGAG4 Varios 4 22-11-2004 18:54:39
Pasar enfoque de Celdas en dbGrid AGAG4 Varios 9 15-09-2004 02:00:30
Encontrar el enfoque del componente AGAG4 Varios 5 14-08-2004 20:17:26
Ventana iniciada sin enfoque soul6301 Varios 1 02-08-2004 07:22:10


La franja horaria es GMT +2. Ahora son las 14:23:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi