Wat is een DUAL-tafel?
De DUAL-tabel is een speciale tabel exclusief voor Oracle®-databases die slechts één kolom en één rij heeft, dus er zit slechts één stuk datum in. De belangrijkste reden voor de DUAL-tabel is gemak, omdat het coderen van bepaalde databasefuncties eenvoudiger maakt. In tegenstelling tot andere tabellen in de database, die zijn bedoeld om te worden aangepast en gewijzigd, is het niet de bedoeling dat de DUAL-sectie wordt gewijzigd. Als deze sectie helemaal wordt gewijzigd, kunnen er vreselijke fouten optreden en kan de hele database uiteindelijk beschadigd raken. De sectie DUAL wordt voornamelijk gebruikt in combinatie met pseudokolommen en berekeningen waarvoor een tabel nodig is.
In de DUAL-tabel is er slechts één rij en één kolom, dus deze bevat slechts één stuk informatie. Standaard wordt de kolom DUMMY genoemd en is de waarde in de cel X, wat het handig maakt voor op X gebaseerde berekeningen. SYS, de afkorting van "system", is de eigenaar van de DUAL-cel. Het is de bedoeling dat alle SYS-gegevens met rust worden gelaten en niet worden gewijzigd.
Gebruikers kunnen DUAL-tabelinformatie wijzigen met een paar eenvoudige formules en kunnen hun eigen informatie in de cel injecteren. Hoewel dit kan worden gedaan, is het niet de bedoeling en zou het ook nooit moeten zijn. Als de standaard X in iets anders wordt gewijzigd, kunnen er catastrofale problemen optreden met de database, waaronder corruptie van de gegevens. Dit komt omdat DUAL in sommige formules automatisch wordt gebruikt en als de X anders is, wordt beschadigde code in de database geïntroduceerd.
In veel databasequery's of formules is een FROM-component vereist. Normaal gesproken moet, wanneer deze clausule in een database voor de query wordt gebruikt, een tabel worden opgegeven. De tabel is waar de berekening wordt uitgevoerd, of waar de informatie vandaan komt, daarom is het nodig in de meeste normale functies. Als een tabel niet nodig of niet vereist is voor de berekening, kan de DUAL-tabel worden opgegeven. Hierdoor kan de query werken zonder een tabel te introduceren.
Naast vragen biedt de DUAL-tafel nog een voordeel. Er is minder codering nodig om een DUAL-sectie te gebruiken en, hoewel de codering klein is, zullen grotere databases betere prestaties leveren. Met minder query-codering kan de database sneller werken. Het is ook handig in berekeningen met consistente gehele getallen en die waarbij het lege X-geheel getal kan worden gebruikt zonder dat de cel hoeft te worden gewijzigd.