Relationale Algebra im DBMS: Operationen mit Beispielen
Relationale Algebra
RELATIONALE ALGEBRA ist eine weit verbreitete prozedurale Abfragesprache. Sie sammelt Instanzen von Relationen als Eingabe und gibt Vorkommen von Relationen als Ausgabe aus. Dabei werden verschiedene Operationen verwendet. SQL-Abfrageoperationen der relationalen Algebra werden rekursiv auf einer Relation ausgeführt. Die Ausgabe dieser Operationen ist eine neue Relation, die aus einer oder mehreren Eingaberelationen gebildet werden kann.
Grundlegende relationale SQL-Algebra Operations
Die relationale Algebra unterteilt sich in verschiedene Gruppen
Unär relational Operations
- AUSWÄHLEN (Symbol: σ)
- PROJEKT (Symbol: π)
- UMBENENNEN (Symbol: ρ)
Relationale Algebra Operationen aus der Mengenlehre
- UNION (υ)
- KREUZUNG ( ),
- UNTERSCHIED (-)
- KARTESISCHES PRODUKT (x)
Binär relational Operations
- JOIN
- DIVISION
Lassen Sie uns sie im Detail mit Lösungen studieren:
AUSWÄHLEN (σ)
Die SELECT-Operation wird verwendet, um eine Teilmenge der Tupel gemäß einer gegebenen Auswahlbedingung auszuwählen. Das Sigma(σ)-Symbol kennzeichnet dies. Es wird als Ausdruck verwendet, um Tupel auszuwählen, die die Auswahlbedingung erfüllen. Der Select-Operator wählt Tupel aus, die ein gegebenes Prädikat erfüllen.
σp(r)
σ
ist das Prädikat
r
steht für Relation, also den Namen der Tabelle
p
ist Präpositionallogik
Beispiel 1
σ topic = "Database" (Tutorials)
Ausgang – Wählt Tupel aus Tutorials aus, wobei topic = 'Database' ist.
Beispiel 2
σ topic = "Database" and author = "guru99"( Tutorials)
Ausgang – Wählt Tupel aus Tutorials aus, bei denen das Thema „Datenbank“ und der „Autor“ guru99 ist.
Beispiel 3
σ sales > 50000 (Customers)
Ausgang – Wählt Tupel von Kunden aus, deren Umsatz größer als 50000 ist
Projektion(π)
Die Projektion eliminiert alle Attribute der Eingaberelation außer den in der Projektionsliste genannten. Die Projektionsmethode definiert eine Beziehung, die eine vertikale Teilmenge der Beziehung enthält.
Dies hilft, die Werte angegebener Attribute zu extrahieren, um doppelte Werte zu eliminieren. Das Symbol (pi) wird verwendet, um Attribute aus einer Relation auszuwählen. Dieser Operator hilft Ihnen, bestimmte Spalten aus einer Relation beizubehalten und die anderen Spalten zu verwerfen.
Beispiel einer Projektion:
Betrachten Sie die folgende Tabelle
Kundennummer | Kundenname | Status |
---|---|---|
1 | Aktives | |
2 | Amazon | Aktives |
3 | Apple | Inaktiv |
4 | Alibaba | Aktives |
Hier wird die Projektion von Kundenname und Status angezeigt
Π CustomerName, Status (Customers)
Kundenname | Status |
---|---|
Aktives | |
Amazon | Aktives |
Apple | Inaktiv |
Alibaba | Aktives |
Umbenennen (ρ)
Umbenennen ist eine unäre Operation zum Umbenennen von Attributen einer Relation.
ρ (a/b)R benennt das Attribut „b“ der Relation in „a“ um.
Union-Operation (υ)
UNION wird durch das Symbol ∪ symbolisiert. Es umfasst alle Tupel, die sich in den Tabellen A oder B befinden. Außerdem werden doppelte Tupel entfernt. Set A UNION Set B würde also wie folgt ausgedrückt werden:
Das Ergebnis <- A ∪ B
Damit eine Vereinigungsoperation gültig ist, müssen die folgenden Bedingungen erfüllt sein:
- R und S müssen die gleiche Anzahl von Attributen sein.
- Attributdomänen müssen kompatibel sein.
- Doppelte Tupel sollten automatisch entfernt werden.
Beispiel
Betrachten Sie die folgenden Tabellen.
Spalte 1 | Spalte 2 | Spalte 1 | Spalte 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B ergibt
Spalte 1 | Spalte 2 |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Differenz einstellen (-)
– Symbol weist darauf hin. Das Ergebnis von A – B ist eine Beziehung, die alle Tupel umfasst, die in A, aber nicht in B liegen.
- Der Attributname von A muss mit dem Attributnamen in B übereinstimmen.
- Die Zwei-Operanden-Relationen A und B sollten entweder kompatibel oder Union-kompatibel sein.
- Es sollte eine definierte Relation sein, die aus den Tupeln besteht, die in Relation A, aber nicht in B stehen.
Beispiel
A-B
Spalte 1 | Spalte 2 |
---|---|
1 | 2 |
Schnittpunkt
Ein Schnittpunkt wird durch das Symbol ∩ definiert
A ∩ B
Definiert eine Beziehung, die aus einer Menge aller Tupel besteht, die sowohl in A als auch in B enthalten sind. A und B müssen jedoch mit der Vereinigung kompatibel sein.

