Blogia
softinspain

Tablas auxiliares

No se si a vosostros os pasará tambien, pero en mis aplicaciones el número de tablas auxiliares crece de forma exponencial respecto a las tablas principales.

Si tomamos una tabla principal, digamos artículos, tenemos 5 o 6 tablas auxiliares, veamos:
- Linea negocio
- Familia
- Subfamilia
- Marca
- Estado (alta, baja, bloqueado, etc...)
- Color (por ejemplo)

Al final decidí hacer un mantenimiento genérico y único para todas estas tablas auxiliares, y es más, las metí todas en una metatabla con la siguiente estructura (mas o menos):

ID -> identificador único del registro
TABLA -> Que tabla es (FML, SBF, MRC, LNG, ...)
NOMBRE -> Descripción
ID_SUP -> indentificador del superior (para estructuras jerárquicas)

Luego utilizando vistas obtengo cada tabla auxiliar allí donde lo necesito.

¿Como lo haceis vosotros?

2 comentarios

Jose Alberto -

Claro que se puede complicar ... :) ¿Hay algo que no acabe complicándose?
De hecho, en varias de las aplicaciones, la estructura de dicha tabla ha acabado teniendo campos que sólo me sirven para una de las "variantes", pero aún así pienso que compensa.
Ademas si se trabaja con OOP y "mapeando" los objetos con tablas, hacer "metatablas" permite guardar herencias y relaciones de forma más flexible. Este es otro buen tema para tratar, el "mapeado" de objetos en tablas de BD.

José Luis Sánchez -

Pues más o nenos asi. Cuando puedes agrupar varias tablas auxiliares lo hago y luego tiro de vistas, o de scopes para los xbaseros. Es una buena solución inicial pero a la larga se te puede complicar.