Che cos’è un tavolo DUAL?

La tabella DUAL è una tabella speciale esclusiva dei database Oracle® che ha solo una colonna e una riga, quindi è presente solo un dato. Il motivo principale per la tabella DUAL è la comodità, perché semplifica la codifica di determinate funzioni del database. A differenza di altre tabelle nel database, che dovrebbero essere modificate e cambiate, la sezione DUAL non dovrebbe essere alterata. Se questa sezione viene modificata, possono verificarsi errori terribili e l’intero database potrebbe danneggiarsi. La sezione DUAL viene utilizzata principalmente in combinazione con pseudo colonne e calcoli che richiedono una tabella.

Nella tabella DUAL, c’è solo una riga e una colonna, quindi ha solo una singola informazione. Per impostazione predefinita, la colonna è denominata DUMMY e il valore contenuto all’interno della cella è X, il che la rende utile per i calcoli basati su X. SYS, abbreviazione di “sistema”, è il proprietario della cella DUAL. Tutti i dati SYS devono essere lasciati soli e non modificati.

Gli utenti sono in grado di modificare le informazioni della tabella DUAL con poche semplici formule e possono inserire le proprie informazioni nella cella. Anche se questo può essere fatto, non è destinato a esserlo e non dovrebbe mai esserlo. Se l’X predefinito viene modificato in qualcos’altro, possono verificarsi problemi catastrofici con il database, inclusa la corruzione dei dati. Questo perché DUAL viene utilizzato automaticamente in alcune formule e, se la X è diversa, verrà introdotto nel database del codice danneggiato.

In molte query o formule di database, è richiesta una clausola FROM. Normalmente, quando questa clausola viene utilizzata in un database per la query, è necessario specificare una tabella. La tabella è dove viene eseguito il calcolo o da dove provengono le informazioni, motivo per cui è necessaria nella maggior parte delle funzioni normali. Se una tabella non è necessaria o non è richiesta per il calcolo, è possibile specificare la tabella DUAL. Ciò consentirà alla query di funzionare senza introdurre una tabella.

Insieme alle query, la tabella DUAL offre un altro vantaggio. È necessaria meno codifica per utilizzare una sezione DUAL e, sebbene la codifica sia leggera, i database più grandi vedranno prestazioni migliorate. Con una minore codifica delle query, il database sarà in grado di funzionare più rapidamente. È anche utile nei calcoli che hanno numeri interi coerenti e in quelli che possono utilizzare l’intero X vuoto senza richiedere la modifica della cella.