Händler-Datenbank (SQL-Beispiel)/Kartesisches Produkt: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 11: | Zeile 11: | ||
===Das Kartesische Produkt=== | ===Das Kartesische Produkt=== | ||
[[Datei:Relational Algebra Cartesian Product.svg | mini|440px |links| gerahmt|Das Kartesische Produkt | [[Datei:Relational Algebra Cartesian Product.svg | mini|440px |links| gerahmt|Das Kartesische Produkt zweier Tabellen]] | ||
<div style="clear:both"></div> | <div style="clear:both"></div> | ||
Das Kartesische Produkt verknüpft alle möglichen Tupelpaare zweier Relationen zu jeweils einem Tupel, das alle Attribute beider Tupel enthält. | Das Kartesische Produkt verknüpft alle möglichen Tupelpaare zweier Relationen zu jeweils einem Tupel, das alle Attribute beider Tupel enthält. | ||
Es seien <math>r := r(a_1: D_{a_1}, \ldots, a_m: D_{a_m})</math> und <math>s := s(b_1: D_{b_1}, \ldots, b_n: D_{b_n}) </math> zwei Relationen, | Es seien <math>r := r(a_1: D_{a_1}, \ldots, a_m: D_{a_m})</math> und <math>s := s(b_1: D_{b_1}, \ldots, b_n: D_{b_n}) </math> zwei Relationen | ||
wobei alle Attributbezeichner verschieden seien. | mit [[Relationale_Algebra#Attributtupel|Attributtupeln]], | ||
Dann heißt | wobei alle Attributbezeichner verschieden seien. Dann heißt | ||
<div class="formula"><math> | <div class="formula"><math> | ||
\begin{align*} | \begin{align*} | ||
s :=\; &\{(a_1: v_{a_1}, \ldots, a_m: v_{a_m}, b_1: v_{b_1}, \ldots, b_n: v_{b_n})\;|\\ | r \times s :=\; &\{(a_1: v_{a_1}, \ldots, a_m: v_{a_m}, b_1: v_{b_1}, \ldots, b_n: v_{b_n})\;|\\ | ||
&\;\;v_{a_1} \in D_{a_1} \wedge \ldots \wedge v_{a_m} \in D_{a_m} \wedge v_{b_1} \in D_{b_1} \wedge \ldots \wedge v_{b_n} \in D_{b_n} \\ | &\;\;v_{a_1}\!\in\!D_{a_1} \wedge \ldots \wedge v_{a_m}\!\in\!D_{a_m} \wedge v_{b_1}\!\in\!D_{b_1} \wedge \ldots \wedge v_{b_n}\!\in\!D_{b_n} \\ | ||
&\} | &\} | ||
\end{align*} | \end{align*} |
Aktuelle Version vom 26. Oktober 2019, 09:54 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 nur teilweise:
Korrektheit: 0 (nicht überprüft) |
Umfang: 0 (viel zu gering) |
Quellenangaben: 3 (wichtige Quellen 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.
Das Kartesische Produkt
Das Kartesische Produkt verknüpft alle möglichen Tupelpaare zweier Relationen zu jeweils einem Tupel, das alle Attribute beider Tupel enthält.
Es seien $ r := r(a_1: D_{a_1}, \ldots, a_m: D_{a_m}) $ und $ s := s(b_1: D_{b_1}, \ldots, b_n: D_{b_n}) $ zwei Relationen mit Attributtupeln, wobei alle Attributbezeichner verschieden seien. Dann heißt
Kartesisches Produkt von $ r $ und $ s $.
Das kartesische Produkt kann analog auch für Positionstupel und attributierte Positionstupel definiert werden. Dem Attribut $ b_i $ wird dabei jeweils die Position $ m+i $ zugeordnet. Falls zwei Relationen gleichbenannte Attribute enthalten, müssen diese zunächst mit einer geeigneten Projektion in einer der beiden Tabellen umbenannt werden.
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), https://kowa.hs-augsburg.de/mmdb/mmdb-beispiele/haendler-datenbank/