Os cuento el subesquema de agencia y como estamos planteándonos una posible solución (tanto para este y para otros). Este subesquema tiene un 5 niveles:
- nivel 1: org1_tipo_agencia
- nivel2: org2_agencia
- nivel 3: org3_firma
- nivel 4: org4_firma_persona (es una relacion n:n, una versona puede tener varias firmas)
- nivel 5: org5_persona
Resulta que este subesquema se relaciona con otros subesquemas de la base de datos (recursos, niveles de zona, permisos, funcionalidades, etc.) a distintos niveles, es decir, una persona puede tener ciertos privilegios siempre, independientemente de su firma o una agencia puede declinar los permisos a sus firmas si así se decide.
La cuestión es que nos estamos planteando crear una tabla de niveles de agencia "organization_level", en donde ésta apunta o tiene claves foráneas a estas 5 tablas y ademas hemos creado un campo nivel para que nos identifique el nivel. Luego esta tabla se relacionaría con el resto de subesquemas de la base de datos y facilitaría las tareas de desarrollo.
Creemos que no es del todo correcto pero nos parece una solución dinámica y funcional para relacionar en la base de datos y para los desarrolladores.
¿Que os parece?, ¿creéis que hay otra solución o alternativa más eficaz?
Un saludo y gracias de antemano