O que é uma tabela DUAL?
A tabela DUAL é uma tabela especial exclusiva para bancos de dados Oracle® que possui apenas uma coluna e uma linha; portanto, apenas um dado está lá. O principal motivo da tabela DUAL é a conveniência, pois facilita a codificação de certas funções do banco de dados. Ao contrário de outras tabelas no banco de dados, que devem ser modificadas e alteradas, a seção DUAL não deve ser alterada. Se esta seção for alterada, poderão ocorrer erros terríveis e o banco de dados inteiro poderá eventualmente ficar corrompido. A seção DUAL é usada principalmente em conjunto com pseudo-colunas e cálculos que precisam de uma tabela.
Na tabela DUAL, há apenas uma linha e uma coluna, portanto, ele possui apenas uma única informação. Por padrão, a coluna é chamada DUMMY e o valor contido na célula é X, o que a torna útil para cálculos baseados em X. SYS, abreviação de "system", é o proprietário da célula DUAL. Todos os dados do SYS devem ser deixados em paz e não alterados.
Os usuários podem alterar as informações da tabela DUAL com algumas fórmulas simples e podem injetar suas próprias informações na célula. Embora isso possa ser feito, não é para ser e nunca deveria ser. Se o X padrão for alterado para qualquer outra coisa, poderão ocorrer problemas catastróficos com o banco de dados, incluindo a corrupção dos dados. Isso ocorre porque o DUAL é usado automaticamente em algumas fórmulas e, se o X for diferente, o código corrompido será introduzido no banco de dados.
Em muitas consultas ou fórmulas de banco de dados, é necessária uma cláusula FROM. Normalmente, quando essa cláusula é usada em um banco de dados para a consulta, uma tabela deve ser especificada. A tabela é onde o cálculo é feito ou de onde vem a informação, e é por isso que é necessária na maioria das funções normais. Se uma tabela não for necessária ou não for necessária para o cálculo, a tabela DUAL poderá ser especificada. Isso permitirá que a consulta funcione sem a introdução de uma tabela.
Juntamente com as consultas, a tabela DUAL oferece outra vantagem. É necessária menos codificação para usar uma seção DUAL e, embora a codificação seja pequena, bancos de dados maiores terão desempenho aprimorado. Com menos codificação de consulta, o banco de dados poderá trabalhar mais rapidamente. Também é útil em cálculos que possuem números inteiros consistentes e que podem usar o número X em branco sem exigir que a célula seja alterada.