# ¿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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.velneo.com/36/velneo-vdevelop/buenas-practicas-de-programacion/buenas-practicas-de-rendimiento/buenas-practicas-base-de-datos/cuando-usar-tablas-de-extension.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
