tabla con llave foranea con multiples tabas relacionables

Iniciado por Yorch747, 22 Agosto 2014, 23:51 PM

0 Miembros y 1 Visitante están viendo este tema.

Yorch747

hey!, tengo una duda en cuanto a diseño de una tabla con una clave foránea que pueda tener la posibilidad de "apuntar" a la llave privada de tablas:

me explico, imaginemos por ejemplo tenemos:
Direcciones[calle, numero, etc...] y esta con una cave foránea [direccionablePK]
y tener varias tablas de entidades que pueden tener una dirección
por ejemplo:

cliente[PKcliente, nombre, tipo]
empresa[PKempresa, nombre]
empleado[PKempleado,nombre, puesto, etc...]

Los tres tiene una dirección, pero duplicar la tabla de direcciones se me hace redundante, es por eso que planté usar un UUID para todas las claves primarias de las entidades direccionablePK así no podría haber conflicto con que un cliente, empresa y empleado tengan el mismo id...
Pero, Cómo le digo al SQL server o My esql que esa clave foránea puede "apuntar" a un cliente, o empresa o empleado, es decir para restringir el registro de una dirección sin registro primario.

es posible hacer esto?

y como lo tomaría un ORM como Hibernate?