Diseño de base de datos similar a un punto de venta

Buen día, el motivo de mi pregunta es la siguiente:
Estoy diseñando una base de datos para algo parecido a un punto de venta, tengo una tabla de empleados con un id_empleados autonumérico, tengo una de clientes, igual con un id_clientes autonumérico y una tabla de ventas, donde guardo ek numero de venta, el monto, entre otras cosas, también guardo el id del cliente al que le estoy vendiendo.
Mi problema es:
Mis empleados también pueden ser clientes, pero no puedo registrar su id por que lo puedo confndir con el id de un cliente, por ejemplo mi empleado "juan" tiene su id=35, y mi cliente "pancho" puede tener un id=35.
No quiero registrar a mis empleados en mi tabla de clientes, para no duplicar datos. Mi pregunta es: ¿Se puede crear una clave autonumérica compuesta? Es decir, mi idea seria crear una clave Cxxxx para clientes y una Exxxx para mis empleados, para poder diferenciarlos, ¿se puede crear este campo? ¿O tendría que hacer otro campo aparte de la llave para poder almacenar la clave como quiero?
Todos los datos generales los guardo en una tabla de personas... creo que podría usar su id_persona, ya que es único, pero tendría que hacer varias vistas y consultas para usar ese id...
Espero su atenta y pronta respuesta, espero poder crear esa clave compuesta, y si no, creo que usar su id_persona seria lo mejor.
Gracias
1

1 respuesta

1
Respuesta de
A ver si ahora sale la respuesta (la he escrito pero ha dado error la página)
Lo que yo haría sería tener 2 veces a la persona: Una como empleado y otra como cliente, pudiendo tener unos valores distintos (domicilio, teléfono, etc...) para cada rol.
Pero eso es una opinión mía y lo que tu pides es algo diferente.
Para lo que quieres hacer, yo crearía un campo 'Número de empleado' en la tabla de clientes que tendría valor 0 para los clientes externos y el "idEmpleado" para los clientes-empleados.
A través de una sencilla consulta podrías recuperar los datos del empleado cada vez que este actúe como cliente.
Un saludo
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Lenguaje SQL o hacer tu propia pregunta: