Saludos!!
Tengo que modelar el sistema de clasificadores económicos de las Naciones Unidas se basa en un compendio de códigos utilizados para identificar actividades económicas, productos comerciales, ocupaciones laborales, entre otras.
Los clasificadores siguen una estructura jerárquica de multiniveles. La estructura del código generalmente es dispuesta de manera que el código explique de manera visual la jerarquía. Por ejemplo el clasificador ISIC (CIIU en español, que significa Clasificador Industrial Internacional Uniforme) se estructura de la siguiente manera:
Tabulation Category: A - Agriculture, hunting and forestry
Division: 01 - Agriculture, hunting and related service activities
Group: 011 - Growing of crops; market gardening; horticulture
Class: 0111 - Growing of cereals and other crops n.e.c.
Cada nivel de clasificación recibe un nombre específico, que puede cambiar dependiendo de la versión del clasificador y los niveles inferiores contienen notas explicativas.
Adicionalmente, cada clasificador tiene versiones. Por ejemplo el clasificador ISIC tiene 4 versiones desde que fue creado en 1968 y hay equivalencias entre los renglones de cada versión de clasificador. Por ejemplo, lo que en la versión 1 era el código 1, en la versión 4 es identificado con el código A.
Ahora hasta ahora tengo una tabla recursiva como sigue:
CLASIFICACION
--------------------------------------------------------
(PK) codigo_clasificacion: varchar(4)
(FK) clasificacion_superior: varchar(4)
descripcion: varchar(100)
nivel: varchar(20)
--------------------------------------------------------
Pero lo que no entiendo es como modelar la cuestion de las versiones, de manera de poder almacenar cada version de codigo.