Tiene razón:la n.º 1 es la mejor opción.
De acuerdo, lo cuestionaría a primera vista (debido a los atajos), pero conocer la regla comercial para garantizar que un empleado solo esté relacionado con una empresa tiene sentido.
Además, tendría una clave externa que relaciona el ID de la empresa en la tabla de empleados con el ID de la empresa en la tabla de la oficina. De lo contrario, permite que un empleado esté relacionado con una empresa sin oficina. A menos que eso sea aceptable...
Los disparadores son el último recurso si la relación no se puede demostrar en el modelo de datos, y el mantenimiento de la lógica desde la aplicación significa que la lógica está centralizada:no hay posibilidad de que se produzcan datos incorrectos, a menos que alguien elimine las restricciones (lo que significa que tiene problemas mayores). ).