Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Registro con varias direcciones?

Estas en el tema de Registro con varias direcciones? en el foro de Bases de Datos General en Foros del Web. Hola. Estoy haciendo unas tablas pera una DB, para cada cliente se registra Número de cliente (único), Direcciones de envío de la mercancía (varias por ...
  #1 (permalink)  
Antiguo 30/04/2012, 18:28
 
Fecha de Ingreso: noviembre-2007
Mensajes: 12
Antigüedad: 17 años
Puntos: 0
Pregunta Registro con varias direcciones?

Hola. Estoy haciendo unas tablas pera una DB, para cada cliente se registra Número de cliente (único), Direcciones de envío de la mercancía (varias por cliente), Saldo, Límite de crédito (este depende del cliente, pero en ningún caso debe superar los 10.000), Descuento. (depende por dirección de envío).

Mi problema es cómo organizar las tablas ya que en una misma tabla no pueden estar varias direcciones. Creo que se resuelve con una tabla extra relacionada pero no tengo la idea clara. Alguna ayuda? Gracias.
  #2 (permalink)  
Antiguo 30/04/2012, 19:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Registro con varias direcciones?

Exactamente así es como se resuelve, con una tabla adicional (al menos).
Si el Cliente tiene diferentes direcciones de entrega, eso implica una relación de cardinalidad 1:N y requiere una tabla adicional cuya clave primaria sea la del cliente, mas otro campo o campos adicionales que actúen de discriminante. En este caso, si el cliente tiene diferentes sucursales, el numero de la sucursal destino sería una buena clave.
Si esa dirección no posee un discriminante claro, se puede numerar secuencialmente las diferentes direcciones relacionadas con el mismo cliente. Esto último no implica que haya un único ID autoincremental en esa tabla, sino que cada subgrupo reinicie la numeración.

El tema principal, en realidad, es determinar si cada una de las direcciones es única para un único Cliente, porque si una misma dirección de entrega es compartida por dos o más Clientes, se requerirán dos tablas adicionales y no una, porque eso implicaría que la cardinalidad sea N:N y no 1:N.
Eso es algo que debes analizar en tu caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: claves, esquema, relacionadas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:41.