Projekce (relační algebra) - Projection (relational algebra)
v relační algebra, a projekce je unární provoz psáno jako kde je sada názvů atributů. Výsledek takové projekce je definován jako soubor získáno, když komponenty n-tice jsou omezeny na sadu - to odhodí (nebo vylučuje) další atributy.[1]
V praxi to lze zhruba považovat za výběr podmnožiny všech dostupných sloupců. Pokud jsou například atributy (jméno, věk), pak projekce vztahu {(Alice, 5), (Bob, 8)} na seznam atributů (věk) přinese {5,8} - jména jsme zahodili, a jen vědět, jaké věky jsou přítomny.
Kromě toho lze projekci použít k úpravě hodnoty atributu: má-li relace R atributy a, b a c a b je číslo, pakvrátí vztah téměř stejný jako R, ale se všemi hodnotami pro 'b' se zmenšil o polovinu.[2]
Související pojmy
Úzce související koncept v teorie množin (vidět: projekce (teorie množin) ) se liší od relační algebra v tom, že v teorii množin se projektuje na uspořádané komponenty, ne na atributy. Například projektování na druhou složku výnosy 7.
Projekce je protějškem relační algebry existenční kvantifikace v predikátová logika. Atributy ne zahrnuty odpovídají existenciálně kvantifikovaným proměnným v predikátu, jehož rozšíření relace operandu představuje. Níže uvedený příklad ilustruje tento bod.
Kvůli korespondenci s existenční kvantifikací některé úřady dávají přednost definování projekce z hlediska vyloučených atributů. V počítačovém jazyce je samozřejmě možné poskytnout notace pro oba, a to bylo provedeno v ISBL a několik jazyků, které se staly základem ISBL.
Téměř identický koncept se vyskytuje v kategorii monoidy, nazvaný a řetězcová projekce, která spočívá v odstranění všech písmen v souboru tětiva které nepatří danému abeceda.
Při implementaci v SQL standard "výchozí projekce" vrátí a multiset místo toho sada a π projekce se získá přidáním ODLIŠNÝ
klíčové slovo eliminovat duplicitní data.
Příklad
Například zvažte vztahy zobrazené v následujících dvou tabulkách, které jsou vztahy Osoba a jeho projekce na (někteří říkají „přes“) atributy Stáří a Hmotnost:
|
|
Předpokládejme, že predikát osoby je „název je stáří let a váží hmotnost„Pak daná projekce představuje predikát,„ Existuje název takhle název je stáří let a váží hmotnost."
Všimněte si, že Harry a Peter mají stejný věk a váhu, ale protože výsledkem je vztah, a tedy množina, tato kombinace se ve výsledku objeví pouze jednou.
Formálněji jsou sémantika projekce definována takto:
kde je omezení n-tice do sady aby
kde je hodnota atributu, je název atributu a je prvek domény tohoto atributu - viz Vztah (databáze).
Výsledek projekce je definován, pouze pokud je podmnožina z záhlaví z .
Projekce přes žádné atributy není možná, čímž se získá relace stupně nula. V tomto případě je mohutnost výsledku nulová, pokud je operand prázdný, jinak jeden. Dva vztahy stupně nula jsou jediné, které nelze zobrazit jako tabulky.
Viz také
Reference
- ^ "Relační algebra". cs.rochester.edu. Citováno 2014-07-28.
- ^ http://www.csee.umbc.edu/~pmundur/courses/CMSC661-02/rel-alg.pdf Viz problém 3.8.B na straně 3