Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Como organizar un cliente con varios contactos

Buenas tardes,

estoy haciendo un programa de gestión de prestamos y me surge una duda a la hora de organizar las tablas.

El caso es que tengo una tabla de clientes donde quiero reflejar los datos básicos pero necesito poder indicar una serie de "contactos" que están relacionados con el.

Por ejemplo al dar de alta un cliente a veces es necesario indicar el nombre de su cónyuge, de sus hermanos, hijos... Para estos contactos no querría tener que crear otra tabla sino más bien usar la misma de clientes pero que de alguna forma se sepa que están relacionados entre ellos. No sería válido poner campos auxiliares ya que es un número no determinado de personas, en algunos casos hay uno y otros puede haber 4 o 5.

Así al entrar en un cliente vería quienes más están vinculados a él y podría acceder a sus datos.

No se si me he explicado bien.

¿Alguien podría decirme cómo puedo plantear esto para tener una idea de cómo se suele hacer?

Ando un poco perdido y dándole vueltas pero quizás sea algo habitual.

Muchas Gracias
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #2  
Antiguo 13-11-2014
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Estimado Delphitest:

En mi experiencia lo mejor es crear otra tabla (Contactos) y unirlas a través de un campo común en una relación maestro-detalle.
Saludos
Responder Con Cita
  #3  
Antiguo 13-11-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes tener un dato "tipo de usuario"
0. cliente
1. proveedor
2. cónyuge
3. hijo
4. amigo
5. vecino
...

Y para más funcionalidad, una tabla para definirlos y así poder ampliarlos, editarlos, etc.
Responder Con Cita
  #4  
Antiguo 13-11-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Muchas gracias por vuestras opiniones,

en este ultimo caso Casimiro, es algo que había pensado

Por ejemplo pongo "Tipo de Cliente" ;

Cliente Principal
Hermano
Padre
Hijo
....

¿Pero como lo vinculo al cliente principal? ¿Creo otro campo tipo "Relacionado con.."? ¿O como podría hacerlo?

Es decir, hay un cliente principal y luego puede estar el padre, el hermano... pero sería necesario saber que están relacionados.

Lo de crear otra tabla de contactos sería otra opción, por eso ando preguntando, no lo tengo muy claro cual sería la mejor forma.
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #5  
Antiguo 13-11-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Necesitas otra tabla.
Código:
cliente.....otra cosa
1------------34
1------------14
1------------3
2------------48
2------------1
3------------15
3------------5
3------------4
Aunque yo haría lo que ha comentado radenf, otra tabla de "contactos", que podrían ser enlazadas con la principal de clientes, de 1 a muchos.
Responder Con Cita
  #6  
Antiguo 14-11-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Voy a probar con lo que comentáis de crear otra tabla de contactos.

No se exactamente como funcionan las relaciones pero por lógica entiendo que debo de tener un campo común en las dos tablas que me permita relacionarlas.

Tengo la tabla "clientes" con estos campos:

IDCliente
Nombre
Apellidos
....

Y debo crear la tabla "contactos" con estos:

IDContacto
Nombre
Apellidos
...

Supongo que esta última tengo que poner un campo IDCliente para que en caso de que haya varios contactos de un mismo cliente se sepa con quien están relacionados.

Para relacionarlas ¿Basta con tener un campo común y crear una query a la hora de mostrarlos? Por ejemplo diciéndole que solo se vean los contactos que tengan el IDCLiente (de contactos) igual al IDCLiente (de Clientes)

¿O es necesario crear esa relación de forma especifica con alguna sentencia SQL?
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #7  
Antiguo 14-11-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Depende de lo que vayas a hacer exactamente, pero si un cliente puede tener varios contactos y un contacto puede pertenecer a varios clientes, entonces creo que tendrás que usar una tabla intermedia que haga de unión entre ambos, como especifiqué antes.

Código SQL [-]
tbClientes
  id
  nombre
  telefono
  primary key (id)

tbContactos
  id
  nombre
  telefono
  primary key (id)

tbEnlaces
  idCliente
  idContacto
  primary key (idCliente,idContacto)
Responder Con Cita
Respuesta



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
Compartir Contactos en Outlook ChristianS Windows 4 15-12-2011 00:57:18
Importar contactos Outlook Manuel1790 Windows 2 21-09-2007 17:15:08
actualizar aplicacion cliente en varios puesto VRO Providers 0 25-10-2005 18:00:49
Exportar Contactos. messenger y ot JXJ Varios 0 02-05-2005 02:25:11
Imprimir Contactos en Outlook ChristianS Windows 0 02-09-2003 22:00:48


La franja horaria es GMT +2. Ahora son las 12:29:39.


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