Relaciones en Bd de Access

Estoy intentando hacer una Bd en accces para la gestión de avisos de un servicio técnico, ya he creado algunas de las tablas y sus relaciones pero no estoy seguro si son correctas. Hago una breve descripción de ellas, tengo una tabla "Clientes" la cual se relación de 1 a muchos con la tabla "Avisos" (osea 1 cliente puede tener varios avisos), esta a su vez se relaciona con otras tablas, "EstadoAviso, ProcedenciaAviso, TipoEquipo, Aparatos" todas estas de muchos a 1, una relación más de "Aparatos a marcas" también de muchos a uno. Intentare adjuntar una foto para que se comprenda mejor, mi pregunta es la siguiente, ¿están bien hechas así las relaciones o debo poner una tabla intermedia con varios campos clave que haga de puente, algo así como "detalleAviso".

2 respuestas

Respuesta
2

Pues yo te diría, en principio, que tu BD está bien estructurada y relacionada, siempre y cuando a cada aviso solo le corresponda un dato de cada una de las 4 tablas.

Si pudiera darse el caso de que un aviso afecte, por ejemplo, a más de un aparato, ahí si necesitarías una tabla DetalleAvisos, pues tal como lo tienes ahora, necesitarías dos registros en TablaAvisos.

Por otro lado, yo no comparto las afirmaciones de Icue de "Por el hecho de que una tabla vaya a coger datos de otra, no quiere decir que deban estar relacionada" y "Sí se debe relacionar cuando van a trabajar juntas, caso de formulario y subformulario, informe y subinforme".

La primera, porque con el ejemplo que te pone de cuadro combinado (o de búsqueda) sí estás relacionando las dos tablas, aunque no de forma explícita (en la ventana de relaciones), y la segunda, porque aplicando la misma lógica de no crear relaciones entre tablas, puedes vincular un subformulario a un formulario sin crear la relación explícita entre las tablas simplemente configurando las propiedades "vincular campos principales" y "vincular campos secundarios" del objeto subformulario.

Pero como no deja de ser una cuestión de gustos, y ya que Access es un sistema gestor de bases de datos relacional, yo sí relaciono explícitamente las tablas en las aplicaciones que desarrollo.

Un saludo.


     bit.ly/ForoNkSv 

¡Gracias! me ha quedado bastante claro, te diré que en principio a cada aviso solo le puede corresponder un aparato, en el caso que un mismo cliente pida en un mismo aviso servicio para dos equipos se crearían dos avisos independientes para ese cliente.Lo que si se puede dar es que un mismo aparato tenga varios avisos.La cuestión es que cada aparato pertenece a un cliente solamente, no se muy bien si tanta relación cumple con eso al final.Te diré también que en verdad los campos combinados de las tablas son cuadros de búsqueda,  solo que yo después he creado las relaciones explícitamente pues veía que no me marcaban los símbolos de 1 a muchos.

Respuesta
1

Antonio, no soy quien para decirte lo que debes hacer, pero si me permites un comentario. Por el hecho de que una tabla vaya a coger datos de otra, no quiere decir que deban estar relacionada. Por ejemplo, si en la tabla Avisos, el campo Estado Aviso, va a usar datos de la tabla EstadoAviso, no tiene porque estar relacionadas. Basta con que en el formulario sustituyas el cuadro de texto Estadoaviso de la tabla Avisos por un combinado, con origen de la fila en el campo Estado de la tabla EstadoAviso.

Sí se debe relacionar cuando van a trabajar juntas, caso de formulario y subformulario, informe y subinforme.

Supongo que con combinado te refieres a lista de búsqueda, bueno al hacer eso también se crea una relación(indefinida creo),¿además después por ejemplo a la hora de crear informes o consultas es igual?

No, mira la ventana relaciones. Sólo están Ventas y DetalleVenta

No interviene para nada la tabla Productos

Pero en el formulario

Cambio el cuadro de texto por un combinado con origen de la fila en la tabla Productos

No se crea ninguna relación. Y en caso de que quieras hacer un informe, como en el campo Producto de la tabla DetalleVenta ya tienes el nombre del producto puedes hacerlo normalmente.

De todas formas, si quieres, repito, si quieres, mándame un mensaje(sólo el mensaje) a [email protected] y te mando un ejemplo. Si lo haces, en el asunto del mensaje pon tu alias Antonio Miguel, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas