Händler-Datenbank (SQL-Beispiel)/Selektion: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 14: | Zeile 14: | ||
In jeder [[Relationale Algebra#Selektion|Relationalen Algebra]] gibt es [[unendlich]] viele (üblicherweise [[abzählbar]] viele) partielle '''Selektionsfunktionen'''. | In jeder [[Relationale Algebra#Selektion|Relationalen Algebra]] gibt es [[unendlich]] viele (üblicherweise [[abzählbar]] viele) partielle '''Selektionsfunktionen'''. | ||
Es sein $b$ eine Funktion, die jedem Tupel der Art $(a_1:v_1, \ldots, a_n:v_n)$ einen [[Boolean|booleschen Wert]] (<code>true</code>/$\top$, <code>false</code>/$\bot$, <code>unknown</code>/<math>U</math>) zuweist. Dabei seien $a_1, \ldots a_n$ Attributnamen und $v_1, \ldots v_n$ Werte der zugehörigen [[Domäne]]n. | Es sein $b$ eine Funktion, die jedem Tupel der Art $(a_1:v_1, \ldots, a_n:v_n)$ einen [[Boolean|booleschen Wert]] (<code>true</code>/$\top$, <code>false</code>/$\bot$, <code>unknown</code>/<math>U</math>) zuweist. Dabei seien $a_1, \ldots a_n$ Attributnamen und $v_1, \ldots v_n$ Werte der zugehörigen [[Domäne]]n $D_1, \ldots D_n$. | ||
Die Selektionsfunktion | Die Selektionsfunktion | ||
<div class="formula"> | <div class="formula"> | ||
| Zeile 22: | Zeile 22: | ||
ob die Bedingungsfunktion $b$ für das jeweilige Tupel den Wert <code>true</code> liefert: $b((a_1:v_1, \ldots, a_n:v_n)) = \top$. | ob die Bedingungsfunktion $b$ für das jeweilige Tupel den Wert <code>true</code> liefert: $b((a_1:v_1, \ldots, a_n:v_n)) = \top$. | ||
Ist dies der Fall, so wird das entsprechende Tupel in die Ergebnisrelation eingefügt, anderenfalls wird es „entfernt“. | Ist dies der Fall, so wird das entsprechende Tupel in die Ergebnisrelation eingefügt, anderenfalls wird es „entfernt“. | ||
Für Relationen die Tupel anderer Bauart enthalten, {{dh}} andere Attribute oder gleichnamige Attribute mit nicht-kompatiblen Domänen, ist die Selektionsfunktion | |||
$σ_b$ nicht definiert. | |||
== Beispiele bezüglich der [[Händler-Datenbank (SQL-Beispiel)|Händler-Datenbank]]== | == Beispiele bezüglich der [[Händler-Datenbank (SQL-Beispiel)|Händler-Datenbank]]== | ||
{{TBD}} | {{TBD}} | ||
Version vom 11. Juli 2019, 16:06 Uhr
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:
| Korrektheit: 0 (nicht überprüft) |
Umfang: 0 (viel zu gering) |
Quellenangaben: 4 (fast vollständig vorhanden) |
Quellenarten: 5 (ausgezeichnet) |
Konformität: 5 (ausgezeichnet) |
Die nachfolgenden Beispiele können beispielsweise mit SQLite oder PostgreSQL getestet werden. Installieren Sie dazu die zugehörige Händler-Datenbank.
Die Selektionsfunktion
In jeder Relationalen Algebra gibt es unendlich viele (üblicherweise abzählbar viele) partielle Selektionsfunktionen.
Es sein $b$ eine Funktion, die jedem Tupel der Art $(a_1:v_1, \ldots, a_n:v_n)$ einen booleschen Wert (true/$\top$, false/$\bot$, unknown/$ U $) zuweist. Dabei seien $a_1, \ldots a_n$ Attributnamen und $v_1, \ldots v_n$ Werte der zugehörigen Domänen $D_1, \ldots D_n$.
Die Selektionsfunktion
$ σ_b: R \rightharpoonup R $
überprüft für jedes Tupel $(a_1:v_1, \ldots, a_n:v_n)$ einer Relation $r$, die nur Tupel dieser Art enthält,
ob die Bedingungsfunktion $b$ für das jeweilige Tupel den Wert true liefert: $b((a_1:v_1, \ldots, a_n:v_n)) = \top$.
Ist dies der Fall, so wird das entsprechende Tupel in die Ergebnisrelation eingefügt, anderenfalls wird es „entfernt“.
Für Relationen die Tupel anderer Bauart enthalten, d. h. andere Attribute oder gleichnamige Attribute mit nicht-kompatiblen Domänen, ist die Selektionsfunktion $σ_b$ nicht definiert.
Beispiele bezüglich der Händler-Datenbank
TO BE DONE
