¿Cuándo usar tablas de extensión?

Personalización sin tocar el original

Uno de los mayores deseos de cualquier programador es disponer de una aplicación o módulo estándar y poder personalizar la aplicación a cada cliente manteniendo intacto el módulo estándar. A nivel de base de datos estos es posible hacerlo con las tablas de extensión que generan una tabla con relación 1 a 1 entre la tabla de extensión y su tabla padre.

Los campos que creemos en la tabla de extensión podremos incorporarlos en el interfaz logrando que para el usuario una tabla padre y todas las de extensión que disponga se comporten como una tabla única.

El uso de tablas del tipo maestro de extensión es la forma más óptima de conseguirlo tanto a nivel de programación como de rendimiento en ejecución.

Polimorfismo y reducción de tamaño

Hay tablas que debido a su naturaleza integran registros de múltiples tipos. Podríamos llegar a denominarlas como tabla polimórficas.

Por ejemplo una tabla maestra vehículos, podría tener los datos generales de cualquier vehículo: ejes, cilindrada, combustible, etc. Adicionalmente podríamos tener una tabla para Coches que podría tener los campos Puertas, pasajeros, etc. Otra tabla para Camiones con los campos Tara, Carga máxima, etc. y así sucesivamente.

Otra solución pasaría por tener todos los campos en la tabla de vehículos, pero produciría un tamaño de registro muy grande, que siempre penaliza el rendimiento así como una mayoría de campos vacíos en todos los registros.

Última actualización