Re: [pgsql-es-ayuda] Re: [MASSMAIL] [pgsql-es-ayuda] Diseño de Tabla para Empleados, Clientes y Proveedores

From: Alberto Cuevas <betocuevas(dot)net(at)gmail(dot)com>
To: Hellmuth Vargas <hivs77(at)gmail(dot)com>, gilberto(dot)castillo(at)etecsa(dot)cu
Cc: pgsql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Re: [MASSMAIL] [pgsql-es-ayuda] Diseño de Tabla para Empleados, Clientes y Proveedores
Date: 2016-09-14 20:05:51
Message-ID: CA+mENxoOqn5=oybM78u9cZfU4Cn5m2e--6AahiM=m_mUPD8tDg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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 (<hivs77(at)gmail(dot)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(dot)castillo(at)etecsa(dot)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(dot)castillo(at)etecsa(dot)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(dot)castillo(at)etecsa(dot)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(at)postgresql(dot)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
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gilberto Castillo 2016-09-14 20:10:14 Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [MASSMAIL] [pgsql-es-ayuda] Diseño de Tabla para Empleados, Clientes y Proveedores
Previous Message Anthony Sotolongo 2016-09-14 17:40:35 Re: Firewall SQL