Access - Diseño de BBDD - Relacion indeterminada?

   
Vista:

Diseño de BBDD - Relacion indeterminada?

Publicado por David (2 intervenciones) el 09/06/2015 11:34:35
Buenas,

Tengo una duda sobre un posible diseño de BBDD en cuanto a una relación. A ver si algún experto de BBDD me puede dar su opinión.

Tengo una tabla que almacena "pagos". Sus campos serían:
"Cod_pago": clave primaria autnumérica que identifica cada pago.
"Cod_organismo": organismo que realiza un pago
"Año": en el que se realiza el pago

Otra tabla que almacena "organismos". Sus campos:
"Cod_organismo": clave primaria que identifica cada organismo
"Organismo": Literal del organismo
"Cod_pais": codigo del pais al que pertenece cada organismo

Otra tabla de "paises":
"Cod_pais: clave primaria que identifica cada pais
"pais": literal del pais

Ultima tabla que almacena las monedas de los paises y el tipo de cambio aplicado a cada moneda en cada año. Campos:
"Año": Año de aplicación de un tipo de cambio a una moneda de un determinado pais
"Cod_pais": Pais de la moneda. Este campo concatenado con el anterio sería la calve primaria compuesta. Un pais un año, tiene una moneda y un tipo de cambio.
"Moneda": literal de la moneda para un pais en un año (existe la posibilidad de que un pais cambie su moneda)
"Tipo_cambio": tipo de cambio respecto al euro de la moneda de un pais en un determinado año (el tipo de cambio de una moneda respecto al euro
puede variar de un año para otro).

En cuanto a las relaciones, pego una imagen para verlo mejor.
23t4dia

Se ve fácilmente que:
1 pago puede ser realizado sólo por un organismo
1 organimo puede realizar N pagos

1 pais puede tener N organismos
1 organismo puede pertenecer solo a 1 pais

1 pais puede tener varias monedas (si existe algún cambio de moneda en él claro)
1 pais en 1 año puede tener solo una moneda y esta solo un tipo de cambio (los tipos de cambio varian si de un año para otro).

pues bien, la relación que me genera dudas está entre las tablas "Moneda_cambio" y "Cod_pago".

1 pago puede ser realizado solo en una moneda (de un determinado pais) y con 1 tipo de cambio asociado (al año y al pais)
1 moneda (de un determinado pais) con su tipo de cambio (vinculado a un año concreto) puede usarse en varios pagos.

Esta relacion me sale indeterminada en access 2010. Yo esperaba una relacion 1:N pero pienso que lo que lo fastidia es usar la clave primaria compues
en la tabla "Moneda_cambio".

Alguno se le ocurre alguna solución mejor? o hay que dar por buena esta relación indeterminada? que me vincula una año, un tipo de cambio y una moneda al pago generado?

Gracias de antemano y disculpad el rollo.

Un saludo,
DAvid.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Diseño de BBDD - Relacion indeterminada?

Publicado por jose (741 intervenciones) el 09/06/2015 11:48:45
a mi modesto entender

ya tienes los campos que relacionan unas tablas con otras.
OLvidate de las relaciones iniciales , crealas en cada consulta, te darán menos problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de douglas

Diseño de BBDD - Relacion indeterminada?

Publicado por douglas (280 intervenciones) el 09/06/2015 23:21:45
Buenas David bonito sistema te haz hecho

Quita la relación moneda de cambio con Cod_pago

esa solo se hará en una consulta como te dice la respuesta anterior listo problema solucionado

Buena Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Diseño de BBDD - Relacion indeterminada?

Publicado por David (2 intervenciones) el 10/06/2015 09:27:06
Buenas,

He hecho lo que decís y parece más correcto. Al fin y al cabo todas las tablas ya están unidas sin cerrar ese "ciclo" (prescindiendo de la relación entre Moneda_cambio y Cod_pago).

Ahora la pregunta que me asalta es: ¿en el entorno Access, que diferencia existe entre crear una relación entre tablas directamente o crearla en una consulta particular sobre las tablas?

Muchas gracias por las respuestas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar