Co je DUAL tabulka?
Tabulka DUAL je speciální tabulka exkluzivně pro databáze Oracle®, která má pouze jeden sloupec a jeden řádek, takže je zde pouze jeden kus počátku. Hlavním důvodem tabulky DUAL je pohodlí, protože usnadňuje kódování určitých databázových funkcí. Na rozdíl od jiných tabulek v databázi, které mají být upraveny a změněny, by se část DUAL neměla měnit. Pokud se tato část změní vůbec, mohou nastat strašné chyby a celá databáze se může nakonec poškodit. Sekce DUAL se používá především ve spojení s pseudo sloupci a výpočty, které vyžadují tabulku.
V tabulce DUAL je pouze jeden řádek a jeden sloupec, takže obsahuje pouze jednu informaci. Ve výchozím nastavení se sloupec nazývá DUMMY a hodnota obsažená v buňce je X, což je užitečné pro výpočty založené na X. SYS, zkratka pro „system“, je vlastníkem buňky DUAL. Všechna data SYS jsou určena k tomu, aby zůstala sama a neměla se měnit.
Uživatelé jsou schopni změnit informace tabulky DUAL pomocí několika jednoduchých vzorců a mohou do buňky vložit své vlastní informace. I když je to možné, není to zamýšleno a nikdy by nemělo být. Pokud se výchozí X změní na cokoli jiného, mohou se vyskytnout katastrofické problémy s databází, včetně poškození dat. Důvodem je, že DUAL se v některých vzorcích používá automaticky, a pokud se X liší, bude do databáze zaveden poškozený kód.
V mnoha databázových dotazech nebo vzorcích je vyžadována klauzula FROM. Normálně, pokud se tato klauzule používá v databázi pro dotaz, musí být uvedena tabulka. V tabulce je místo, kde se provádí výpočet, nebo kde informace pocházejí, a proto je potřeba ve většině běžných funkcí. Pokud tabulka není pro výpočet potřebná nebo není vyžadována, lze zadat tabulku DUAL. To umožní dotazu pracovat bez zavedení tabulky.
Spolu s dotazy nabízí tabulka DUAL další výhodu. K použití sekce DUAL je potřeba méně kódování a zatímco kódování je malé, u větších databází bude vidět lepší výkon. S menším kódováním dotazů bude databáze schopna pracovat rychleji. Je také užitečný ve výpočtech, které mají konzistentní celá čísla a ve výpočtech, které mohou využívat prázdné celé číslo X bez nutnosti změny buňky.