none
¿Que es mejor una o varias tablas para manejar clientes/proveedores/empleados? RRS feed

  • Debate general

  • Hola

    Estoy creando una aplicación completamente desde cero, y tengo la duda de que será mejor...

    Crear una tabla persona, con un campo tipo_persona donde le especifique que tipo de persona es, si es un cliente o un proveedor o usuario o cualquier otro y después crear un objeto para cada uno de elos ... o si por el contrario sería mejor crear una tabla para cada tipo de persona.

    ¿Que opinan?

    jueves, 28 de agosto de 2014 17:33

Todas las respuestas

  • Porque no extiendes tu explicación para poder dar una sugerencia mas atinada... aunque lo que entendí hasta este momento sugeriría:

    Crear una tabla Persona(id, idTipoPersona, name, otros...) y una tabla TipoPersona (id, description), en donde Persona contendrá el id del registro de la tabla tipo persona a la que pertenezca...


    Saludos desde Monterrey, Nuevo León, México!!!

    jueves, 28 de agosto de 2014 17:54
  • Desde la experiencia que he tenido a lo largo de los años.

    Siempre es mejor una para cada uno, debido al performance que tenga la aplicación durante el tiempo. 

    También provee un mejor diseño de tu base de datos

    jueves, 28 de agosto de 2014 18:11
  • Ok

    La pregunta mas exacta es: 

    ¿Que creen que es mejor para un sistema?

    1. Opcion 1

    Tabla: Persona

    Campos:

    Id_persona: Int

    Nombre_Persona: String

    Tipo Id: String

    Id: String

    Direccion: String 

    Tipo_Persona: Int

    Tabla: TipoPersona

    Id_Tipo_Persona: Int

    Tipo_Persona: String

    Datos en la tabla persona:

    1 | Juan Perez | Cedula | 122092-2313 | San Juan | 1

    2 | Jose Perez | Pasaporte | 1232322-2313 | Grecia | 1

    3 | Elias Arias | Cedula | 132092-2313 | San Juan | 3

    4 | Ilse Arias | Cedula | 132092-2313 | San Juan | 5

    Datos en la tabla Tipo_Persona

    1 | Cliente Fisico

    2 | Cliente Jurídico

    3 | Proveedor Fisico

    4 | Proveedor Jurídico

    5 | Empleado

    OPCION 2:

    Crear una tabla

    Cliente

    Proveedor

    Empleado

    Etc


    ------------- Me gustaría cambiar el mundo, pero no me dan el código fuente.

    jueves, 28 de agosto de 2014 18:13
  • Crear una tabla por cliente, otra por proveedor, otra por empleado, etc. 

    Y si en algún punto lo quieres relacionar crear una nueva tabla de relación entre ellas.

    Saludos

    jueves, 28 de agosto de 2014 18:22
  • aki realize esta relacion es algo parecido a lo que tu deseas pero tienes que modelar los datos 

    jueves, 28 de agosto de 2014 19:02
  • hola

    lo que alli planteas tiene que ver como definir una herencia con tablas

    se puede definir una unica tabla por tipo o una tabla base y varias tablas para cada tipo

    por ejemplo el proveedor tendra campos especificos para el que el usuario no tendra?

    aqui

    [Entity Framework][Code First] Herencia - Tabla por  jerarquia

    [Entity Framework][Code First] Herencia - Tabla por tipo

    si bien alli implemento entity framework tambien trato el modelado de la db para represnetar herencia

    analiza los conceptos de cada uno

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 28 de agosto de 2014 19:22
  • Gracias Leandro

    Aprovechando que tocaste el tema de Entity Framework, necesito así como una capacitación relampago, muy puntual sobre que es el entity framework, y como usarlo.

    Que me recomiendas?


    ------------- Me gustaría cambiar el mundo, pero no me dan el código fuente.

    lunes, 1 de septiembre de 2014 17:18
  • Yo tengo el mismo problema, y decidi solo crear una tabla porque los id que tienes en realidad son numero de cuentas y son faciles de manejar en contabilidad, a clientes, empleados, departamentos, proveedores, etc. todos son lo mismo...

    Claro esta que solo hay de dos, o se reciben pagos (cargos), o bien se hacen pagos (abonos), y esto es tanto para clientes, departamentos contables y para proveedores...

    asi a un cliente le podemos pagar (abonar) un servicio que nos preste...

    y a un proveedor le podemos vender (cargar) un producto que nosotros vendamos, (el proveedor tambien puede ser nuestro cliente)...

    Alli lo mejor es solo usar una tabla para todo mundo, el uso de cuentas y sub-cuentas puede separa a los clientes, proveedores y departamentos dentro de la empresa, por ejemplo la cuenta 1201 y 1202 es unicamente para clientes pero la diferencia esta en que la 1201 es de empleado de planta y la 1202 es para empleado eventual, y aun una sub-cuenta podemos separar a los 1201-001 y a los 1201-002 donde los primeros pueden ser de administracion y los segundos de ventas, choferes, recepcionestas, veladores, produccion, etc.

    miércoles, 18 de julio de 2018 17:32