Diseño tablas duda con relaciones

Estoy diseñando una aplicación para gestión comercial, con una tabla CLIENTES, otra de COMERCIALES y otra de PROYECTOS, entre otras. Las dudas son:

1.- ¿Cómo asignar un comercial a un cliente? Se me ocurre varias opciones: A) Crear un campo en la tabla CLIENTES que almacene el idcomercial asignado B) Crear una tabla CLIENTES-COMERCIALES con dos campos idcliente, idcomerciales, en cuyo caso crearía una relación entre esta ultima CLIENTES y COMERCIALES. ¿Cuál es la mejor manera de hacerlo?

2.-Los CLIENTES pueden ser de varios tipos (Propietarios, Arquitectura, Ingeniería, Instaladores, COnstructoras, etc) En la tabla PROYECTOS quiero almacenar cada uno de ellos que toma parte en el Proyecto. Se me ocurre crear varios campos en esta tabla PROYECTOS como idarquitectura, idingenieria, id constructora, etc y en ellos almacenar el idcliente de cada uno de ellos en cada caso. Pero en este caso entiendo que no creo ninguna relación entre ellos. ¿Cómo puedo hacer esto de la mejor manera?

1 respuesta

Respuesta

Yo optaría por la solución 1-A (almacenar el idComercial en la tabla clientes), siempre que cada cliente solo pueda ser atendido por un comercial. Si varios comerciales pueden atender al mismo cliente, usaría la 1-B (tabla clientes-comerciales para simular una relacion muchos a muchos)

La pregunta del punto 2 no la acabo de entender. Si la puedes explicar un poco más, y con algún ejemplo, te intento decir lo que yo haría

En el punto 2 me refiero a que en un Proyecto puede haber una arquitectura, una ingeniería, un instalador, una constructora... Y todos ellos están en la tabla Clientes. Mi idea es tener varios campos en el Proyecto pata meter el idcliente en cada caso,  pero todos serán idcliente de la tabla CLIENTES. Pero veo raro y no se siquiera si es posible crear relación entre el campo idcliente de CLIENTES y cada uno de estos campos. U otra forma de hacerlo más limpia? Tampoco querría dividir la tabla CLIENTES en varias tablas según el tipo de cliente solo.por eso...

No se sime.explico .

Sí, te explicas. Yo lo haría de una de estas dos maneras (ojo, lo que yo haría no quiere decir que no haya otra forma mejor):

1º/ Si solo interesa saber si para un proyecto hay una arquitectura, ingeniería..., pero no interesa saber quien es el arquitecto, ingeniero... pondría casillas de verificación (campos de tipo Sí/No)

2º/ Si interesa tener identificados las distintas personas que intervienen, yo lo haría con una tabla adicional (TParticipantesProyecto), en la que tendría el id del proyecto (relación con tabla proyectos) y el id cliente (relación con Clientes) y el resto de campos que puedan interesar (fecha de participación...) Sería una cosa igual a la tabla clientes comerciales, para hacer una relación muchos a muchos.

Si necesitas más aclaraciones, coméntamelo.

Un saludo.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas