Gracias por responder, bueno tengo una 1ra versión del modelo que deseo
implementar:

*Modelo 1:*

Crear las tablas:

Tipo_Persona
Persona
Tipo_Relacion
Persona_Relacion

Tipo_Persona
ID_TIPO_PERS  (PK)
NOM_TIPO_PERS

Persona
ID_PERS           (PK)
ID_TIPO_PERS  (PK)
NOM_PERS
APPAT_PERS
APMAT_PERS
TIPO_DOCUM
NUM_DOCUM

Tipo_Relacion
ID_TIPO_RELA (PK)
NOM_TIPO_RELA

Persona_Relacion
ID_RELA            (PK)
ID_PERS
ID_PERS_RELA
ID_TIPO_RELA (FK)

*Modelo 2:*

Crear las tablas:

Persona
Tipo_Relacion
Persona_Relacion

Persona
ID_PERS           (PK)
ES_PROVEE     Campo Char(1) si es 1 es Proveedor
ES_CLIENTE     Campo Char(1) si es 1 es Cliente
ES_EMPLEA     Campo Char(1) si es 1 es Empleado
NOM_PERS
APPAT_PERS
APMAT_PERS
TIPO_DOCUM
NUM_DOCUM

Tipo_Relacion
ID_TIPO_RELA (PK)
NOM_TIPO_RELA

Persona_Relacion
ID_RELA            (PK)
ID_PERS
ID_PERS_RELA
ID_TIPO_RELA (FK)

El Modelo 2, en la tabla Persona tiene los campos ES_PROVEE, ES_CLIENTE,
ES_EMPLEA, puede ser una buena salida de momento, pero si existe la
necesidad de otro tipo o tipos tendria que crear nuevos campos
ES_NUEVOTIPO1, ES_NUEVOTIPO2, etc..

Saludos.



El mar., 13 sept. 2016 a las 16:18, Hellmuth Vargas (<hiv...@gmail.com>)
escribió:

> Hola Lista
>
> Estoy de acuerdo con Gilberto: lo mejor es mantener una tabla PERSONA y
> mas bien en cada operación se define el ROL que cumple cada persona en la
> misma: es cliente, proveedor o contacto
>
> El 13 de septiembre de 2016, 16:38, Gilberto Castillo<
> gilberto.casti...@etecsa.cu> escribió:
>
>>
>> > Hay casos en que un Contacto puede ser de N Clientes y tambien puede ser
>> > Cliente en ese caso trabajarlo en una sola tabla, no lo veo como.
>>
>> No, no no he dicho que quites tus tablas de clientes etc. solo que todas
>> toman  información de personas, solo eso.
>>
>>
>> >
>> > Alguna idea.
>> >
>> > Saludos.
>> >
>> > El mar., 13 sept. 2016 a las 15:35, Gilberto Castillo (<
>> > gilberto.casti...@etecsa.cu>) escribió:
>> >
>> >>
>> >> > Gracias por responder Gilberto.
>> >> >
>> >> > Al manejar todo en una sola tabla Persona (Empleados, Clientes y
>> >> > Proveedores) me queda claro, pero mi duda es con los Contactos de
>> >> Clientes
>> >> > que también pueden ser Clientes. Se me ocurre tener una tabla
>> >> > PersonaContacto con:
>> >> >
>> >> > ID_TBL_CONTACTO PK de tabla PersonaContacto
>> >> > PERSONA_ID  = ID de tabla Persona CLIENTE
>> >> > CONTACTO_ID = ID de tabla Persona CONTACTO
>> >>
>> >> Al final todos son personas, así con un codificador de su estados ya
>> >> tienes.
>> >>
>> >>
>> >> > Pero no tendria relación, alguna idea.
>> >> >
>> >> > Saludos.
>> >> >
>> >> >
>> >> > El mar., 13 sept. 2016 a las 15:10, Gilberto Castillo (<
>> >> > gilberto.casti...@etecsa.cu>) escribió:
>> >> >
>> >> >>
>> >> >> > Hola a todos, quisiera contar con su apoyo, con respecto a lo
>> >> >> siguiente:
>> >> >> >
>> >> >> > Siempre he trabajado el registro de Empleados, Clientes y
>> >> Proveedores
>> >> >> por
>> >> >> > separado, Contactos de Clientes y Contactos de Proveedores tambien
>> >> por
>> >> >> > separado, pero en una empresa en la cual voy a implementar un
>> >> software
>> >> >> de
>> >> >> > ventas, tienen una particularidad, pues una persona puede ser
>> >> >> Empleado,
>> >> >> > Cliente y Proveedor a la vez.
>> >> >> >
>> >> >> > He pensado tener en una sola tabla el registro de Empleados,
>> >> Clientes
>> >> >> y
>> >> >> > Proveedores y tener tablas independientes por cada uno si se
>> >> requiere.
>> >> >> >
>> >> >> > De igual manera una sola tabla para la direccion de Empleados,
>> >> >> Clientes y
>> >> >> > Proveedores.
>> >> >> >
>> >> >> > Pero hay un caso mas, un Contacto de un Cliente puede ser tambien
>> >> un
>> >> >> > Cliente o Proveedor.
>> >> >> >
>> >> >> > Alguna idea de algún compañero que haya tenido un caso similar,
>> que
>> >> >> pueda
>> >> >> > ayudarme por favor.
>> >> >> >
>> >> >>
>> >> >> Bueno te creas una tabla personas, de hechos los sistemas nuestro
>> >> parte
>> >> >> siempre de esa tabla, pos la persona es la célula más atómica por lo
>> >> >> general.
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Saludos,
>> >> >> Gilberto Castillo
>> >> >> ETECSA, La Habana, Cuba
>> >> >>
>> >> >>
>> >> >
>> >>
>> >>
>> >> --
>> >> Saludos,
>> >> Gilberto Castillo
>> >> ETECSA, La Habana, Cuba
>> >>
>> >>
>> >
>>
>>
>> --
>> Saludos,
>> Gilberto Castillo
>> ETECSA, La Habana, Cuba
>>
>>
>> -
>> Enviado a la lista de correo pgsql-es-ayuda (
>> pgsql-es-ayuda@postgresql.org)
>> Para cambiar tu suscripción:
>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>
>
>
>
> --
> Cordialmente,
>
> Ing. Hellmuth I. Vargas S.
> Esp. Telemática y Negocios por Internet
> Oracle Database 10g Administrator Certified Associate
> EnterpriseDB Certified PostgreSQL 9.3 Associate
>
>

Responder a