Tablas primarias del tipo que mencionas, si bien casi nunca son editadas, no implica que no sean usadas en una consulta. Me explico:
Supongamos una base de datos académica, en la cual se puedan almacenar los tipos de cargo (Profesor titular, Adjunto, Jefe de Trabajos Prácticos, etc.). Si bien es muy poco probable que la misma sufra variaciones a través del tiempo, eso no implica que se deba evitar tenerla por la simple razón que si no estarías obligando cada vez que ingrese un docente a una cátedra a poner
manualmente el tipo de cargo que tiene. El inconveniente de eso es que deberás lidiar con el elemento de mayor
entropía de un sistema:
El ser humano. Es muy habitual que los data entry abrevien los cargos (Porf. Tit, o bien Prof. Ttlar.), o simplemente lo ingresen mal y una entrada de tipo alfanumérica no es fácilmente detectable. En cambio, si lo que ingresas es un número, la cosa cambia:
Código:
ID DESCRIPCION
1 Profesor titular
2 Profesor adjunto
3 jefe de trabajos prácticos.
Obviamente cuando se hace el listado de una consulta, lo que se hace es enlazar los ID entre ambas tablas y se tiene un listado coherente.
¿Se entiende la idea?
SIEMPRE existen en todo sistema este tipo de tablas y SIEMPRE se usan, porque nadie va a ponerse a memorizar los códigos de todos los empleados y sus categorías de memoria, y los data entry siempre cometen errores que luego dan lugar a información inconsistente.
En definitiva, el objeto de esas tablas es minimizar los errores y disminuir el efecto "Ley de Murphy"...