Tupelvariabler är inte en standardfunktion i DBMS (databashanteringssystem) på samma sätt som tabeller, kolumner eller till och med variabler i procedurförlängningar är. Begreppet en "tuplevariabel" är mer en teoretisk eller konceptuell som används i relationsdatabasteori och ibland i diskussioner om frågeformulär.
Här är vad det betyder inom dessa sammanhang:
* Relationell algebra och databasteori: I relationell algebra är en tupel en enda rad i en relation (tabell). En "tuplevariabel" är ett symboliskt namn som tilldelats att representera en * singel * tuple från en relation. Det används i formella beskrivningar av frågor och operationer för att hänvisa till en rad utan att veta dess specifika innehåll i förväg. Till exempel, i en fråga som involverar sammanfogningar, kan en tupelvariabel representera en rad från en tabell som jämförs eller kombineras med rader från en annan tabell.
* Konceptuell modell för frågebehandling: När ett databassystem bearbetar en fråga kan det internt använda tillfälliga variabler för att lagra tuplar som manipuleras. Dessa interna variabler är inte direkt tillgängliga eller manipulerbara av användaren via SQL eller andra databasspråk. De är en del av Query Optimizers interna arbete och är inte "tuplevariabler" i betydelsen av en programmerare som förklarar och använder dem uttryckligen.
* Procedurförlängningar (sällsynt): Vissa DBMS kan ha procedurförlängningar (som lagrade procedurer eller funktioner) skrivna på språk som PL/SQL eller T-SQL. Inom dessa tillägg kan du * * kunna förklara variabler som har värdena på en tupel, men detta är inte en standard tuple -variabel konstruktion. Det skulle vanligtvis innebära att skapa en sammansatt datatyp (post, struktur, etc.) som efterliknar strukturen på en rad och sedan tilldelar radens data till den variabeln. Detta är inte i sig en "tuplevariabel" i samband med databasteori, utan en variabel som * innehåller * tuple -data.
kort sagt: Medan idén om en "tupelvariabel" är användbar för att förklara hur frågor fungerar på en konceptuell nivå eller i formell databasteori, är det inte en direkt stödd funktion inom standard SQL eller Common Databasse Systems. Du förklarar eller använder dem inte direkt inom SQL -frågor. Det som faktiskt händer är att databasmotorn internt hanterar manipulation av enskilda rader (tuples) för att uppnå frågan.