Výběr (relační algebra) - Selection (relational algebra)
v relační algebra, a výběr (někdy nazývané a omezení v odkazu na papír E.F.Codda z roku 1970[1] a ne, na rozdíl od všeobecného přesvědčení, aby nedošlo k záměně s SQL použití SELECT, protože Coddův článek předchází existenci SQL) je a unární provoz který označuje a podmnožina vztahu.
Výběr je zapsán jako nebo kde:
- A a b jsou názvy atributů
- θ je binární operace v sadě
- proti je hodnotová konstanta
- R je vztah
Výběr označuje vše n-tice v R pro který θ drží mezi A a b atribut.
Výběr označuje všechny n-tice v R pro který θ drží mezi A atribut a hodnota proti.
Zvažte například následující tabulky, kde první tabulka dává vztah Osoba, druhá tabulka uvádí výsledek a třetí tabulka uvádí výsledek .
|
|
|
Formálně je sémantika výběru definována takto:
Výsledek výběru je definován pouze v případě, že názvy atributů, které uvádí, jsou v záhlaví vztahu, na kterém působí.
Zobecněný výběr
A zobecněný výběr je unární provoz psáno jako kde je výrokový vzorec který se skládá z atomy jak to umožňuje normální výběr a navíc logické operátory ∧ (a ), ∨ (nebo ) a (negace ). Tento výběr vybere všechny n-tice v R pro který drží.
Zvažte například následující tabulky, kde první tabulka dává vztah Osoba a druhý výsledek .
|
|
Formálně je sémantika zobecněného výběru definována takto:
Výsledek výběru je definován pouze v případě, že atribut jména, která zmiňuje, jsou v záhlaví vztahu, na kterém funguje.
Zobecněný výběr je vyjádřitelný jinými základními algebraickými operacemi. Simulace zobecněného výběru pomocí základních operátorů je definována následujícími pravidly:
Počítačové jazyky
V počítačových jazycích se očekává, že jakýkoli pravdivý výraz je povolen jako podmínka výběru, místo aby jej omezoval na jednoduché srovnání.
v SQL, výběr se provádí pomocí KDE
definice v VYBRAT
, AKTUALIZACE
, a VYMAZAT
prohlášení, ale všimněte si, že podmínka výběru může mít za následek kteroukoli ze tří pravdivých hodnot (skutečný, Nepravdivé a neznámý) místo obvyklých dvou.
v SQL, obecný výběr se provádí pomocí KDE
definice s A
, NEBO
nebo NE
operandy v VYBRAT
, AKTUALIZACE
, a VYMAZAT
prohlášení.
Reference
- ^ Codd, E.F. (Červen 1970). "Relační model dat pro velké sdílené datové banky". Komunikace ACM. 13 (6): 377–387. doi:10.1145/362384.362685.