¿Qué es una mesa DUAL?

La tabla DUAL es una tabla especial exclusiva de las bases de datos de Oracle® que tiene solo una columna y una fila, por lo que solo una pieza de datum está allí. La razón principal de la tabla DUAL es la conveniencia, porque facilita la codificación de ciertas funciones de la base de datos. A diferencia de otras tablas de la base de datos, que deben modificarse y cambiarse, no se supone que la sección DUAL se modifique. Si esta sección se cambia en absoluto, pueden ocurrir errores terribles y la base de datos entera puede eventualmente dañarse. La sección DUAL se usa principalmente junto con pseudocolumnas y cálculos que necesitan una tabla.

En la tabla DUAL, solo hay una fila y una columna, por lo que solo tiene una única pieza de información. De forma predeterminada, la columna se llama DUMMY y el valor contenido dentro de la celda es X, lo que la hace útil para cálculos basados ​​en X. SYS, abreviatura de «sistema», es el propietario de la celda DUAL. Todos los datos de SYS deben dejarse tranquilos y no cambiarse.

Los usuarios pueden cambiar la información de la tabla DUAL con algunas fórmulas simples y pueden inyectar su propia información en la celda. Si bien esto se puede hacer, no está destinado a ser y nunca debe ser. Si la X predeterminada se cambia a otra cosa, pueden ocurrir problemas catastróficos con la base de datos, incluida la corrupción de los datos. Esto se debe a que DUAL se usa automáticamente en algunas fórmulas y, si la X es diferente, se introducirá código corrupto en la base de datos.

En muchas consultas o fórmulas de bases de datos, se requiere una cláusula FROM. Normalmente, cuando se utiliza esta cláusula en una base de datos para la consulta, se debe especificar una tabla. La tabla es donde se realiza el cálculo, o de donde proviene la información, por lo que es necesaria en la mayoría de las funciones normales. Si no se necesita una tabla o no se requiere para el cálculo, entonces se puede especificar la tabla DUAL. Esto permitirá que la consulta funcione sin introducir una tabla.

Junto con las consultas, la tabla DUAL ofrece otra ventaja. Se necesita menos codificación para usar una sección DUAL y, aunque la codificación es leve, las bases de datos más grandes verán un rendimiento mejorado. Con menos codificación de consultas, la base de datos podrá funcionar más rápido. También es útil en cálculos que tienen enteros consistentes y aquellos que pueden hacer uso del entero X en blanco sin requerir que la celda cambie.