Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/06/2013, 20:01
Avatar de mafima
mafima
 
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años, 8 meses
Puntos: 24
usuarios empleados y clientes modelo E-R que hago?

Hola chicos. Tengo una duda respecto a cual seria la forma mas optima de hacer unas tablas en un software que haremos en PHP mysql ( innodb)

Verán la aplicación tiene dos tipo de usuarios:
Empleados: estos siempre deben acceder a la base de datos meter registros y consultar algunas tablas

Clientes: generalmente harán consultas a algunas tablas y también insertaran algunas cosas a otras. Es i portante que sepan que no todos los clientes tienen acceso al sistema solo algunos

Ambos usuarios necesitan acceder al sistema entonces mi duda es cuantas tablas debo hacer y porque. Estas son las posibilidades que he analizado pero no se cual es la mejor o si hay otra que no haya considerado:

A) crear solo 2 tablas, empleados y trabajadores y que cada una tenga el usuario y la clave para cada usuario. No creo que esta opción sea correcta porque cuando usuario hace algo siempre guardamos el Id de quien lo hizo entonces tendría que crear otro campo para ademas de guardar el Id también guardar el tipo de usuario.

B) Crear 3 tablas, usuarios, empleados, clientes. En la tabla clientes y empleados poner el id del usuario y en la tabla usuarios poner el tipo de usuario es decir si es empleado o cliente.

Esta opción me parece viable pero me deja con un problema, y es que no todos los clientes tienen acceso al sistema entonces en la tabla de clientes donde relaciono el id_usuario tendría campos null

C) creo 3 tablas usuarios, empleados y clientes. En la tabla usuarios dejo un campo para el id del detalle y ademas pongo un campo para el tipo de usuario es decir para saber si empleado o cliente

Creo que esta es la mejor opción. Pero no se como haría una consulta optima para por ejemplo sacar los datos del usuario con un inner sacar el detalle de ese usuario según la tabla que le corresponda por su campo tipo de usuario.

Para mi creo que esta claro que no debo usar solo una tabla por que hay muchos datos que el cliente tiene pero que el empleado no, y visiversa.

M3 pueden ayudar por favor
__________________
SEO en Medellin