Relationale Algebra

Werbung
Relationale Algebra
Josef F. Bürgler
Hochschule Luzern, Technik & Architektur
Abt. Informatik
Datenmanagement - Sommersemester
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
1 / 45
Inhalt
1
Einführung
2
Vereinigung
3
Durchschnitt
4
Differenz
5
Kreuzprodukt
6
Selektion
7
Projektion
8
Umbenennung
9
Relationenalgebra
10
Verbund (Join)
11
Division
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
2 / 45
Ziele
Ziele - Die StudentIn
versteht wann und wie man übliche Mengenoperationen wie
Vereinigung, Durchschnitt und Differenz auf Relationen
übertragen kann
versteht wie man Relationen mittels Auswahl und Projektion
verkleinern kann
versteht, wie man zwei Relationen zu einer einzigen Relationen
via Kreuzprodukt oder Join verknüpft
Kann Relationenalgebraische Ausdrücke umrechnen oder
äquivalent darstellen
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
3 / 45
Ziele
Ziele - Die StudentIn
versteht wann und wie man übliche Mengenoperationen wie
Vereinigung, Durchschnitt und Differenz auf Relationen
übertragen kann
versteht wie man Relationen mittels Auswahl und Projektion
verkleinern kann
versteht, wie man zwei Relationen zu einer einzigen Relationen
via Kreuzprodukt oder Join verknüpft
Kann Relationenalgebraische Ausdrücke umrechnen oder
äquivalent darstellen
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
3 / 45
Ziele
Ziele - Die StudentIn
versteht wann und wie man übliche Mengenoperationen wie
Vereinigung, Durchschnitt und Differenz auf Relationen
übertragen kann
versteht wie man Relationen mittels Auswahl und Projektion
verkleinern kann
versteht, wie man zwei Relationen zu einer einzigen Relationen
via Kreuzprodukt oder Join verknüpft
Kann Relationenalgebraische Ausdrücke umrechnen oder
äquivalent darstellen
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
3 / 45
Ziele
Ziele - Die StudentIn
versteht wann und wie man übliche Mengenoperationen wie
Vereinigung, Durchschnitt und Differenz auf Relationen
übertragen kann
versteht wie man Relationen mittels Auswahl und Projektion
verkleinern kann
versteht, wie man zwei Relationen zu einer einzigen Relationen
via Kreuzprodukt oder Join verknüpft
Kann Relationenalgebraische Ausdrücke umrechnen oder
äquivalent darstellen
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
3 / 45
Einführung
Outline
1
Einführung
2
Vereinigung
3
Durchschnitt
4
Differenz
5
Kreuzprodukt
6
Selektion
7
Projektion
8
Umbenennung
9
Relationenalgebra
10
Verbund (Join)
11
Division
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
4 / 45
Einführung
Relationale Algebra und Relationenkalkül
Sprache mit der man Informationen aus einer Datenbank
extrahieren kann.
Datenmanipulationssprache (DML) um Informationen Einfügen,
Verändern und Löschen zu können.
Zwei formale Sprachen für die Formulierung von Anfragen in
relationalen Datenbanken:
1
relationale Algebra (Relationenalgebra) - prozedural orientiert
(Abarbeitungsplan, Anfrageoptimierung).
2
Relationenkalkül - deklarative Sprache mit der spezifiziert wird,
welche Daten man erhalten will aber nicht, wie die Anfrage
ausgewertet werden kann.
Beide Sprachen sind abgeschlossen, d.h. die Ergebnisse der Anfragen
sind wieder Relationen.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
5 / 45
Einführung
Relationale Algebra und Relationenkalkül
Sprache mit der man Informationen aus einer Datenbank
extrahieren kann.
Datenmanipulationssprache (DML) um Informationen Einfügen,
Verändern und Löschen zu können.
Zwei formale Sprachen für die Formulierung von Anfragen in
relationalen Datenbanken:
1
relationale Algebra (Relationenalgebra) - prozedural orientiert
(Abarbeitungsplan, Anfrageoptimierung).
2
Relationenkalkül - deklarative Sprache mit der spezifiziert wird,
welche Daten man erhalten will aber nicht, wie die Anfrage
ausgewertet werden kann.
Beide Sprachen sind abgeschlossen, d.h. die Ergebnisse der Anfragen
sind wieder Relationen.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
5 / 45
Einführung
Relationale Algebra und Relationenkalkül
Sprache mit der man Informationen aus einer Datenbank
extrahieren kann.
Datenmanipulationssprache (DML) um Informationen Einfügen,
Verändern und Löschen zu können.
Zwei formale Sprachen für die Formulierung von Anfragen in
relationalen Datenbanken:
1
relationale Algebra (Relationenalgebra) - prozedural orientiert
(Abarbeitungsplan, Anfrageoptimierung).
2
Relationenkalkül - deklarative Sprache mit der spezifiziert wird,
welche Daten man erhalten will aber nicht, wie die Anfrage
ausgewertet werden kann.
Beide Sprachen sind abgeschlossen, d.h. die Ergebnisse der Anfragen
sind wieder Relationen.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
5 / 45
Einführung
Relationale Algebra und Relationenkalkül
Sprache mit der man Informationen aus einer Datenbank
extrahieren kann.
Datenmanipulationssprache (DML) um Informationen Einfügen,
Verändern und Löschen zu können.
Zwei formale Sprachen für die Formulierung von Anfragen in
relationalen Datenbanken:
1
relationale Algebra (Relationenalgebra) - prozedural orientiert
(Abarbeitungsplan, Anfrageoptimierung).
2
Relationenkalkül - deklarative Sprache mit der spezifiziert wird,
welche Daten man erhalten will aber nicht, wie die Anfrage
ausgewertet werden kann.
Beide Sprachen sind abgeschlossen, d.h. die Ergebnisse der Anfragen
sind wieder Relationen.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
5 / 45
Einführung
Relationale Algebra und Relationenkalkül
Sprache mit der man Informationen aus einer Datenbank
extrahieren kann.
Datenmanipulationssprache (DML) um Informationen Einfügen,
Verändern und Löschen zu können.
Zwei formale Sprachen für die Formulierung von Anfragen in
relationalen Datenbanken:
1
relationale Algebra (Relationenalgebra) - prozedural orientiert
(Abarbeitungsplan, Anfrageoptimierung).
2
Relationenkalkül - deklarative Sprache mit der spezifiziert wird,
welche Daten man erhalten will aber nicht, wie die Anfrage
ausgewertet werden kann.
Beide Sprachen sind abgeschlossen, d.h. die Ergebnisse der Anfragen
sind wieder Relationen.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
5 / 45
Einführung
Relationale Algebra und Relationenkalkül
Sprache mit der man Informationen aus einer Datenbank
extrahieren kann.
Datenmanipulationssprache (DML) um Informationen Einfügen,
Verändern und Löschen zu können.
Zwei formale Sprachen für die Formulierung von Anfragen in
relationalen Datenbanken:
1
relationale Algebra (Relationenalgebra) - prozedural orientiert
(Abarbeitungsplan, Anfrageoptimierung).
2
Relationenkalkül - deklarative Sprache mit der spezifiziert wird,
welche Daten man erhalten will aber nicht, wie die Anfrage
ausgewertet werden kann.
Beide Sprachen sind abgeschlossen, d.h. die Ergebnisse der Anfragen
sind wieder Relationen.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
5 / 45
Einführung
Typ-kompatible Relationen
Begriff um Mengenoperationen bei Relationen sinnvoll einzuführen.
Definition (typ-kompatibel)
Zwei Relationen R und S heissen typ-kompatibel, wenn R und S
Teilmengen des selben Kreuzproduktes M1 × M2 × · · · × Mn von
Mengen Mi (i = 1, 2, . . . , n) sind.
Definition (typ-kompatibel)
Zwei Symmetrieklassen (siehe 3. Teil Relationale Algebra) von
Relationen [R] und [S] heissen typ-kompatibel, wenn Relationen
R ′ ∈ [R] und S ′ ∈ [S] derart existieren, dass R ′ typ-kompatibel zu S ′
ist.
Im Datenbankumfeld sagt man: R und S haben das selbe Schema und
schreibt sch(R) = sch(S). Dabei entspricht das Schema einer
Relation der Menge der Attribute R = sch(R) = {A1 , A2 , . . . , An } und
es gilt Mi = dom(Ai ).
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
6 / 45
Einführung
Typ-kompatible Relationen
Begriff um Mengenoperationen bei Relationen sinnvoll einzuführen.
Definition (typ-kompatibel)
Zwei Relationen R und S heissen typ-kompatibel, wenn R und S
Teilmengen des selben Kreuzproduktes M1 × M2 × · · · × Mn von
Mengen Mi (i = 1, 2, . . . , n) sind.
Definition (typ-kompatibel)
Zwei Symmetrieklassen (siehe 3. Teil Relationale Algebra) von
Relationen [R] und [S] heissen typ-kompatibel, wenn Relationen
R ′ ∈ [R] und S ′ ∈ [S] derart existieren, dass R ′ typ-kompatibel zu S ′
ist.
Im Datenbankumfeld sagt man: R und S haben das selbe Schema und
schreibt sch(R) = sch(S). Dabei entspricht das Schema einer
Relation der Menge der Attribute R = sch(R) = {A1 , A2 , . . . , An } und
es gilt Mi = dom(Ai ).
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
6 / 45
Einführung
Typ-kompatible Relationen
Begriff um Mengenoperationen bei Relationen sinnvoll einzuführen.
Definition (typ-kompatibel)
Zwei Relationen R und S heissen typ-kompatibel, wenn R und S
Teilmengen des selben Kreuzproduktes M1 × M2 × · · · × Mn von
Mengen Mi (i = 1, 2, . . . , n) sind.
Definition (typ-kompatibel)
Zwei Symmetrieklassen (siehe 3. Teil Relationale Algebra) von
Relationen [R] und [S] heissen typ-kompatibel, wenn Relationen
R ′ ∈ [R] und S ′ ∈ [S] derart existieren, dass R ′ typ-kompatibel zu S ′
ist.
Im Datenbankumfeld sagt man: R und S haben das selbe Schema und
schreibt sch(R) = sch(S). Dabei entspricht das Schema einer
Relation der Menge der Attribute R = sch(R) = {A1 , A2 , . . . , An } und
es gilt Mi = dom(Ai ).
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
6 / 45
Einführung
Mengen in Tabellen (Domänen)
Mengen im Datenbankumfeld sind meist nicht von der Art
A = {−2, −1, 0, 1, 2, 3}, N, Z, Q oder R sondern eher von der Art
varchar(20): Menge aller Zeichenketten mit maximal 20
Zeichen.
integer: Menge aller Zahlen zwischen einer minimalen und
einer maximalen Zahl.
PersonenNamen: Menger aller Nachnamen (von Personen).
Lebensalter: Menge aller natürlicher Zahlen zwischen 0 und
(etwa) 150.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
7 / 45
Einführung
Mengen in Tabellen (Domänen)
Mengen im Datenbankumfeld sind meist nicht von der Art
A = {−2, −1, 0, 1, 2, 3}, N, Z, Q oder R sondern eher von der Art
varchar(20): Menge aller Zeichenketten mit maximal 20
Zeichen.
integer: Menge aller Zahlen zwischen einer minimalen und
einer maximalen Zahl.
PersonenNamen: Menger aller Nachnamen (von Personen).
Lebensalter: Menge aller natürlicher Zahlen zwischen 0 und
(etwa) 150.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
7 / 45
Einführung
Mengen in Tabellen (Domänen)
Mengen im Datenbankumfeld sind meist nicht von der Art
A = {−2, −1, 0, 1, 2, 3}, N, Z, Q oder R sondern eher von der Art
varchar(20): Menge aller Zeichenketten mit maximal 20
Zeichen.
integer: Menge aller Zahlen zwischen einer minimalen und
einer maximalen Zahl.
PersonenNamen: Menger aller Nachnamen (von Personen).
Lebensalter: Menge aller natürlicher Zahlen zwischen 0 und
(etwa) 150.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
7 / 45
Einführung
Mengen in Tabellen (Domänen)
Mengen im Datenbankumfeld sind meist nicht von der Art
A = {−2, −1, 0, 1, 2, 3}, N, Z, Q oder R sondern eher von der Art
varchar(20): Menge aller Zeichenketten mit maximal 20
Zeichen.
integer: Menge aller Zahlen zwischen einer minimalen und
einer maximalen Zahl.
PersonenNamen: Menger aller Nachnamen (von Personen).
Lebensalter: Menge aller natürlicher Zahlen zwischen 0 und
(etwa) 150.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
7 / 45
Vereinigung
Outline
1
Einführung
2
Vereinigung
3
Durchschnitt
4
Differenz
5
Kreuzprodukt
6
Selektion
7
Projektion
8
Umbenennung
9
Relationenalgebra
10
Verbund (Join)
11
Division
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
8 / 45
Vereinigung
Vereinigung (Union)
R und S seien zwei typ-kompatible Relationen
UNION: bildet Vereinigungsmenge von zwei Relationen
R, S ⊂ M1 × M2 × · · · × Mn (bzw. Relationsklassen).
UNION(R,S) ist die Relation R ∪ S ⊂ M1 × M2 × · · · × Mn .
Ist R2 eine komponentenweise Umordnung der Relation R1 und
analog S2 eine komponentenweise Umordnung der Relation S1
wobei R1 und S1 sowie R2 und S2 typ-kompatibel seien: dann ist
R1 ∪ S1 eine komponentenweise Umordnung der Relation R2 ∪ S2 .
Sind [R] und [S] zwei typ-kompatible Symmetrieklassen von
Relationen und R, S ⊂ M1 × M2 × · · · × Mn zwei typ-kompatible
Relationen Dann ist UNION([R],[S]) gerade die Symmetrieklasse
[R] ∪ [S].
Wir schreiben kurz: R ∪ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
9 / 45
Vereinigung
Vereinigung (Union)
R und S seien zwei typ-kompatible Relationen
UNION: bildet Vereinigungsmenge von zwei Relationen
R, S ⊂ M1 × M2 × · · · × Mn (bzw. Relationsklassen).
UNION(R,S) ist die Relation R ∪ S ⊂ M1 × M2 × · · · × Mn .
Ist R2 eine komponentenweise Umordnung der Relation R1 und
analog S2 eine komponentenweise Umordnung der Relation S1
wobei R1 und S1 sowie R2 und S2 typ-kompatibel seien: dann ist
R1 ∪ S1 eine komponentenweise Umordnung der Relation R2 ∪ S2 .
Sind [R] und [S] zwei typ-kompatible Symmetrieklassen von
Relationen und R, S ⊂ M1 × M2 × · · · × Mn zwei typ-kompatible
Relationen Dann ist UNION([R],[S]) gerade die Symmetrieklasse
[R] ∪ [S].
Wir schreiben kurz: R ∪ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
9 / 45
Vereinigung
Vereinigung (Union)
R und S seien zwei typ-kompatible Relationen
UNION: bildet Vereinigungsmenge von zwei Relationen
R, S ⊂ M1 × M2 × · · · × Mn (bzw. Relationsklassen).
UNION(R,S) ist die Relation R ∪ S ⊂ M1 × M2 × · · · × Mn .
Ist R2 eine komponentenweise Umordnung der Relation R1 und
analog S2 eine komponentenweise Umordnung der Relation S1
wobei R1 und S1 sowie R2 und S2 typ-kompatibel seien: dann ist
R1 ∪ S1 eine komponentenweise Umordnung der Relation R2 ∪ S2 .
Sind [R] und [S] zwei typ-kompatible Symmetrieklassen von
Relationen und R, S ⊂ M1 × M2 × · · · × Mn zwei typ-kompatible
Relationen Dann ist UNION([R],[S]) gerade die Symmetrieklasse
[R] ∪ [S].
Wir schreiben kurz: R ∪ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
9 / 45
Vereinigung
Vereinigung (Union)
R und S seien zwei typ-kompatible Relationen
UNION: bildet Vereinigungsmenge von zwei Relationen
R, S ⊂ M1 × M2 × · · · × Mn (bzw. Relationsklassen).
UNION(R,S) ist die Relation R ∪ S ⊂ M1 × M2 × · · · × Mn .
Ist R2 eine komponentenweise Umordnung der Relation R1 und
analog S2 eine komponentenweise Umordnung der Relation S1
wobei R1 und S1 sowie R2 und S2 typ-kompatibel seien: dann ist
R1 ∪ S1 eine komponentenweise Umordnung der Relation R2 ∪ S2 .
Sind [R] und [S] zwei typ-kompatible Symmetrieklassen von
Relationen und R, S ⊂ M1 × M2 × · · · × Mn zwei typ-kompatible
Relationen Dann ist UNION([R],[S]) gerade die Symmetrieklasse
[R] ∪ [S].
Wir schreiben kurz: R ∪ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
9 / 45
Vereinigung
Vereinigung (Union)
R und S seien zwei typ-kompatible Relationen
UNION: bildet Vereinigungsmenge von zwei Relationen
R, S ⊂ M1 × M2 × · · · × Mn (bzw. Relationsklassen).
UNION(R,S) ist die Relation R ∪ S ⊂ M1 × M2 × · · · × Mn .
Ist R2 eine komponentenweise Umordnung der Relation R1 und
analog S2 eine komponentenweise Umordnung der Relation S1
wobei R1 und S1 sowie R2 und S2 typ-kompatibel seien: dann ist
R1 ∪ S1 eine komponentenweise Umordnung der Relation R2 ∪ S2 .
Sind [R] und [S] zwei typ-kompatible Symmetrieklassen von
Relationen und R, S ⊂ M1 × M2 × · · · × Mn zwei typ-kompatible
Relationen Dann ist UNION([R],[S]) gerade die Symmetrieklasse
[R] ∪ [S].
Wir schreiben kurz: R ∪ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
9 / 45
Vereinigung
Vereinigung (Fort.)
Example
Sei [R] die Menge aller Studenten, die höchstens zwei Semester
studierten und [S] die Menge aller Studenten, die mindestens zehn
Semester studierten: dann stellt die folgende Tabelle alle Studenten
von UNION([R],[S]) dar:
MatrNr.
24002
25403
26120
29120
29555
Josef F. Bürgler (HSLU T&A)
Name
Xenokrates
Jonas
Fichte
Theophratos
Feuerbach
Relationale Algebra
Semester
18
12
10
2
2
HTA.DMG
10 / 45
Durchschnitt
Outline
1
Einführung
2
Vereinigung
3
Durchschnitt
4
Differenz
5
Kreuzprodukt
6
Selektion
7
Projektion
8
Umbenennung
9
Relationenalgebra
10
Verbund (Join)
11
Division
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
11 / 45
Durchschnitt
Durchschnitt (Intersection)
R und S seien zwei typ-kompatible Relationen
INTERSECT: bildet Schnittmenge von zwei Relationen
R, S ⊂ M1 × M2 × · · · × Mn (bzw. Relationsklassen).
INTERSECT(R,S) ist die Relation R ∩ S ⊂ M1 × M2 × · · · × Mn .
Ist R2 eine komponentenweise Umordnung der Relation R1 und
analog S2 eine komponentenweise Umordnung der Relation S1
wobei R1 und S1 sowie R2 und S2 typ-kompatibel seien: dann ist
R1 ∩ S1 eine komponentenweise Umordnung der Relation R2 ∩ S2 .
Sind [R] und [S] zwei typ-kompatible Symmetrieklassen von
Relationen und R, S ⊂ M1 × M2 × · · · × Mn zwei typ-kompatible
Relationen Dann ist INTERSECT([R],[S]) gerade die
Symmetrieklasse [R] ∩ [S].
Wir schreiben kurz: R ∩ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
12 / 45
Durchschnitt
Durchschnitt (Intersection)
R und S seien zwei typ-kompatible Relationen
INTERSECT: bildet Schnittmenge von zwei Relationen
R, S ⊂ M1 × M2 × · · · × Mn (bzw. Relationsklassen).
INTERSECT(R,S) ist die Relation R ∩ S ⊂ M1 × M2 × · · · × Mn .
Ist R2 eine komponentenweise Umordnung der Relation R1 und
analog S2 eine komponentenweise Umordnung der Relation S1
wobei R1 und S1 sowie R2 und S2 typ-kompatibel seien: dann ist
R1 ∩ S1 eine komponentenweise Umordnung der Relation R2 ∩ S2 .
Sind [R] und [S] zwei typ-kompatible Symmetrieklassen von
Relationen und R, S ⊂ M1 × M2 × · · · × Mn zwei typ-kompatible
Relationen Dann ist INTERSECT([R],[S]) gerade die
Symmetrieklasse [R] ∩ [S].
Wir schreiben kurz: R ∩ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
12 / 45
Durchschnitt
Durchschnitt (Intersection)
R und S seien zwei typ-kompatible Relationen
INTERSECT: bildet Schnittmenge von zwei Relationen
R, S ⊂ M1 × M2 × · · · × Mn (bzw. Relationsklassen).
INTERSECT(R,S) ist die Relation R ∩ S ⊂ M1 × M2 × · · · × Mn .
Ist R2 eine komponentenweise Umordnung der Relation R1 und
analog S2 eine komponentenweise Umordnung der Relation S1
wobei R1 und S1 sowie R2 und S2 typ-kompatibel seien: dann ist
R1 ∩ S1 eine komponentenweise Umordnung der Relation R2 ∩ S2 .
Sind [R] und [S] zwei typ-kompatible Symmetrieklassen von
Relationen und R, S ⊂ M1 × M2 × · · · × Mn zwei typ-kompatible
Relationen Dann ist INTERSECT([R],[S]) gerade die
Symmetrieklasse [R] ∩ [S].
Wir schreiben kurz: R ∩ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
12 / 45
Durchschnitt
Durchschnitt (Intersection)
R und S seien zwei typ-kompatible Relationen
INTERSECT: bildet Schnittmenge von zwei Relationen
R, S ⊂ M1 × M2 × · · · × Mn (bzw. Relationsklassen).
INTERSECT(R,S) ist die Relation R ∩ S ⊂ M1 × M2 × · · · × Mn .
Ist R2 eine komponentenweise Umordnung der Relation R1 und
analog S2 eine komponentenweise Umordnung der Relation S1
wobei R1 und S1 sowie R2 und S2 typ-kompatibel seien: dann ist
R1 ∩ S1 eine komponentenweise Umordnung der Relation R2 ∩ S2 .
Sind [R] und [S] zwei typ-kompatible Symmetrieklassen von
Relationen und R, S ⊂ M1 × M2 × · · · × Mn zwei typ-kompatible
Relationen Dann ist INTERSECT([R],[S]) gerade die
Symmetrieklasse [R] ∩ [S].
Wir schreiben kurz: R ∩ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
12 / 45
Durchschnitt
Durchschnitt (Intersection)
R und S seien zwei typ-kompatible Relationen
INTERSECT: bildet Schnittmenge von zwei Relationen
R, S ⊂ M1 × M2 × · · · × Mn (bzw. Relationsklassen).
INTERSECT(R,S) ist die Relation R ∩ S ⊂ M1 × M2 × · · · × Mn .
Ist R2 eine komponentenweise Umordnung der Relation R1 und
analog S2 eine komponentenweise Umordnung der Relation S1
wobei R1 und S1 sowie R2 und S2 typ-kompatibel seien: dann ist
R1 ∩ S1 eine komponentenweise Umordnung der Relation R2 ∩ S2 .
Sind [R] und [S] zwei typ-kompatible Symmetrieklassen von
Relationen und R, S ⊂ M1 × M2 × · · · × Mn zwei typ-kompatible
Relationen Dann ist INTERSECT([R],[S]) gerade die
Symmetrieklasse [R] ∩ [S].
Wir schreiben kurz: R ∩ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
12 / 45
Durchschnitt
Durchschnitt - Fort.
Example
Sei [R] die Menge aller Studenten, die mindestens zwei Semester
studierten und [S] die Menge aller Studenten, die höchstens zehn
Semester studierten: dann stellt die folgende Tabelle alle Studenten
von INTERSECT([R],[S]) dar:
MatrNr.
26120
26830
27550
28106
29120
29555
Josef F. Bürgler (HSLU T&A)
Name
Fichte
Aristoxenos
Schopenhauer
Carnap
Theophratos
Feuerbach
Relationale Algebra
Semester
10
8
6
3
2
2
HTA.DMG
13 / 45
Differenz
Outline
1
Einführung
2
Vereinigung
3
Durchschnitt
4
Differenz
5
Kreuzprodukt
6
Selektion
7
Projektion
8
Umbenennung
9
Relationenalgebra
10
Verbund (Join)
11
Division
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
14 / 45
Differenz
Differenz (Difference)
Definition (Differenz (Difference))
Die Differenz (Difference) zweier typ-kompatibler Relationen R und S
(in der Datenbanksprache solche mit gleichem Schema), ist Menge
aller Tupel die in R aber nicht in S vorkommen, d.h.
R \ S = {x ∈ R |x ∈
/ S }.
Wir schreiben dafür kurz R \ S und meinen “R ohne S”
Wir wählen hier eine Definition, die nicht auf der Theorie
relationaler Datenbanken fundiert
Der theoretische Hintergrund wird im 3. Teil klarer
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
15 / 45
Differenz
Differenz (Difference)
Definition (Differenz (Difference))
Die Differenz (Difference) zweier typ-kompatibler Relationen R und S
(in der Datenbanksprache solche mit gleichem Schema), ist Menge
aller Tupel die in R aber nicht in S vorkommen, d.h.
R \ S = {x ∈ R |x ∈
/ S }.
Wir schreiben dafür kurz R \ S und meinen “R ohne S”
Wir wählen hier eine Definition, die nicht auf der Theorie
relationaler Datenbanken fundiert
Der theoretische Hintergrund wird im 3. Teil klarer
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
15 / 45
Differenz
Differenz (Difference)
Definition (Differenz (Difference))
Die Differenz (Difference) zweier typ-kompatibler Relationen R und S
(in der Datenbanksprache solche mit gleichem Schema), ist Menge
aller Tupel die in R aber nicht in S vorkommen, d.h.
R \ S = {x ∈ R |x ∈
/ S }.
Wir schreiben dafür kurz R \ S und meinen “R ohne S”
Wir wählen hier eine Definition, die nicht auf der Theorie
relationaler Datenbanken fundiert
Der theoretische Hintergrund wird im 3. Teil klarer
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
15 / 45
Differenz
Differenz (Difference)
Definition (Differenz (Difference))
Die Differenz (Difference) zweier typ-kompatibler Relationen R und S
(in der Datenbanksprache solche mit gleichem Schema), ist Menge
aller Tupel die in R aber nicht in S vorkommen, d.h.
R \ S = {x ∈ R |x ∈
/ S }.
Wir schreiben dafür kurz R \ S und meinen “R ohne S”
Wir wählen hier eine Definition, die nicht auf der Theorie
relationaler Datenbanken fundiert
Der theoretische Hintergrund wird im 3. Teil klarer
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
15 / 45
Differenz
Differenz - Fort.
Example
Es soll die Menge der Studenten (bzw. deren Matrikelnummern)
ermittelt werden, die noch keine Prüfungen abgelegt haben.
Lösung: Man stellt sofort fest, dass die beiden Relation Studenten und
prüfen nicht typ-kompatibel sind (in der Datenbanksprache
unterschiedliches Schema aufweisen). Mit einer Projektion extrahieren
wir die korrekte Komponenten und bilden danach die Mengendifferenz
ΠMatrNr (Studenten) \ ΠMatrNr (prüfen).
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
MatrNr
24002
26120
26830
29120
29555
HTA.DMG
16 / 45
Differenz
Differenz - Fort.
Example
Es soll die Menge der Studenten (bzw. deren Matrikelnummern)
ermittelt werden, die noch keine Prüfungen abgelegt haben.
Lösung: Man stellt sofort fest, dass die beiden Relation Studenten und
prüfen nicht typ-kompatibel sind (in der Datenbanksprache
unterschiedliches Schema aufweisen). Mit einer Projektion extrahieren
wir die korrekte Komponenten und bilden danach die Mengendifferenz
ΠMatrNr (Studenten) \ ΠMatrNr (prüfen).
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
MatrNr
24002
26120
26830
29120
29555
HTA.DMG
16 / 45
Differenz
Differenz - Fort.
Example
Es soll die Menge der Studenten (bzw. deren Matrikelnummern)
ermittelt werden, die noch keine Prüfungen abgelegt haben.
Lösung: Man stellt sofort fest, dass die beiden Relation Studenten und
prüfen nicht typ-kompatibel sind (in der Datenbanksprache
unterschiedliches Schema aufweisen). Mit einer Projektion extrahieren
wir die korrekte Komponenten und bilden danach die Mengendifferenz
ΠMatrNr (Studenten) \ ΠMatrNr (prüfen).
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
MatrNr
24002
26120
26830
29120
29555
HTA.DMG
16 / 45
Differenz
Differenz - Fort.
Example
Es soll die Menge der Studenten (bzw. deren Matrikelnummern)
ermittelt werden, die noch keine Prüfungen abgelegt haben.
Lösung: Man stellt sofort fest, dass die beiden Relation Studenten und
prüfen nicht typ-kompatibel sind (in der Datenbanksprache
unterschiedliches Schema aufweisen). Mit einer Projektion extrahieren
wir die korrekte Komponenten und bilden danach die Mengendifferenz
ΠMatrNr (Studenten) \ ΠMatrNr (prüfen).
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
MatrNr
24002
26120
26830
29120
29555
HTA.DMG
16 / 45
Differenz
Differenz - Fort.
Example
Kann man den Durchschnitt zweier Relationen R ∩ S durch andere
Mengenoperationen ausdrücken und wenn ja wie? Man versuche nur
die nachfolgend definierte Difference zu verwenden und zwei
verschiedene Darstellungen zu finden.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
17 / 45
Differenz
Differenz - Fort.
Example
Kann man den Durchschnitt zweier Relationen R ∩ S durch andere
Mengenoperationen ausdrücken und wenn ja wie? Man versuche nur
die nachfolgend definierte Difference zu verwenden und zwei
verschiedene Darstellungen zu finden.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
17 / 45
Kreuzprodukt
Outline
1
Einführung
2
Vereinigung
3
Durchschnitt
4
Differenz
5
Kreuzprodukt
6
Selektion
7
Projektion
8
Umbenennung
9
Relationenalgebra
10
Verbund (Join)
11
Division
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
18 / 45
Kreuzprodukt
Kreuzprodukt
Definition (Kreuzprodukt)
Das Kreuzprodukt zweier n- und m-stelliger Relationen R und S, ist
die Relation mit dem Schema sch(R) ∪ sch(S). Deren Elemente
bestehen aus (n + m)-Tupeln, wobei die ersten n Komponenten aus R
und die letzten m Komponenten aus S stammen. In R und S gleich
lautende Attribute werden durch qualifizierte Attributnamen,
bestehend aus Relationsname und Attributname (durch Punkt
getrennt), ersetzt.
Jede Zeile von R wird mit jeder Zeile von S kombiniert.
Dadurch entsteht eine Relation mit |R| · |S| Zeilen.
Analog kann man auch mehrfache Kreuzprodukte definieren.
Das Kreuzprodukt ist ein Spezialfall eines speziellen Joins (siehe
unten).
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
19 / 45
Kreuzprodukt
Kreuzprodukt
Definition (Kreuzprodukt)
Das Kreuzprodukt zweier n- und m-stelliger Relationen R und S, ist
die Relation mit dem Schema sch(R) ∪ sch(S). Deren Elemente
bestehen aus (n + m)-Tupeln, wobei die ersten n Komponenten aus R
und die letzten m Komponenten aus S stammen. In R und S gleich
lautende Attribute werden durch qualifizierte Attributnamen,
bestehend aus Relationsname und Attributname (durch Punkt
getrennt), ersetzt.
Jede Zeile von R wird mit jeder Zeile von S kombiniert.
Dadurch entsteht eine Relation mit |R| · |S| Zeilen.
Analog kann man auch mehrfache Kreuzprodukte definieren.
Das Kreuzprodukt ist ein Spezialfall eines speziellen Joins (siehe
unten).
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
19 / 45
Kreuzprodukt
Kreuzprodukt
Definition (Kreuzprodukt)
Das Kreuzprodukt zweier n- und m-stelliger Relationen R und S, ist
die Relation mit dem Schema sch(R) ∪ sch(S). Deren Elemente
bestehen aus (n + m)-Tupeln, wobei die ersten n Komponenten aus R
und die letzten m Komponenten aus S stammen. In R und S gleich
lautende Attribute werden durch qualifizierte Attributnamen,
bestehend aus Relationsname und Attributname (durch Punkt
getrennt), ersetzt.
Jede Zeile von R wird mit jeder Zeile von S kombiniert.
Dadurch entsteht eine Relation mit |R| · |S| Zeilen.
Analog kann man auch mehrfache Kreuzprodukte definieren.
Das Kreuzprodukt ist ein Spezialfall eines speziellen Joins (siehe
unten).
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
19 / 45
Kreuzprodukt
Kreuzprodukt
Definition (Kreuzprodukt)
Das Kreuzprodukt zweier n- und m-stelliger Relationen R und S, ist
die Relation mit dem Schema sch(R) ∪ sch(S). Deren Elemente
bestehen aus (n + m)-Tupeln, wobei die ersten n Komponenten aus R
und die letzten m Komponenten aus S stammen. In R und S gleich
lautende Attribute werden durch qualifizierte Attributnamen,
bestehend aus Relationsname und Attributname (durch Punkt
getrennt), ersetzt.
Jede Zeile von R wird mit jeder Zeile von S kombiniert.
Dadurch entsteht eine Relation mit |R| · |S| Zeilen.
Analog kann man auch mehrfache Kreuzprodukte definieren.
Das Kreuzprodukt ist ein Spezialfall eines speziellen Joins (siehe
unten).
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
19 / 45
Kreuzprodukt
Kreuzprodukt
Definition (Kreuzprodukt)
Das Kreuzprodukt zweier n- und m-stelliger Relationen R und S, ist
die Relation mit dem Schema sch(R) ∪ sch(S). Deren Elemente
bestehen aus (n + m)-Tupeln, wobei die ersten n Komponenten aus R
und die letzten m Komponenten aus S stammen. In R und S gleich
lautende Attribute werden durch qualifizierte Attributnamen,
bestehend aus Relationsname und Attributname (durch Punkt
getrennt), ersetzt.
Jede Zeile von R wird mit jeder Zeile von S kombiniert.
Dadurch entsteht eine Relation mit |R| · |S| Zeilen.
Analog kann man auch mehrfache Kreuzprodukte definieren.
Das Kreuzprodukt ist ein Spezialfall eines speziellen Joins (siehe
unten).
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
19 / 45
Kreuzprodukt
Kreuzprodukt - Fort.
Example
Bestimme das Kreuzprodukt Professoren×hören.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
20 / 45
Kreuzprodukt
Kreuzprodukt - Fort.
Example
Bestimme das Kreuzprodukt Professoren×hören.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
20 / 45
Selektion
Outline
1
Einführung
2
Vereinigung
3
Durchschnitt
4
Differenz
5
Kreuzprodukt
6
Selektion
7
Projektion
8
Umbenennung
9
Relationenalgebra
10
Verbund (Join)
11
Division
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
21 / 45
Selektion
Selektion
Definition (Selektion)
Die Selektion σF (R) wählt die jenigen Tupel der Relation R aus, d.h.
selektiert sie, die das Selektionsprädikat erfüllen.
Das Selektionsprädikat ist meist ein Ausdruck bestehend aus
den Attributnamen der Argumentenrelation R oder Konstanten als
Operanden
arithmetischen Vergleichsoperationen <, ≤, =, >, ≥, 6=
logischen Operanden ∧, ∨, ¬
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
22 / 45
Selektion
Selektion
Definition (Selektion)
Die Selektion σF (R) wählt die jenigen Tupel der Relation R aus, d.h.
selektiert sie, die das Selektionsprädikat erfüllen.
Das Selektionsprädikat ist meist ein Ausdruck bestehend aus
den Attributnamen der Argumentenrelation R oder Konstanten als
Operanden
arithmetischen Vergleichsoperationen <, ≤, =, >, ≥, 6=
logischen Operanden ∧, ∨, ¬
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
22 / 45
Selektion
Selektion
Definition (Selektion)
Die Selektion σF (R) wählt die jenigen Tupel der Relation R aus, d.h.
selektiert sie, die das Selektionsprädikat erfüllen.
Das Selektionsprädikat ist meist ein Ausdruck bestehend aus
den Attributnamen der Argumentenrelation R oder Konstanten als
Operanden
arithmetischen Vergleichsoperationen <, ≤, =, >, ≥, 6=
logischen Operanden ∧, ∨, ¬
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
22 / 45
Selektion
Selektion
Definition (Selektion)
Die Selektion σF (R) wählt die jenigen Tupel der Relation R aus, d.h.
selektiert sie, die das Selektionsprädikat erfüllen.
Das Selektionsprädikat ist meist ein Ausdruck bestehend aus
den Attributnamen der Argumentenrelation R oder Konstanten als
Operanden
arithmetischen Vergleichsoperationen <, ≤, =, >, ≥, 6=
logischen Operanden ∧, ∨, ¬
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
22 / 45
Selektion
Selektion (Fort.)
Example
Stellen sie σSemester>10 (Studenten) dar?
Lösung: Das Resultat sind die jenigen Studenten, die bereits länger
als 10 Semester an der Uni sind.
MatrNr
24002
25403
Josef F. Bürgler (HSLU T&A)
Name
Xenokrates
Jonas
Relationale Algebra
Semester
18
12
HTA.DMG
23 / 45
Selektion
Selektion (Fort.)
Example
Stellen sie σSemester>10 (Studenten) dar?
Lösung: Das Resultat sind die jenigen Studenten, die bereits länger
als 10 Semester an der Uni sind.
MatrNr
24002
25403
Josef F. Bürgler (HSLU T&A)
Name
Xenokrates
Jonas
Relationale Algebra
Semester
18
12
HTA.DMG
23 / 45
Selektion
Selektion (Fort.)
Example
Im Beispiel zur Vereinigung von zwei Relationen betrachteten wir die
Menge der Studenten die mindestens zehn oder höchstens zwei
Semester studierten. Stellen sie die entstehende Relation mit Hilfe der
Operationen Vereinigung und Selektion dar.
Lösung: Die Menge der Studenten, welche mindestens zehn
Semester studierten ist gegeben durch σSemester≥10 (Studenten).
Analog ist die Menge der Studenten, welche höchstens zwei Semester
studierten gegeben durch σSemester≤2 (Studenten).
Damit ergibt sich die Vereinigung
σSemester≥10 (Studenten) ∪ σSemester≤2 (Studenten).
Die Relation in Tabellenform ist oben ersichtlich!
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
24 / 45
Projektion
Outline
1
Einführung
2
Vereinigung
3
Durchschnitt
4
Differenz
5
Kreuzprodukt
6
Selektion
7
Projektion
8
Umbenennung
9
Relationenalgebra
10
Verbund (Join)
11
Division
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
25 / 45
Projektion
Projektion
Definition (Projektion)
Die Projektion ΠA (R) wählt die jenigen Attribute der Relation R aus,
die in der Menge der Attributnamen A aufgeführt sind.
Während bei einer Selektion einzelne Tupel einer Relation (Zeilen
einer Tabelle) ausgewählt werden, werden bei der Projektion
Attribute (Spalten) der Argumentenrelation extrahiert.
Subscript ist die Menge A der Attributnamen, die extrahiert
werden sollen.
Meist lässt man die Mengenklammern im Subscript weg.
Es kann im Resultat Duplikate geben.
Duplikate müssen allenfalls gesondert eliminiert werden.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
26 / 45
Projektion
Projektion
Definition (Projektion)
Die Projektion ΠA (R) wählt die jenigen Attribute der Relation R aus,
die in der Menge der Attributnamen A aufgeführt sind.
Während bei einer Selektion einzelne Tupel einer Relation (Zeilen
einer Tabelle) ausgewählt werden, werden bei der Projektion
Attribute (Spalten) der Argumentenrelation extrahiert.
Subscript ist die Menge A der Attributnamen, die extrahiert
werden sollen.
Meist lässt man die Mengenklammern im Subscript weg.
Es kann im Resultat Duplikate geben.
Duplikate müssen allenfalls gesondert eliminiert werden.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
26 / 45
Projektion
Projektion
Definition (Projektion)
Die Projektion ΠA (R) wählt die jenigen Attribute der Relation R aus,
die in der Menge der Attributnamen A aufgeführt sind.
Während bei einer Selektion einzelne Tupel einer Relation (Zeilen
einer Tabelle) ausgewählt werden, werden bei der Projektion
Attribute (Spalten) der Argumentenrelation extrahiert.
Subscript ist die Menge A der Attributnamen, die extrahiert
werden sollen.
Meist lässt man die Mengenklammern im Subscript weg.
Es kann im Resultat Duplikate geben.
Duplikate müssen allenfalls gesondert eliminiert werden.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
26 / 45
Projektion
Projektion
Definition (Projektion)
Die Projektion ΠA (R) wählt die jenigen Attribute der Relation R aus,
die in der Menge der Attributnamen A aufgeführt sind.
Während bei einer Selektion einzelne Tupel einer Relation (Zeilen
einer Tabelle) ausgewählt werden, werden bei der Projektion
Attribute (Spalten) der Argumentenrelation extrahiert.
Subscript ist die Menge A der Attributnamen, die extrahiert
werden sollen.
Meist lässt man die Mengenklammern im Subscript weg.
Es kann im Resultat Duplikate geben.
Duplikate müssen allenfalls gesondert eliminiert werden.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
26 / 45
Projektion
Projektion
Definition (Projektion)
Die Projektion ΠA (R) wählt die jenigen Attribute der Relation R aus,
die in der Menge der Attributnamen A aufgeführt sind.
Während bei einer Selektion einzelne Tupel einer Relation (Zeilen
einer Tabelle) ausgewählt werden, werden bei der Projektion
Attribute (Spalten) der Argumentenrelation extrahiert.
Subscript ist die Menge A der Attributnamen, die extrahiert
werden sollen.
Meist lässt man die Mengenklammern im Subscript weg.
Es kann im Resultat Duplikate geben.
Duplikate müssen allenfalls gesondert eliminiert werden.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
26 / 45
Projektion
Projektion
Definition (Projektion)
Die Projektion ΠA (R) wählt die jenigen Attribute der Relation R aus,
die in der Menge der Attributnamen A aufgeführt sind.
Während bei einer Selektion einzelne Tupel einer Relation (Zeilen
einer Tabelle) ausgewählt werden, werden bei der Projektion
Attribute (Spalten) der Argumentenrelation extrahiert.
Subscript ist die Menge A der Attributnamen, die extrahiert
werden sollen.
Meist lässt man die Mengenklammern im Subscript weg.
Es kann im Resultat Duplikate geben.
Duplikate müssen allenfalls gesondert eliminiert werden.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
26 / 45
Projektion
Projektion (Fort.)
Example
Stellen sie Projektion ΠRang (Professoren) dar?
Lösung: Der Operator extrahiert das Rang-Attribut aus der Tabelle der
Professoren und es entsteht die Relation, welche durch die folgende
Tabelle dargestellt wird.
Rang
C4
C3
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
27 / 45
Projektion
Projektion (Fort.)
Example
Stellen sie Projektion ΠRang (Professoren) dar?
Lösung: Der Operator extrahiert das Rang-Attribut aus der Tabelle der
Professoren und es entsteht die Relation, welche durch die folgende
Tabelle dargestellt wird.
Rang
C4
C3
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
27 / 45
Umbenennung
Outline
1
Einführung
2
Vereinigung
3
Durchschnitt
4
Differenz
5
Kreuzprodukt
6
Selektion
7
Projektion
8
Umbenennung
9
Relationenalgebra
10
Verbund (Join)
11
Division
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
28 / 45
Umbenennung
Umbenennung
Werden Relationen in Anfragen mehrfach verwendet, muss
mindestens eine (Kopie) davon umbenannt werden.
Dazu wird der Operator ρ verwendet, dessen Subscript den neuen
Namen der Relation angibt.
Mit ρV (R) wird die Relation R umbenannt in V .
Will man nur einzelne Attribute umbenennen verwendet man die
Bezeichnung ρAnew ←Aold (R) und erreicht damit, dass Attribut Aold
umbenannt wird in Anew .
Analog kann man auch mehrere Attributumbenennungen
vornehmen.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
29 / 45
Umbenennung
Umbenennung
Werden Relationen in Anfragen mehrfach verwendet, muss
mindestens eine (Kopie) davon umbenannt werden.
Dazu wird der Operator ρ verwendet, dessen Subscript den neuen
Namen der Relation angibt.
Mit ρV (R) wird die Relation R umbenannt in V .
Will man nur einzelne Attribute umbenennen verwendet man die
Bezeichnung ρAnew ←Aold (R) und erreicht damit, dass Attribut Aold
umbenannt wird in Anew .
Analog kann man auch mehrere Attributumbenennungen
vornehmen.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
29 / 45
Umbenennung
Umbenennung
Werden Relationen in Anfragen mehrfach verwendet, muss
mindestens eine (Kopie) davon umbenannt werden.
Dazu wird der Operator ρ verwendet, dessen Subscript den neuen
Namen der Relation angibt.
Mit ρV (R) wird die Relation R umbenannt in V .
Will man nur einzelne Attribute umbenennen verwendet man die
Bezeichnung ρAnew ←Aold (R) und erreicht damit, dass Attribut Aold
umbenannt wird in Anew .
Analog kann man auch mehrere Attributumbenennungen
vornehmen.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
29 / 45
Umbenennung
Umbenennung
Werden Relationen in Anfragen mehrfach verwendet, muss
mindestens eine (Kopie) davon umbenannt werden.
Dazu wird der Operator ρ verwendet, dessen Subscript den neuen
Namen der Relation angibt.
Mit ρV (R) wird die Relation R umbenannt in V .
Will man nur einzelne Attribute umbenennen verwendet man die
Bezeichnung ρAnew ←Aold (R) und erreicht damit, dass Attribut Aold
umbenannt wird in Anew .
Analog kann man auch mehrere Attributumbenennungen
vornehmen.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
29 / 45
Umbenennung
Umbenennung
Werden Relationen in Anfragen mehrfach verwendet, muss
mindestens eine (Kopie) davon umbenannt werden.
Dazu wird der Operator ρ verwendet, dessen Subscript den neuen
Namen der Relation angibt.
Mit ρV (R) wird die Relation R umbenannt in V .
Will man nur einzelne Attribute umbenennen verwendet man die
Bezeichnung ρAnew ←Aold (R) und erreicht damit, dass Attribut Aold
umbenannt wird in Anew .
Analog kann man auch mehrere Attributumbenennungen
vornehmen.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
29 / 45
Umbenennung
Umbenennung (Fort.)
Example
Gesucht sind die indirekten Vorgänger 2. Stufe (also die Vorgänger der
Vorgänger) der Vorlesung mit Nummer 5216.
Lösung:
ΠV1.Vorgänger σV2.Nachfolger =5216∧V1.Nachfolger=V2.Vorgänger
ρV1 (voraussetzen) × ρV2 (voraussetzen)
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
30 / 45
Relationenalgebra
Outline
1
Einführung
2
Vereinigung
3
Durchschnitt
4
Differenz
5
Kreuzprodukt
6
Selektion
7
Projektion
8
Umbenennung
9
Relationenalgebra
10
Verbund (Join)
11
Division
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
31 / 45
Relationenalgebra
Relationenalgebra
Allgemeine Relationenalgebra-Ausdrücke werden aus einfacheren,
kleineren konstruiert. Sind E1 und E2 relationale Algebraausdrücke,
dann sind auch die folgenden gültige Algebraausdrücke:
E1 ∪ E2 , falls sch(E1 ) = sch(E2 ).
E1 \ E2 , falls sch(E1 ) = sch(E2 ).
E1 × E2 .
σP (E1 ), falls P ein Prädikat über den Attributen von E1 ist.
ΠS (E1 ) mit einer Attributliste S, deren Attribute im Schema von E1
vorkommen.
ρV (E1 ) und ρA←B (E1 ), falls B ein Attributname der Relation E1 ist,
und A nicht als Attributname in E1 vorkommt.
Die nachfolgend eingeführten relationalen Operatoren wären nicht
nötig: sie machen das Leben aber leichter und süsser wie
“syntaktischer Zucker”!
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
32 / 45
Relationenalgebra
Relationenalgebra
Allgemeine Relationenalgebra-Ausdrücke werden aus einfacheren,
kleineren konstruiert. Sind E1 und E2 relationale Algebraausdrücke,
dann sind auch die folgenden gültige Algebraausdrücke:
E1 ∪ E2 , falls sch(E1 ) = sch(E2 ).
E1 \ E2 , falls sch(E1 ) = sch(E2 ).
E1 × E2 .
σP (E1 ), falls P ein Prädikat über den Attributen von E1 ist.
ΠS (E1 ) mit einer Attributliste S, deren Attribute im Schema von E1
vorkommen.
ρV (E1 ) und ρA←B (E1 ), falls B ein Attributname der Relation E1 ist,
und A nicht als Attributname in E1 vorkommt.
Die nachfolgend eingeführten relationalen Operatoren wären nicht
nötig: sie machen das Leben aber leichter und süsser wie
“syntaktischer Zucker”!
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
32 / 45
Relationenalgebra
Relationenalgebra
Allgemeine Relationenalgebra-Ausdrücke werden aus einfacheren,
kleineren konstruiert. Sind E1 und E2 relationale Algebraausdrücke,
dann sind auch die folgenden gültige Algebraausdrücke:
E1 ∪ E2 , falls sch(E1 ) = sch(E2 ).
E1 \ E2 , falls sch(E1 ) = sch(E2 ).
E1 × E2 .
σP (E1 ), falls P ein Prädikat über den Attributen von E1 ist.
ΠS (E1 ) mit einer Attributliste S, deren Attribute im Schema von E1
vorkommen.
ρV (E1 ) und ρA←B (E1 ), falls B ein Attributname der Relation E1 ist,
und A nicht als Attributname in E1 vorkommt.
Die nachfolgend eingeführten relationalen Operatoren wären nicht
nötig: sie machen das Leben aber leichter und süsser wie
“syntaktischer Zucker”!
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
32 / 45
Relationenalgebra
Relationenalgebra
Allgemeine Relationenalgebra-Ausdrücke werden aus einfacheren,
kleineren konstruiert. Sind E1 und E2 relationale Algebraausdrücke,
dann sind auch die folgenden gültige Algebraausdrücke:
E1 ∪ E2 , falls sch(E1 ) = sch(E2 ).
E1 \ E2 , falls sch(E1 ) = sch(E2 ).
E1 × E2 .
σP (E1 ), falls P ein Prädikat über den Attributen von E1 ist.
ΠS (E1 ) mit einer Attributliste S, deren Attribute im Schema von E1
vorkommen.
ρV (E1 ) und ρA←B (E1 ), falls B ein Attributname der Relation E1 ist,
und A nicht als Attributname in E1 vorkommt.
Die nachfolgend eingeführten relationalen Operatoren wären nicht
nötig: sie machen das Leben aber leichter und süsser wie
“syntaktischer Zucker”!
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
32 / 45
Relationenalgebra
Relationenalgebra
Allgemeine Relationenalgebra-Ausdrücke werden aus einfacheren,
kleineren konstruiert. Sind E1 und E2 relationale Algebraausdrücke,
dann sind auch die folgenden gültige Algebraausdrücke:
E1 ∪ E2 , falls sch(E1 ) = sch(E2 ).
E1 \ E2 , falls sch(E1 ) = sch(E2 ).
E1 × E2 .
σP (E1 ), falls P ein Prädikat über den Attributen von E1 ist.
ΠS (E1 ) mit einer Attributliste S, deren Attribute im Schema von E1
vorkommen.
ρV (E1 ) und ρA←B (E1 ), falls B ein Attributname der Relation E1 ist,
und A nicht als Attributname in E1 vorkommt.
Die nachfolgend eingeführten relationalen Operatoren wären nicht
nötig: sie machen das Leben aber leichter und süsser wie
“syntaktischer Zucker”!
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
32 / 45
Relationenalgebra
Relationenalgebra
Allgemeine Relationenalgebra-Ausdrücke werden aus einfacheren,
kleineren konstruiert. Sind E1 und E2 relationale Algebraausdrücke,
dann sind auch die folgenden gültige Algebraausdrücke:
E1 ∪ E2 , falls sch(E1 ) = sch(E2 ).
E1 \ E2 , falls sch(E1 ) = sch(E2 ).
E1 × E2 .
σP (E1 ), falls P ein Prädikat über den Attributen von E1 ist.
ΠS (E1 ) mit einer Attributliste S, deren Attribute im Schema von E1
vorkommen.
ρV (E1 ) und ρA←B (E1 ), falls B ein Attributname der Relation E1 ist,
und A nicht als Attributname in E1 vorkommt.
Die nachfolgend eingeführten relationalen Operatoren wären nicht
nötig: sie machen das Leben aber leichter und süsser wie
“syntaktischer Zucker”!
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
32 / 45
Verbund (Join)
Outline
1
Einführung
2
Vereinigung
3
Durchschnitt
4
Differenz
5
Kreuzprodukt
6
Selektion
7
Projektion
8
Umbenennung
9
Relationenalgebra
10
Verbund (Join)
11
Division
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
33 / 45
Verbund (Join)
Natürlicher Verbund (natural Join): Definition
Definition (Natürlicher Verbund (natural Join))
Sei R eine m- und S eine n-stellige Relation. Dann ist für
p ≤ min(m, n) der Verbund Jp (R, S) die (m + n − p)-stellige Relation,
die aus allen (m + n − p)-Tupeln
(a1 , a2 , . . . , am−p , c1 , c2 , . . . , cp , bp+1 , bp+2 , . . . , bn ) besteht, wobei
(a1 , a2 , . . . , am−p , c1 , c2 , . . . , cp ) ∈ R und
(c1 , c2 , . . . , cp , bp+1 , bp+2 , . . . , bn ) ∈ S.
Aus zwei Relationen R und S wird eine neue Relation Jp (R, S)
Alle m-Tupel aus R werden mit allen n-Tupeln aus S kombiniert
Nur falls die letzten p Komponenten des m-Tupels mit den ersten
p Komponenten des n-Tupels übereinstimmen, liegt das
(m + n − p)-Tupel im Verbund Jp (R, S)
Für p = 0 erhält man das kartesische oder Kreuzprodukt der
beiden Mengen R und S, geschrieben R × S
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
34 / 45
Verbund (Join)
Natürlicher Verbund (natural Join): Definition
Definition (Natürlicher Verbund (natural Join))
Sei R eine m- und S eine n-stellige Relation. Dann ist für
p ≤ min(m, n) der Verbund Jp (R, S) die (m + n − p)-stellige Relation,
die aus allen (m + n − p)-Tupeln
(a1 , a2 , . . . , am−p , c1 , c2 , . . . , cp , bp+1 , bp+2 , . . . , bn ) besteht, wobei
(a1 , a2 , . . . , am−p , c1 , c2 , . . . , cp ) ∈ R und
(c1 , c2 , . . . , cp , bp+1 , bp+2 , . . . , bn ) ∈ S.
Aus zwei Relationen R und S wird eine neue Relation Jp (R, S)
Alle m-Tupel aus R werden mit allen n-Tupeln aus S kombiniert
Nur falls die letzten p Komponenten des m-Tupels mit den ersten
p Komponenten des n-Tupels übereinstimmen, liegt das
(m + n − p)-Tupel im Verbund Jp (R, S)
Für p = 0 erhält man das kartesische oder Kreuzprodukt der
beiden Mengen R und S, geschrieben R × S
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
34 / 45
Verbund (Join)
Natürlicher Verbund (natural Join): Definition
Definition (Natürlicher Verbund (natural Join))
Sei R eine m- und S eine n-stellige Relation. Dann ist für
p ≤ min(m, n) der Verbund Jp (R, S) die (m + n − p)-stellige Relation,
die aus allen (m + n − p)-Tupeln
(a1 , a2 , . . . , am−p , c1 , c2 , . . . , cp , bp+1 , bp+2 , . . . , bn ) besteht, wobei
(a1 , a2 , . . . , am−p , c1 , c2 , . . . , cp ) ∈ R und
(c1 , c2 , . . . , cp , bp+1 , bp+2 , . . . , bn ) ∈ S.
Aus zwei Relationen R und S wird eine neue Relation Jp (R, S)
Alle m-Tupel aus R werden mit allen n-Tupeln aus S kombiniert
Nur falls die letzten p Komponenten des m-Tupels mit den ersten
p Komponenten des n-Tupels übereinstimmen, liegt das
(m + n − p)-Tupel im Verbund Jp (R, S)
Für p = 0 erhält man das kartesische oder Kreuzprodukt der
beiden Mengen R und S, geschrieben R × S
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
34 / 45
Verbund (Join)
Natürlicher Verbund (natural Join): Definition
Definition (Natürlicher Verbund (natural Join))
Sei R eine m- und S eine n-stellige Relation. Dann ist für
p ≤ min(m, n) der Verbund Jp (R, S) die (m + n − p)-stellige Relation,
die aus allen (m + n − p)-Tupeln
(a1 , a2 , . . . , am−p , c1 , c2 , . . . , cp , bp+1 , bp+2 , . . . , bn ) besteht, wobei
(a1 , a2 , . . . , am−p , c1 , c2 , . . . , cp ) ∈ R und
(c1 , c2 , . . . , cp , bp+1 , bp+2 , . . . , bn ) ∈ S.
Aus zwei Relationen R und S wird eine neue Relation Jp (R, S)
Alle m-Tupel aus R werden mit allen n-Tupeln aus S kombiniert
Nur falls die letzten p Komponenten des m-Tupels mit den ersten
p Komponenten des n-Tupels übereinstimmen, liegt das
(m + n − p)-Tupel im Verbund Jp (R, S)
Für p = 0 erhält man das kartesische oder Kreuzprodukt der
beiden Mengen R und S, geschrieben R × S
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
34 / 45
Verbund (Join)
Natürlicher Verbund (natural Join): Definition
Definition (Natürlicher Verbund (natural Join))
Sei R eine m- und S eine n-stellige Relation. Dann ist für
p ≤ min(m, n) der Verbund Jp (R, S) die (m + n − p)-stellige Relation,
die aus allen (m + n − p)-Tupeln
(a1 , a2 , . . . , am−p , c1 , c2 , . . . , cp , bp+1 , bp+2 , . . . , bn ) besteht, wobei
(a1 , a2 , . . . , am−p , c1 , c2 , . . . , cp ) ∈ R und
(c1 , c2 , . . . , cp , bp+1 , bp+2 , . . . , bn ) ∈ S.
Aus zwei Relationen R und S wird eine neue Relation Jp (R, S)
Alle m-Tupel aus R werden mit allen n-Tupeln aus S kombiniert
Nur falls die letzten p Komponenten des m-Tupels mit den ersten
p Komponenten des n-Tupels übereinstimmen, liegt das
(m + n − p)-Tupel im Verbund Jp (R, S)
Für p = 0 erhält man das kartesische oder Kreuzprodukt der
beiden Mengen R und S, geschrieben R × S
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
34 / 45
Verbund (Join)
Natürlicher Verbund (natural Join): Beispiel
Example
Berechne den Verbund J2 der beiden Relationen
Teaching-assignments und Class-schedule.
Teaching-assignments
Prof.
Depart.
C-No
Cruz
Zoology
335
Cruz
Zoology
412
Farber
Psychology
501
Farber
Psychology
617
Grammer Physics
544
Grammer Physics
551
Rosen
CS
518
Rosen
Math.
575
Josef F. Bürgler (HSLU T&A)
Class-assignments
Depart.
C-No Room
CS
518
N521
Math.
575
N502
Math.
611
N521
Physics
544
B505
Psychology
501
A100
Psychology
617
A110
Zoology
335
A100
Zoology
412
A100
Relationale Algebra
Time
14:00
15:00
16:00
16:00
15:00
11:00
9:00
8:00
HTA.DMG
35 / 45
Verbund (Join)
Natürlicher Verbund (natural Join): Beispiel
Example
Berechne den Verbund J2 der beiden Relationen
Teaching-assignments und Class-schedule.
Teaching-assignments
Prof.
Depart.
C-No
Cruz
Zoology
335
Cruz
Zoology
412
Farber
Psychology
501
Farber
Psychology
617
Grammer Physics
544
Grammer Physics
551
Rosen
CS
518
Rosen
Math.
575
Josef F. Bürgler (HSLU T&A)
Class-assignments
Depart.
C-No Room
CS
518
N521
Math.
575
N502
Math.
611
N521
Physics
544
B505
Psychology
501
A100
Psychology
617
A110
Zoology
335
A100
Zoology
412
A100
Relationale Algebra
Time
14:00
15:00
16:00
16:00
15:00
11:00
9:00
8:00
HTA.DMG
35 / 45
Verbund (Join)
Natürlicher Verbund (natural Join): Beispiel
Example
Berechne den Verbund J2 der beiden Relationen
Teaching-assignments und Class-schedule.
Teaching-assignments
Prof.
Depart.
C-No
Cruz
Zoology
335
Cruz
Zoology
412
Farber
Psychology
501
Farber
Psychology
617
Grammer Physics
544
Grammer Physics
551
Rosen
CS
518
Rosen
Math.
575
Josef F. Bürgler (HSLU T&A)
Class-assignments
Depart.
C-No Room
CS
518
N521
Math.
575
N502
Math.
611
N521
Physics
544
B505
Psychology
501
A100
Psychology
617
A110
Zoology
335
A100
Zoology
412
A100
Relationale Algebra
Time
14:00
15:00
16:00
16:00
15:00
11:00
9:00
8:00
HTA.DMG
35 / 45
Verbund (Join)
Natürlicher Verbund (natural Join): Beispiel
Example
Berechne den Verbund J2 der beiden Relationen
Teaching-assignments und Class-schedule.
Teaching-assignments
Prof.
Depart.
C-No
Cruz
Zoology
335
Cruz
Zoology
412
Farber
Psychology
501
Farber
Psychology
617
Grammer Physics
544
Grammer Physics
551
Rosen
CS
518
Rosen
Math.
575
Josef F. Bürgler (HSLU T&A)
Class-assignments
Depart.
C-No Room
CS
518
N521
Math.
575
N502
Math.
611
N521
Physics
544
B505
Psychology
501
A100
Psychology
617
A110
Zoology
335
A100
Zoology
412
A100
Relationale Algebra
Time
14:00
15:00
16:00
16:00
15:00
11:00
9:00
8:00
HTA.DMG
35 / 45
Verbund (Join)
Natürlicher Verbund (natural Join): Beispiel
Example
Berechne den Verbund J2 der beiden Relationen
Teaching-assignments und Class-schedule.
Teaching-assignments
Prof.
Depart.
C-No
Cruz
Zoology
335
Cruz
Zoology
412
Farber
Psychology
501
Farber
Psychology
617
Grammer Physics
544
Grammer Physics
551
Rosen
CS
518
Rosen
Math.
575
Josef F. Bürgler (HSLU T&A)
Class-assignments
Depart.
C-No Room
CS
518
N521
Math.
575
N502
Math.
611
N521
Physics
544
B505
Psychology
501
A100
Psychology
617
A110
Zoology
335
A100
Zoology
412
A100
Relationale Algebra
Time
14:00
15:00
16:00
16:00
15:00
11:00
9:00
8:00
HTA.DMG
35 / 45
Verbund (Join)
Natürlicher Verbund (natural Join): Beispiel
Example
Kann man die vorige Aufgabe mit Hilfe von anderen Operationen
lösen? Also ist der Join eigentlich überflüssig!
Lösung: Falls die erste Relation mit R(P, D, C) und die zweite mit
S(D, C, Ro, T ) bezeichnet wird, hat man
R ⊲⊳{D, C} S = ΠP,D,C,Ro,T (σR.D=S.D∧R.C=S.C (R × S)) .
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
36 / 45
Verbund (Join)
Natürlicher Verbund (natural Join): Beispiel
Example
Kann man die vorige Aufgabe mit Hilfe von anderen Operationen
lösen? Also ist der Join eigentlich überflüssig!
Lösung: Falls die erste Relation mit R(P, D, C) und die zweite mit
S(D, C, Ro, T ) bezeichnet wird, hat man
R ⊲⊳{D, C} S = ΠP,D,C,Ro,T (σR.D=S.D∧R.C=S.C (R × S)) .
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
36 / 45
Verbund (Join)
Verschiedene Joins
Cross Join (Kreuzprodukt oder kartesisches Produkt) verbindet
jede Zeile der ersten Tabelle mit jeder Zeile der zweiten Tabelle
Inner Join (= equivalent join) verbindet Datensätze aus zwei
Tabellen, sobald ein gemeinsames Feld dieselben Werte enthält.
Natural Join verknüpft zwei Relationen R und S über die
Gleichheit aller gleich lautenden Spalten die nur einmal angezeigt
werden: geschrieben R ⊲⊳ S.
Left outer join = left join via linke Inklusionsverknüpfung, d.h.
Datensätze aus der linken Tabelle sind eingeschlossen auch wenn
keine entsprechende Werte für die Datensätze in der rechten
Tabelle existieren.
θ-Join zweier Relation R und S, geschreiben R ⊲⊳θ S
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
37 / 45
Verbund (Join)
Verschiedene Joins
Cross Join (Kreuzprodukt oder kartesisches Produkt) verbindet
jede Zeile der ersten Tabelle mit jeder Zeile der zweiten Tabelle
Inner Join (= equivalent join) verbindet Datensätze aus zwei
Tabellen, sobald ein gemeinsames Feld dieselben Werte enthält.
Natural Join verknüpft zwei Relationen R und S über die
Gleichheit aller gleich lautenden Spalten die nur einmal angezeigt
werden: geschrieben R ⊲⊳ S.
Left outer join = left join via linke Inklusionsverknüpfung, d.h.
Datensätze aus der linken Tabelle sind eingeschlossen auch wenn
keine entsprechende Werte für die Datensätze in der rechten
Tabelle existieren.
θ-Join zweier Relation R und S, geschreiben R ⊲⊳θ S
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
37 / 45
Verbund (Join)
Verschiedene Joins
Cross Join (Kreuzprodukt oder kartesisches Produkt) verbindet
jede Zeile der ersten Tabelle mit jeder Zeile der zweiten Tabelle
Inner Join (= equivalent join) verbindet Datensätze aus zwei
Tabellen, sobald ein gemeinsames Feld dieselben Werte enthält.
Natural Join verknüpft zwei Relationen R und S über die
Gleichheit aller gleich lautenden Spalten die nur einmal angezeigt
werden: geschrieben R ⊲⊳ S.
Left outer join = left join via linke Inklusionsverknüpfung, d.h.
Datensätze aus der linken Tabelle sind eingeschlossen auch wenn
keine entsprechende Werte für die Datensätze in der rechten
Tabelle existieren.
θ-Join zweier Relation R und S, geschreiben R ⊲⊳θ S
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
37 / 45
Verbund (Join)
Verschiedene Joins
Cross Join (Kreuzprodukt oder kartesisches Produkt) verbindet
jede Zeile der ersten Tabelle mit jeder Zeile der zweiten Tabelle
Inner Join (= equivalent join) verbindet Datensätze aus zwei
Tabellen, sobald ein gemeinsames Feld dieselben Werte enthält.
Natural Join verknüpft zwei Relationen R und S über die
Gleichheit aller gleich lautenden Spalten die nur einmal angezeigt
werden: geschrieben R ⊲⊳ S.
Left outer join = left join via linke Inklusionsverknüpfung, d.h.
Datensätze aus der linken Tabelle sind eingeschlossen auch wenn
keine entsprechende Werte für die Datensätze in der rechten
Tabelle existieren.
θ-Join zweier Relation R und S, geschreiben R ⊲⊳θ S
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
37 / 45
Verbund (Join)
Verschiedene Joins
Cross Join (Kreuzprodukt oder kartesisches Produkt) verbindet
jede Zeile der ersten Tabelle mit jeder Zeile der zweiten Tabelle
Inner Join (= equivalent join) verbindet Datensätze aus zwei
Tabellen, sobald ein gemeinsames Feld dieselben Werte enthält.
Natural Join verknüpft zwei Relationen R und S über die
Gleichheit aller gleich lautenden Spalten die nur einmal angezeigt
werden: geschrieben R ⊲⊳ S.
Left outer join = left join via linke Inklusionsverknüpfung, d.h.
Datensätze aus der linken Tabelle sind eingeschlossen auch wenn
keine entsprechende Werte für die Datensätze in der rechten
Tabelle existieren.
θ-Join zweier Relation R und S, geschreiben R ⊲⊳θ S
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
37 / 45
Verbund (Join)
θ-Join: Beispiel
Example
Berechne Account ⊲⊳Number=Account and Amount>700 Deposit, falls:
Account
Number
101
102
103
104
105
Owner
J. Smith
W. Wei
J. Smith
M. Jones
H. Martin
Deposit
Account
102
102
104
105
T-id
1
2
3
4
Josef F. Bürgler (HSLU T&A)
Balance
1’000.00
2’000.00
5’000.00
1’000.00
10’000.00
Date
10/22/05
10/29/05
10/29/05
11/02/05
Type
checking
checking
savings
checking
checking
Amount
500.00
200.00
1’000.00
10’000.00
Relationale Algebra
HTA.DMG
38 / 45
Verbund (Join)
θ-Join (Fort.)
θ-Join: R ⊲⊳θ S = σθ (R × S)
Resultatschema ist das selbe wie beim Kreuzprodukt
Weniger Tupel als im Kreuzprodukt, da Selektion: kann effizienter
berechnet werden
Auch conditional join genannt
Beim Equi-Join sind alle Bedingungen Gleichheit
Natural Join ist gleich dem Equi-Join auf den gemeinsamen
Attributen
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
39 / 45
Verbund (Join)
θ-Join (Fort.)
θ-Join: R ⊲⊳θ S = σθ (R × S)
Resultatschema ist das selbe wie beim Kreuzprodukt
Weniger Tupel als im Kreuzprodukt, da Selektion: kann effizienter
berechnet werden
Auch conditional join genannt
Beim Equi-Join sind alle Bedingungen Gleichheit
Natural Join ist gleich dem Equi-Join auf den gemeinsamen
Attributen
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
39 / 45
Verbund (Join)
θ-Join (Fort.)
θ-Join: R ⊲⊳θ S = σθ (R × S)
Resultatschema ist das selbe wie beim Kreuzprodukt
Weniger Tupel als im Kreuzprodukt, da Selektion: kann effizienter
berechnet werden
Auch conditional join genannt
Beim Equi-Join sind alle Bedingungen Gleichheit
Natural Join ist gleich dem Equi-Join auf den gemeinsamen
Attributen
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
39 / 45
Verbund (Join)
θ-Join (Fort.)
θ-Join: R ⊲⊳θ S = σθ (R × S)
Resultatschema ist das selbe wie beim Kreuzprodukt
Weniger Tupel als im Kreuzprodukt, da Selektion: kann effizienter
berechnet werden
Auch conditional join genannt
Beim Equi-Join sind alle Bedingungen Gleichheit
Natural Join ist gleich dem Equi-Join auf den gemeinsamen
Attributen
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
39 / 45
Verbund (Join)
θ-Join (Fort.)
θ-Join: R ⊲⊳θ S = σθ (R × S)
Resultatschema ist das selbe wie beim Kreuzprodukt
Weniger Tupel als im Kreuzprodukt, da Selektion: kann effizienter
berechnet werden
Auch conditional join genannt
Beim Equi-Join sind alle Bedingungen Gleichheit
Natural Join ist gleich dem Equi-Join auf den gemeinsamen
Attributen
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
39 / 45
Verbund (Join)
θ-Join (Fort.)
θ-Join: R ⊲⊳θ S = σθ (R × S)
Resultatschema ist das selbe wie beim Kreuzprodukt
Weniger Tupel als im Kreuzprodukt, da Selektion: kann effizienter
berechnet werden
Auch conditional join genannt
Beim Equi-Join sind alle Bedingungen Gleichheit
Natural Join ist gleich dem Equi-Join auf den gemeinsamen
Attributen
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
39 / 45
Verbund (Join)
Natural-, Outer-, Left- and Right-Join
Example
Berechne den natural-,
outer-, left- und right-join der
beiden Relationen L und R:
Josef F. Bürgler (HSLU T&A)
L
A
1
2
Relationale Algebra
B
2
3
R
B
3
4
C
4
5
HTA.DMG
40 / 45
Verbund (Join)
Natural-, Outer-, Left- and Right-Join
Example
Berechne den natural-,
outer-, left- und right-join der
beiden Relationen L und R:
Josef F. Bürgler (HSLU T&A)
L
A
1
2
Relationale Algebra
B
2
3
R
B
3
4
C
4
5
HTA.DMG
40 / 45
Verbund (Join)
Natural-, Outer-, Left- and Right-Join
Example
Berechne den natural-,
outer-, left- und right-join der
beiden Relationen L und R:
Josef F. Bürgler (HSLU T&A)
L
A
1
2
Relationale Algebra
B
2
3
R
B
3
4
C
4
5
HTA.DMG
40 / 45
Verbund (Join)
Natural-, Outer-, Left- and Right-Join
Example
Berechne den natural-,
outer-, left- und right-join der
beiden Relationen L und R:
Josef F. Bürgler (HSLU T&A)
L
A
1
2
Relationale Algebra
B
2
3
R
B
3
4
C
4
5
HTA.DMG
40 / 45
Verbund (Join)
Natural-, Outer-, Left- and Right-Join
Example
Berechne den natural-,
outer-, left- und right-join der
beiden Relationen L und R:
L
A
1
2
B
2
3
R
B
3
4
C
4
5
Lösung:
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
40 / 45
Verbund (Join)
Natural-, Outer-, Left- and Right-Join
Example
Berechne den natural-,
outer-, left- und right-join der
beiden Relationen L und R:
L
A
1
2
B
2
3
R
B
3
4
C
4
5
Lösung:
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
40 / 45
Division
Outline
1
Einführung
2
Vereinigung
3
Durchschnitt
4
Differenz
5
Kreuzprodukt
6
Selektion
7
Projektion
8
Umbenennung
9
Relationenalgebra
10
Verbund (Join)
11
Division
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
41 / 45
Division
Division
Umkehrung des Kreuzprodukts (Joins)
Wir berechnen R ÷ S wobei R(r1 , r2 , r3 , r4 ) und S(s1 , s2 )
Da S zwei Attribute hat, muss es zwei gleich benannte Attribute
(sagen wir r3 und r4 ) in R geben; d.h. (r3 , r4 ) und (s1 , s2 ) sind
typ-kompatibel.
Die Division R ÷ S enthält die verbleibenden Attribute (r1 , r2 ): das
Tupel (r1 , r2 ) liegt in R ÷ S, falls (r1 , r2 ) in R für jedes S-Tupel.
Sinnvoll zur Beantwortung von Fragen wie: find costumers who
have all types of accounts (saving and checking).
Für R(x, y) und S(y) hat man:
R ÷ S = {(x) |∃(x, y) ∈ R ∧ ∀(y) ∈ S } = R/S
R ÷ S enthält alle (x)-Tupel so, dass für jedes (y)-Tupel aus S ein
(x, y)-Tupel in R existiert.
Falls die Menge der (y)-Werte, assoziert mit einem (x)-Wert in R
alle (y)-Werte in S enthält, dann ist (x) in R ÷ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
42 / 45
Division
Division
Umkehrung des Kreuzprodukts (Joins)
Wir berechnen R ÷ S wobei R(r1 , r2 , r3 , r4 ) und S(s1 , s2 )
Da S zwei Attribute hat, muss es zwei gleich benannte Attribute
(sagen wir r3 und r4 ) in R geben; d.h. (r3 , r4 ) und (s1 , s2 ) sind
typ-kompatibel.
Die Division R ÷ S enthält die verbleibenden Attribute (r1 , r2 ): das
Tupel (r1 , r2 ) liegt in R ÷ S, falls (r1 , r2 ) in R für jedes S-Tupel.
Sinnvoll zur Beantwortung von Fragen wie: find costumers who
have all types of accounts (saving and checking).
Für R(x, y) und S(y) hat man:
R ÷ S = {(x) |∃(x, y) ∈ R ∧ ∀(y) ∈ S } = R/S
R ÷ S enthält alle (x)-Tupel so, dass für jedes (y)-Tupel aus S ein
(x, y)-Tupel in R existiert.
Falls die Menge der (y)-Werte, assoziert mit einem (x)-Wert in R
alle (y)-Werte in S enthält, dann ist (x) in R ÷ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
42 / 45
Division
Division
Umkehrung des Kreuzprodukts (Joins)
Wir berechnen R ÷ S wobei R(r1 , r2 , r3 , r4 ) und S(s1 , s2 )
Da S zwei Attribute hat, muss es zwei gleich benannte Attribute
(sagen wir r3 und r4 ) in R geben; d.h. (r3 , r4 ) und (s1 , s2 ) sind
typ-kompatibel.
Die Division R ÷ S enthält die verbleibenden Attribute (r1 , r2 ): das
Tupel (r1 , r2 ) liegt in R ÷ S, falls (r1 , r2 ) in R für jedes S-Tupel.
Sinnvoll zur Beantwortung von Fragen wie: find costumers who
have all types of accounts (saving and checking).
Für R(x, y) und S(y) hat man:
R ÷ S = {(x) |∃(x, y) ∈ R ∧ ∀(y) ∈ S } = R/S
R ÷ S enthält alle (x)-Tupel so, dass für jedes (y)-Tupel aus S ein
(x, y)-Tupel in R existiert.
Falls die Menge der (y)-Werte, assoziert mit einem (x)-Wert in R
alle (y)-Werte in S enthält, dann ist (x) in R ÷ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
42 / 45
Division
Division
Umkehrung des Kreuzprodukts (Joins)
Wir berechnen R ÷ S wobei R(r1 , r2 , r3 , r4 ) und S(s1 , s2 )
Da S zwei Attribute hat, muss es zwei gleich benannte Attribute
(sagen wir r3 und r4 ) in R geben; d.h. (r3 , r4 ) und (s1 , s2 ) sind
typ-kompatibel.
Die Division R ÷ S enthält die verbleibenden Attribute (r1 , r2 ): das
Tupel (r1 , r2 ) liegt in R ÷ S, falls (r1 , r2 ) in R für jedes S-Tupel.
Sinnvoll zur Beantwortung von Fragen wie: find costumers who
have all types of accounts (saving and checking).
Für R(x, y) und S(y) hat man:
R ÷ S = {(x) |∃(x, y) ∈ R ∧ ∀(y) ∈ S } = R/S
R ÷ S enthält alle (x)-Tupel so, dass für jedes (y)-Tupel aus S ein
(x, y)-Tupel in R existiert.
Falls die Menge der (y)-Werte, assoziert mit einem (x)-Wert in R
alle (y)-Werte in S enthält, dann ist (x) in R ÷ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
42 / 45
Division
Division
Umkehrung des Kreuzprodukts (Joins)
Wir berechnen R ÷ S wobei R(r1 , r2 , r3 , r4 ) und S(s1 , s2 )
Da S zwei Attribute hat, muss es zwei gleich benannte Attribute
(sagen wir r3 und r4 ) in R geben; d.h. (r3 , r4 ) und (s1 , s2 ) sind
typ-kompatibel.
Die Division R ÷ S enthält die verbleibenden Attribute (r1 , r2 ): das
Tupel (r1 , r2 ) liegt in R ÷ S, falls (r1 , r2 ) in R für jedes S-Tupel.
Sinnvoll zur Beantwortung von Fragen wie: find costumers who
have all types of accounts (saving and checking).
Für R(x, y) und S(y) hat man:
R ÷ S = {(x) |∃(x, y) ∈ R ∧ ∀(y) ∈ S } = R/S
R ÷ S enthält alle (x)-Tupel so, dass für jedes (y)-Tupel aus S ein
(x, y)-Tupel in R existiert.
Falls die Menge der (y)-Werte, assoziert mit einem (x)-Wert in R
alle (y)-Werte in S enthält, dann ist (x) in R ÷ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
42 / 45
Division
Division
Umkehrung des Kreuzprodukts (Joins)
Wir berechnen R ÷ S wobei R(r1 , r2 , r3 , r4 ) und S(s1 , s2 )
Da S zwei Attribute hat, muss es zwei gleich benannte Attribute
(sagen wir r3 und r4 ) in R geben; d.h. (r3 , r4 ) und (s1 , s2 ) sind
typ-kompatibel.
Die Division R ÷ S enthält die verbleibenden Attribute (r1 , r2 ): das
Tupel (r1 , r2 ) liegt in R ÷ S, falls (r1 , r2 ) in R für jedes S-Tupel.
Sinnvoll zur Beantwortung von Fragen wie: find costumers who
have all types of accounts (saving and checking).
Für R(x, y) und S(y) hat man:
R ÷ S = {(x) |∃(x, y) ∈ R ∧ ∀(y) ∈ S } = R/S
R ÷ S enthält alle (x)-Tupel so, dass für jedes (y)-Tupel aus S ein
(x, y)-Tupel in R existiert.
Falls die Menge der (y)-Werte, assoziert mit einem (x)-Wert in R
alle (y)-Werte in S enthält, dann ist (x) in R ÷ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
42 / 45
Division
Division
Umkehrung des Kreuzprodukts (Joins)
Wir berechnen R ÷ S wobei R(r1 , r2 , r3 , r4 ) und S(s1 , s2 )
Da S zwei Attribute hat, muss es zwei gleich benannte Attribute
(sagen wir r3 und r4 ) in R geben; d.h. (r3 , r4 ) und (s1 , s2 ) sind
typ-kompatibel.
Die Division R ÷ S enthält die verbleibenden Attribute (r1 , r2 ): das
Tupel (r1 , r2 ) liegt in R ÷ S, falls (r1 , r2 ) in R für jedes S-Tupel.
Sinnvoll zur Beantwortung von Fragen wie: find costumers who
have all types of accounts (saving and checking).
Für R(x, y) und S(y) hat man:
R ÷ S = {(x) |∃(x, y) ∈ R ∧ ∀(y) ∈ S } = R/S
R ÷ S enthält alle (x)-Tupel so, dass für jedes (y)-Tupel aus S ein
(x, y)-Tupel in R existiert.
Falls die Menge der (y)-Werte, assoziert mit einem (x)-Wert in R
alle (y)-Werte in S enthält, dann ist (x) in R ÷ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
42 / 45
Division
Division
Umkehrung des Kreuzprodukts (Joins)
Wir berechnen R ÷ S wobei R(r1 , r2 , r3 , r4 ) und S(s1 , s2 )
Da S zwei Attribute hat, muss es zwei gleich benannte Attribute
(sagen wir r3 und r4 ) in R geben; d.h. (r3 , r4 ) und (s1 , s2 ) sind
typ-kompatibel.
Die Division R ÷ S enthält die verbleibenden Attribute (r1 , r2 ): das
Tupel (r1 , r2 ) liegt in R ÷ S, falls (r1 , r2 ) in R für jedes S-Tupel.
Sinnvoll zur Beantwortung von Fragen wie: find costumers who
have all types of accounts (saving and checking).
Für R(x, y) und S(y) hat man:
R ÷ S = {(x) |∃(x, y) ∈ R ∧ ∀(y) ∈ S } = R/S
R ÷ S enthält alle (x)-Tupel so, dass für jedes (y)-Tupel aus S ein
(x, y)-Tupel in R existiert.
Falls die Menge der (y)-Werte, assoziert mit einem (x)-Wert in R
alle (y)-Werte in S enthält, dann ist (x) in R ÷ S.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
42 / 45
Division
Division
Example
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
43 / 45
Division
Division
Example
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
43 / 45
Division
Zusammenfassung
Gewöhnliche Mengeoperationen wurden auf Relationen
übertragen: Vereinigung, Durchschnitt und Differenz
Selektion und Projektion entfernen Teile der Relation
Kreuzprodukt und Verbund kombinieren Tupel zweier Relationen
Jede der Operationen liefert wieder eine Relation
Operationen können zusammengesetzt werden
Die relationale Algebra ist abgeschlossen (man bewegt sich nicht
aus dem Bereich der Relationen raus)
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
44 / 45
Division
Zusammenfassung
Gewöhnliche Mengeoperationen wurden auf Relationen
übertragen: Vereinigung, Durchschnitt und Differenz
Selektion und Projektion entfernen Teile der Relation
Kreuzprodukt und Verbund kombinieren Tupel zweier Relationen
Jede der Operationen liefert wieder eine Relation
Operationen können zusammengesetzt werden
Die relationale Algebra ist abgeschlossen (man bewegt sich nicht
aus dem Bereich der Relationen raus)
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
44 / 45
Division
Zusammenfassung
Gewöhnliche Mengeoperationen wurden auf Relationen
übertragen: Vereinigung, Durchschnitt und Differenz
Selektion und Projektion entfernen Teile der Relation
Kreuzprodukt und Verbund kombinieren Tupel zweier Relationen
Jede der Operationen liefert wieder eine Relation
Operationen können zusammengesetzt werden
Die relationale Algebra ist abgeschlossen (man bewegt sich nicht
aus dem Bereich der Relationen raus)
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
44 / 45
Division
Zusammenfassung
Gewöhnliche Mengeoperationen wurden auf Relationen
übertragen: Vereinigung, Durchschnitt und Differenz
Selektion und Projektion entfernen Teile der Relation
Kreuzprodukt und Verbund kombinieren Tupel zweier Relationen
Jede der Operationen liefert wieder eine Relation
Operationen können zusammengesetzt werden
Die relationale Algebra ist abgeschlossen (man bewegt sich nicht
aus dem Bereich der Relationen raus)
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
44 / 45
Division
Zusammenfassung
Gewöhnliche Mengeoperationen wurden auf Relationen
übertragen: Vereinigung, Durchschnitt und Differenz
Selektion und Projektion entfernen Teile der Relation
Kreuzprodukt und Verbund kombinieren Tupel zweier Relationen
Jede der Operationen liefert wieder eine Relation
Operationen können zusammengesetzt werden
Die relationale Algebra ist abgeschlossen (man bewegt sich nicht
aus dem Bereich der Relationen raus)
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
44 / 45
Division
Zusammenfassung
Gewöhnliche Mengeoperationen wurden auf Relationen
übertragen: Vereinigung, Durchschnitt und Differenz
Selektion und Projektion entfernen Teile der Relation
Kreuzprodukt und Verbund kombinieren Tupel zweier Relationen
Jede der Operationen liefert wieder eine Relation
Operationen können zusammengesetzt werden
Die relationale Algebra ist abgeschlossen (man bewegt sich nicht
aus dem Bereich der Relationen raus)
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
44 / 45
Division
Zusammenfassung (Fort.)
Selektion (σ) wählt eine Menge von Tupeln (Zeilen) aus.
Projektion (Π) löscht ungewollte Komponenten (Spalten).
Kreuzprodukt (×) ermöglicht die Kombination zweier Relationen.
Differenz (\) Tupel (Zeilen) sind in Relation 1 aber nicht in
Relation 2.
Vereinigung (∪) Tupel (Zeilen) sind in Relation 1 und in Relation
2.
Weitere nicht wesentliche aber besonders nützliche
Verknüpfungen sind: Durchschnitt, Verbund und
Umbenennung.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
45 / 45
Division
Zusammenfassung (Fort.)
Selektion (σ) wählt eine Menge von Tupeln (Zeilen) aus.
Projektion (Π) löscht ungewollte Komponenten (Spalten).
Kreuzprodukt (×) ermöglicht die Kombination zweier Relationen.
Differenz (\) Tupel (Zeilen) sind in Relation 1 aber nicht in
Relation 2.
Vereinigung (∪) Tupel (Zeilen) sind in Relation 1 und in Relation
2.
Weitere nicht wesentliche aber besonders nützliche
Verknüpfungen sind: Durchschnitt, Verbund und
Umbenennung.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
45 / 45
Division
Zusammenfassung (Fort.)
Selektion (σ) wählt eine Menge von Tupeln (Zeilen) aus.
Projektion (Π) löscht ungewollte Komponenten (Spalten).
Kreuzprodukt (×) ermöglicht die Kombination zweier Relationen.
Differenz (\) Tupel (Zeilen) sind in Relation 1 aber nicht in
Relation 2.
Vereinigung (∪) Tupel (Zeilen) sind in Relation 1 und in Relation
2.
Weitere nicht wesentliche aber besonders nützliche
Verknüpfungen sind: Durchschnitt, Verbund und
Umbenennung.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
45 / 45
Division
Zusammenfassung (Fort.)
Selektion (σ) wählt eine Menge von Tupeln (Zeilen) aus.
Projektion (Π) löscht ungewollte Komponenten (Spalten).
Kreuzprodukt (×) ermöglicht die Kombination zweier Relationen.
Differenz (\) Tupel (Zeilen) sind in Relation 1 aber nicht in
Relation 2.
Vereinigung (∪) Tupel (Zeilen) sind in Relation 1 und in Relation
2.
Weitere nicht wesentliche aber besonders nützliche
Verknüpfungen sind: Durchschnitt, Verbund und
Umbenennung.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
45 / 45
Division
Zusammenfassung (Fort.)
Selektion (σ) wählt eine Menge von Tupeln (Zeilen) aus.
Projektion (Π) löscht ungewollte Komponenten (Spalten).
Kreuzprodukt (×) ermöglicht die Kombination zweier Relationen.
Differenz (\) Tupel (Zeilen) sind in Relation 1 aber nicht in
Relation 2.
Vereinigung (∪) Tupel (Zeilen) sind in Relation 1 und in Relation
2.
Weitere nicht wesentliche aber besonders nützliche
Verknüpfungen sind: Durchschnitt, Verbund und
Umbenennung.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
45 / 45
Division
Zusammenfassung (Fort.)
Selektion (σ) wählt eine Menge von Tupeln (Zeilen) aus.
Projektion (Π) löscht ungewollte Komponenten (Spalten).
Kreuzprodukt (×) ermöglicht die Kombination zweier Relationen.
Differenz (\) Tupel (Zeilen) sind in Relation 1 aber nicht in
Relation 2.
Vereinigung (∪) Tupel (Zeilen) sind in Relation 1 und in Relation
2.
Weitere nicht wesentliche aber besonders nützliche
Verknüpfungen sind: Durchschnitt, Verbund und
Umbenennung.
Josef F. Bürgler (HSLU T&A)
Relationale Algebra
HTA.DMG
45 / 45
Herunterladen