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 > >