Ejemplo:
A ∩ B
Spalte 1 | Spalte 2 |
---|---|
1 | 1 |
Kartesisches Produkt (X) im DBMS
Kartesisches Produkt im DBMS ist eine Operation zum Zusammenführen von Spalten aus zwei Relationen. Im Allgemeinen ist ein kartesisches Produkt nie eine sinnvolle Operation, wenn es allein ausgeführt wird. Es wird jedoch sinnvoll, wenn ihm andere Operationen folgen. Es wird auch Kreuzprodukt oder Kreuzverknüpfung genannt.
Beispiel – Kartesisches Produkt
σ Spalte 2 = '1' (AXB)
Ausgabe – Das obige Beispiel zeigt alle Zeilen aus Relation A und B, deren Spalte 2 den Wert 1 hat
Spalte 1 | Spalte 2 |
---|---|
1 | 1 |
1 | 1 |
Registrieren Operations
Bei der Join-Operation handelt es sich im Wesentlichen um ein kartesisches Produkt, gefolgt von einem Auswahlkriterium.
Verbindungsvorgang mit ⋈ gekennzeichnet.
Die JOIN-Operation ermöglicht auch das Verbinden unterschiedlich verwandter Tupel aus verschiedenen Relationen.
JOIN-Typen:
Verschiedene Formen von Join-Operationen sind:
Innere Verbindungen:
- Theta macht mit
- EQUI beitreten
- Natürliche Verbindung
Äußerer Join:
- Linke äußere Verbindung
- Rechte äußere Verknüpfung
- Vollständige äußere Verbindung
Innerer Beitritt
Bei einem Inner Join werden nur die Tupel einbezogen, die die Übereinstimmungskriterien erfüllen, während der Rest ausgeschlossen wird. Lassen Sie uns verschiedene Arten von Inner Joins untersuchen:
Theta Join
Der allgemeine Fall einer JOIN-Operation wird als Theta-Join bezeichnet. Er wird durch das Symbol gekennzeichnet θ
Beispiel
A ⋈θ B
Der Theta-Join kann beliebige Bedingungen in den Auswahlkriterien verwenden.
Beispielsweise:
A ⋈ A.column 2 > B.column 2 (B)
Spalte 1 | Spalte 2 |
---|---|
1 | 2 |
EQUI beitreten
Wenn ein Theta-Join nur die Äquivalenzbedingung verwendet, wird er zu einem Equi-Join.
Beispielsweise:
A ⋈ A.column 2 = B.column 2 (B)
Spalte 1 | Spalte 2 |
---|---|
1 | 1 |
Der EQUI-Join ist die Operation, die mit SQL in einem RDBMS am schwierigsten effizient zu implementieren ist. RDBMS wesentliche Leistungsprobleme haben.
NATÜRLICHE VERBINDUNG (⋈)
Eine natürliche Verknüpfung kann nur durchgeführt werden, wenn zwischen den Beziehungen ein gemeinsames Attribut (Spalte) vorhanden ist. Name und Typ des Attributs müssen identisch sein.
Beispiel
Betrachten Sie die folgenden beiden Tabellen
Num | Quadratische Form |
---|---|
2 | 4 |
3 | 9 |
Num | Würfel |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
Num | Quadratische Form | Würfel |
---|---|---|
2 | 4 | 8 |
3 | 9 | 27 |
OUTER JOIN
In einen Outer-Join schließen wir neben Tupeln, die die Übereinstimmungskriterien erfüllen, auch einige oder alle Tupel ein, die die Kriterien nicht erfüllen.
Linker äußerer Join (A ⟕ B)
Beim linken äußeren Join ermöglicht die Operation, alle Tupel in der linken Relation beizubehalten. Wenn jedoch in der rechten Relation kein passendes Tupel gefunden wird, werden die Attribute der rechten Relation im Join-Ergebnis mit Nullwerten gefüllt.
Betrachten Sie die folgenden 2 Tabellen
Num | Quadratische Form |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
Num | Würfel |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
AB
Num | Quadratische Form | Würfel |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
Rechter äußerer Join (A ⟖ B)
Beim rechten äußeren Join ermöglicht die Operation, alle Tupel in der rechten Relation zu behalten. Wenn jedoch in der linken Relation kein passendes Tupel gefunden wird, werden die Attribute der linken Relation im Join-Ergebnis mit Nullwerten gefüllt.
AB
Num | Würfel | Quadratische Form |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Vollständiger äußerer Join (A ⟗ B)
Bei einem vollständigen Outer-Join werden unabhängig von der Übereinstimmungsbedingung alle Tupel aus beiden Beziehungen in das Ergebnis einbezogen.
AB
Num | Würfel | Quadratische Form |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Zusammenfassung
Operation(Symbole) | Sinn |
---|---|
Wählen(σ) | Die SELECT-Operation wird verwendet, um eine Teilmenge der Tupel gemäß einer gegebenen Auswahlbedingung auszuwählen. |
Projektion(π) | Die Projektion eliminiert alle Attribute der Eingaberelation außer den in der Projektionsliste genannten. |
Union Operation(∪) | UNION wird durch Symbol symbolisiert. Es umfasst alle Tupel, die sich in den Tabellen A oder B befinden. |
Differenz festlegen(-) | – Symbol weist darauf hin. Das Ergebnis von A – B ist eine Beziehung, die alle Tupel umfasst, die in A, aber nicht in B liegen. |
Schnittpunkt(∩) | Schnittpunkt definiert eine Beziehung, die aus einer Menge aller Tupel besteht, die sich sowohl in A als auch in B befinden. |
Kartesisches Produkt(X) | Die kartesische Operation ist hilfreich, um Spalten aus zwei Relationen zusammenzuführen. |
Innerer Beitritt | Inner Join schließt nur die Tupel ein, die die Übereinstimmungskriterien erfüllen. |
Theta Join(θ) | Der allgemeine Fall einer JOIN-Operation wird als Theta-Join bezeichnet. Er wird durch das Symbol θ gekennzeichnet. |
EQUI beitreten | Wenn ein Theta-Join nur die Äquivalenzbedingung verwendet, wird er zu einem Equi-Join. |
Natürliche Verbindung(⋈) | Eine natürliche Verknüpfung kann nur durchgeführt werden, wenn zwischen den Beziehungen ein gemeinsames Attribut (Spalte) vorhanden ist. |
Äußere Verbindung | In einem Outer Join, zusammen mit Tupeln, die die Übereinstimmungskriterien erfüllen. |
Linke äußere Verbindung(![]() |
Beim linken äußeren Join ermöglicht die Operation, alle Tupel in der linken Relation beizubehalten. |
Rechter äußerer Join(![]() |
Beim richtigen äußeren Join ermöglicht die Operation, alle Tupel in der richtigen Relation zu halten. |
Vollständiger äußerer Join(![]() |
Bei einem vollständigen Outer-Join werden unabhängig von der Übereinstimmungsbedingung alle Tupel aus beiden Beziehungen in das Ergebnis einbezogen. |