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:

názevStáříHmotnost
Harry34180
Výpad28164
Jiří28170
Helena54154
Petr34180
StáříHmotnost
34180
28164
28170
54154

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

  1. ^ "Relační algebra". cs.rochester.edu. Citováno 2014-07-28.
  2. ^ http://www.csee.umbc.edu/~pmundur/courses/CMSC661-02/rel-alg.pdf Viz problém 3.8.B na straně 3