Catálogo de catálogos

laloivol
29 de Septiembre del 2008
Hola! Espero me puedan ayudar con el diseño de mi BD.
Estoy creando una base de datos relacional en la que tengo 15 catálogos, todos ellos tienen una estructura idéntica: un "id" numérico y un "valor" alfanumérico. Cada catálogo lo tengo en este momento en una tabla diferente: sexo, estado, prioridad... etc.
Me gustaría dejar preparado el diseño de la base de datos para agregar nuevos catálogos sin necesidad de crear nuevas tablas, y para ello pensé en un catálogo de catálogos. Es decir, una tabla "CATALOGO" que contenga un id y el nombre del catálogo, donde tendría valores como (1,'sexo') (2,'estado') (3,'prioridad'), y como complemento otra tabla que sea VALOR_DE_CATALOGO donde tenga los posibles valores para cada catálogo, con las columnas id, id_catalogo y valor, de manera que tendría valores como (1,1,'masculino') (2,1,'femenino') (3,2,'cerrado'), etc. De tal manera que si requiero algún valor de estos catálogos en otra tabla, sería una referencia a la tabla VALOR_DE_CATALOGO. Es decir, si tuviera una tabla QUEJA, entonces tendría 2 llaves foráneas hacia VALOR_DE_CATALOGO, uno para el estado y otro para la prioridad.
Pero ¿cómo podría hacer para restringir el catálogo que está asociado a esa llave foránea, es decir, que en la columna PRIORIDAD no se escriba un valor del catálogo "sexo"?
Muchas gracias y de verdad espero que me puedan ayudar.