Händler-Datenbank (SQL-Beispiel)/Projektion: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Kowa (Diskussion | Beiträge) |
||
| Zeile 15: | Zeile 15: | ||
[[File:Relational Algebra Single Table Projection Extended.svg|mini|200px|Allgemeiner: Spalten wie <code>b1</code> können aus anderen Spalten berechnet werden; Duplikatzeilen werden üblicherweise entfernt]] | [[File:Relational Algebra Single Table Projection Extended.svg|mini|200px|Allgemeiner: Spalten wie <code>b1</code> können aus anderen Spalten berechnet werden; Duplikatzeilen werden üblicherweise entfernt]] | ||
Eine Projektionsfunktion | |||
<div class="formula"> | |||
<math>π_{c_1, \ldots, c_k}: R \rightarrow R</math><br /> | |||
</div> | |||
dient dazu, bestimmte Spalten aus einer beliebigen ({{dh}} gespeicherten oder berechneten Tabelle) zu selektieren. | |||
Wenn $r(a_1, \ldots, a_n)$ eine Relation ist und $\{c_1, \ldots, c_k\}$ eine Teilmenge der Attribute $\{a_1, \ldots, a_n\}$, | Wenn $r(a_1, \ldots, a_n)$ eine Relation ist und $\{c_1, \ldots, c_k\}$ eine Teilmenge der Attribute $\{a_1, \ldots, a_n\}$, | ||
dann ist $π_{c_1, \ldots, c_k}(r)$ diejenige Tabelle, die aus $r$ entsteht, wenn man alle übrigen Spalten aus $r$ | dann ist $π_{c_1, \ldots, c_k}(r)$ diejenige Tabelle, die aus $r$ entsteht, wenn man alle übrigen Spalten aus $r$ | ||
entfernt. | entfernt. | ||
Man beachte: Dabei entstehende Duplikate müssen ebenfalls entfernt werden (sofern die realtionale Algebra nicht | |||
multimengenbasiert, sondern mengenbasiert ist). | |||
Projektionsfunktionen können allgemeinder definiert werden: | |||
<div class="formula"> | <div class="formula"> | ||
<math>π_{ | <math>π_{f_1 \rm{as} b_1, \ldots, f_k \rm{as} b_k}: R \rightarrow R</math><br /> | ||
</div> | </div> | ||
$f_i$ ist dabei eine Funktion, die für jedes Tupel | |||
$(v_1:a_1, \ldots, v_n:a_n) \in r$ jeweils einen Wert $f_i((v_1:a_1, \ldots, v_n:a_n))$ berechnet, | |||
der in das Ergebnistupel unter dem Namen $b_i$ eingefügt wird | |||
==Quellen== | ==Quellen== | ||
Version vom 21. März 2019, 16:02 Uhr
Dieser Artikel wird derzeit von einem Autor gründlich bearbeitet. Die Inhalte sind daher evtl. noch inkonsistent.
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen:
| Korrektheit: 4 (großteils überprüft) |
Umfang: 4 (unwichtige Fakten fehlen) |
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 Projektionsfunktion
b1 können aus anderen Spalten berechnet werden; Duplikatzeilen werden üblicherweise entferntEine Projektionsfunktion
$ π_{c_1, \ldots, c_k}: R \rightarrow R $
dient dazu, bestimmte Spalten aus einer beliebigen (d. h. gespeicherten oder berechneten Tabelle) zu selektieren. Wenn $r(a_1, \ldots, a_n)$ eine Relation ist und $\{c_1, \ldots, c_k\}$ eine Teilmenge der Attribute $\{a_1, \ldots, a_n\}$, dann ist $π_{c_1, \ldots, c_k}(r)$ diejenige Tabelle, die aus $r$ entsteht, wenn man alle übrigen Spalten aus $r$ entfernt.
Man beachte: Dabei entstehende Duplikate müssen ebenfalls entfernt werden (sofern die realtionale Algebra nicht multimengenbasiert, sondern mengenbasiert ist).
Projektionsfunktionen können allgemeinder definiert werden:
$ π_{f_1 \rm{as} b_1, \ldots, f_k \rm{as} b_k}: R \rightarrow R $
$f_i$ ist dabei eine Funktion, die für jedes Tupel
$(v_1:a_1, \ldots, v_n:a_n) \in r$ jeweils einen Wert $f_i((v_1:a_1, \ldots, v_n:a_n))$ berechnet,
der in das Ergebnistupel unter dem Namen $b_i$ eingefügt wird
Quellen
- Kowarschick (MMDB-Skript): Wolfgang Kowarschick; Vorlesung Multimedia-Datenbanksysteme – Sommersemester 2018; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2018; Quellengüte: 4 (Skript)
- Kowarschick (MMDB): Wolfgang Kowarschick; Vorlesung „Multimedia-Datenbanksysteme“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2016; Quellengüte: 3 (Vorlesung), http://mmdb.hs-augsburg.de/beispiel/haendler/
