Relationale Algebra in DBMS: Operationen mit Beispielen

Inhaltsverzeichnis:

Anonim

Relationale Algebra

RELATIONAL ALGEBRA ist eine weit verbreitete prozedurale Abfragesprache. Es sammelt Instanzen von Beziehungen als Eingabe und gibt das Auftreten von Beziehungen als Ausgabe an. Es verwendet verschiedene Operationen, um diese Aktion auszuführen. SQL-Abfrageoperationen für relationale Algebra werden rekursiv für eine Beziehung ausgeführt. Die Ausgabe dieser Operationen ist eine neue Beziehung, die aus einer oder mehreren Eingabebeziehungen gebildet werden kann.

In diesem Tutorial lernen Sie:

  • Relationale Algebra
  • SELECT (σ)
  • Projektion (π)
  • Umbenennen (ρ)
  • Gewerkschaftsbetrieb (υ)
  • Differenz einstellen (-)
  • Überschneidung
  • Kartesisches Produkt (X)
  • Join Operations
  • Inner Join:
  • Theta Join:
  • EQUI-Join:
  • NATÜRLICHE VERBINDUNG (⋈)
  • OUTER JOIN
  • Linke äußere Verbindung (A B)
  • Rechte äußere Verbindung: (A B)
  • Vollständige äußere Verbindung: (A B)

Grundlegende relationale SQL-Algebraoperationen

Die relationale Algebra war in verschiedene Gruppen unterteilt

Unäre relationale Operationen

  • SELECT (Symbol: σ)
  • PROJEKT (Symbol: π)
  • RENAME (Symbol: ρ)

Relationale Algebraoperationen aus der Mengenlehre

  • UNION (υ)
  • INTERSECTION (),
  • UNTERSCHIED (-)
  • KARTESISCHES PRODUKT (x)

Binäre relationale Operationen

  • BEITRETEN
  • TEILUNG

Lassen Sie uns sie mit Lösungen im Detail untersuchen:

SELECT (σ)

Die SELECT-Operation wird zum Auswählen einer Teilmenge der Tupel gemäß einer gegebenen Auswahlbedingung verwendet. Das Sigma (σ) -Symbol kennzeichnet es. Es wird als Ausdruck verwendet, um Tupel auszuwählen, die die Auswahlbedingung erfüllen. Der Operator "Auswählen" wählt Tupel aus, die ein bestimmtes Prädikat erfüllen.

σp(r) σIst das Prädikat rsteht für Beziehung, die der Name der Tabelle pist, ist Präpositionallogik

Beispiel 1

σ topic = "Database" (Tutorials)

Ausgabe - Wählt Tupel aus Tutorials aus, bei denen topic = 'Database'.

Beispiel 2

σ topic = "Database" and author = "guru99"( Tutorials)

Ausgabe - Wählt Tupel aus Tutorials aus, bei denen das Thema "Datenbank" und "Autor" guru99 ist.

Beispiel 3

σ sales > 50000 (Customers)

Ausgabe - Wählt Tupel von Kunden aus, bei denen der Umsatz größer als 50000 ist

Projektion (π)

Die Projektion entfernt alle Attribute der Eingabebeziehung außer den in der Projektionsliste genannten. Die Projektionsmethode definiert eine Relation, die eine vertikale Teilmenge von Relation enthält.

Dies hilft, die Werte der angegebenen Attribute zu extrahieren, um doppelte Werte zu vermeiden. Das Symbol (pi) wird verwendet, um Attribute aus einer Beziehung auszuwählen. Mit diesem Operator können Sie bestimmte Spalten aus einer Beziehung heraushalten und die anderen Spalten verwerfen.

Beispiel für eine Projektion:

Betrachten Sie die folgende Tabelle

Kundennummer Kundenname Status
1 Google Aktiv
2 Amazonas Aktiv
3 Apfel Inaktiv
4 Alibaba Aktiv

Hier wird die Projektion von Kundenname und Status angegeben

Π CustomerName, Status (Customers)
Kundenname Status
Google Aktiv
Amazonas Aktiv
Apfel Inaktiv
Alibaba Aktiv

Umbenennen (ρ)

Umbenennen ist eine unäre Operation, mit der Attribute einer Beziehung umbenannt werden.

ρ (a / b) R benennt das Attribut 'b' der Beziehung durch 'a' um.

Gewerkschaftsbetrieb (υ)

UNION wird durch das Symbol ∪ symbolisiert. Es enthält alle Tupel in Tabelle A oder B. Es werden auch doppelte Tupel entfernt. Set A UNION Set B würde also ausgedrückt werden als:

Das Ergebnis <- A ∪ B.

Damit eine Gewerkschaftsoperation gültig ist, müssen die folgenden Bedingungen erfüllt sein:

  • R und S müssen die gleiche Anzahl von Attributen haben.
  • Attributdomänen müssen kompatibel sein.
  • Doppelte Tupel sollten automatisch entfernt werden.

Beispiel

Betrachten Sie die folgenden Tabellen.

Tabelle A. Tabelle B.
Spalte 1 Spalte 2 Spalte 1 Spalte 2
1 1 1 1
1 2 1 3

A ∪ B gibt

Tabelle A ∪ B.
Spalte 1 Spalte 2
1 1
1 2
1 3

Differenz einstellen (-)

- Symbol kennzeichnet es. Das Ergebnis von A - B ist eine Beziehung, die alle Tupel enthält, die in A, aber nicht in B sind.

  • Der Attributname von A muss mit dem Attributnamen in B übereinstimmen.
  • Die Zwei-Operanden-Beziehungen A und B sollten entweder kompatibel oder unionskompatibel sein.
  • Es sollte eine Beziehung definiert werden, die aus den Tupeln besteht, die sich in Beziehung A befinden, jedoch nicht in B.

Beispiel

A-B
Tabelle A - B.
Spalte 1 Spalte 2
1 2

Überschneidung

Ein Schnittpunkt wird durch das Symbol ∩ definiert

A ∩ B.

Definiert eine Beziehung, die aus einer Menge aller Tupel besteht, die sich sowohl in A als auch in B befinden. A und B müssen jedoch vereinigungskompatibel sein.

Visuelle Definition der Kreuzung

Beispiel:

A ∩ B
Tabelle A ∩ B.
Spalte 1 Spalte 2
1 1

Kartesisches Produkt (X) in DBMS

Das kartesische Produkt in DBMS ist eine Operation, mit der Spalten aus zwei Beziehungen zusammengeführt werden. Im Allgemeinen ist ein kartesisches Produkt niemals eine sinnvolle Operation, wenn es alleine ausgeführt wird. Es wird jedoch sinnvoll, wenn andere Operationen folgen. Es wird auch als Cross Product oder Cross Join bezeichnet.

Beispiel - Kartesisches Produkt

σ Spalte 2 = '1' (AXB)

Ausgabe - Das obige Beispiel zeigt alle Zeilen aus Beziehung A und B, deren Spalte 2 den Wert 1 hat

σ Spalte 2 = '1' (AXB)
Spalte 1 Spalte 2
1 1
1 1

Join Operations

Die Verbindungsoperation ist im Wesentlichen ein kartesisches Produkt, gefolgt von einem Auswahlkriterium.

Verknüpfungsoperation mit ⋈ bezeichnet.

Die JOIN-Operation ermöglicht auch das Zusammenfügen verschiedener verwandter Tupel aus verschiedenen Beziehungen.

Arten von JOIN:

Verschiedene Formen der Verknüpfungsoperation sind:

Innere Verbindungen:

  • Theta macht mit
  • EQUI-Join
  • Natürliche Verbindung

Äußere Verbindung:

  • Linke äußere Verbindung
  • Right Outer Join
  • Vollständige äußere Verbindung

Inner Join:

In einem inneren Join werden nur die Tupel eingeschlossen, die die Übereinstimmungskriterien erfüllen, während der Rest ausgeschlossen wird. Lassen Sie uns verschiedene Arten von inneren Verknüpfungen untersuchen:

Theta Join:

Der allgemeine Fall der JOIN-Operation wird als Theta-Join bezeichnet. Es wird mit dem Symbol θ bezeichnet

Beispiel

A ⋈θ B

Der Theta-Join kann beliebige Bedingungen in den Auswahlkriterien verwenden.

Zum Beispiel:

A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A. Spalte 2> B. Spalte 2 (B)
Spalte 1 Spalte 2
1 2

EQUI-Join:

Wenn ein Theta-Join nur eine Äquivalenzbedingung verwendet, wird er zu einem Equi-Join.

Zum Beispiel:

A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. Spalte 2 = B. Spalte 2 (B)
Spalte 1 Spalte 2
1 1

EQUI-Join ist die schwierigste Operation, die mithilfe von SQL in einem RDBMS effizient implementiert werden kann, und ein Grund, warum RDBMS wesentliche Leistungsprobleme aufweisen.

NATÜRLICHE VERBINDUNG (⋈)

Ein natürlicher Join kann nur ausgeführt werden, wenn zwischen den Relationen ein gemeinsames Attribut (eine Spalte) besteht. Der Name und der Typ des Attributs müssen identisch sein.

Beispiel

Betrachten Sie die folgenden zwei Tabellen

C.
Num Platz
2 4
3 9
D.
Num Würfel
2 8
3 27
C ⋈ D
C ⋈ D.
Num Platz Würfel
2 4 4
3 9 27

OUTER JOIN

In einem äußeren Join enthalten wir neben Tupeln, die die Übereinstimmungskriterien erfüllen, auch einige oder alle Tupel, die nicht den Kriterien entsprechen.

Linke äußere Verbindung (A B)

In der linken äußeren Verknüpfung ermöglicht die Operation, alle Tupel in der linken Beziehung zu halten. Wenn jedoch kein übereinstimmendes Tupel in der richtigen Beziehung gefunden wird, werden die Attribute der richtigen Beziehung im Verknüpfungsergebnis mit Nullwerten gefüllt.

Betrachten Sie die folgenden 2 Tabellen

EIN
Num Platz
2 4
3 9
4 16
B.
Num Würfel
2 8
3 18
5 75
A  B
A ⋈ B.
Num Platz Würfel
2 4 4
3 9 9
4 16 - -

Rechte äußere Verbindung: (A B)

In der rechten äußeren Verknüpfung ermöglicht die Operation, alle Tupel in der richtigen Beziehung zu halten. Wenn jedoch kein übereinstimmendes Tupel in der linken Beziehung gefunden wird, werden die Attribute der linken Beziehung im Verknüpfungsergebnis mit Nullwerten gefüllt.

A  B
A ⋈ B.
Num Würfel Platz
2 8 4
3 18 9
5 75 - -

Vollständige äußere Verbindung: (A B)

Bei einer vollständigen äußeren Verknüpfung werden alle Tupel aus beiden Beziehungen unabhängig von der Übereinstimmungsbedingung in das Ergebnis einbezogen.

A  B
A ⋈ B.
Num Würfel Platz
2 4 8
3 9 18
4 16 - -
5 - - 75

Zusammenfassung

Bedienung (Symbole)

Zweck

Wähle (σ)

Die SELECT-Operation wird zum Auswählen einer Teilmenge der Tupel gemäß einer gegebenen Auswahlbedingung verwendet

Projektion (π)

Die Projektion entfernt alle Attribute der Eingabebeziehung außer den in der Projektionsliste genannten.

Gewerkschaftsbetrieb (∪)

UNION wird durch Symbol symbolisiert. Es enthält alle Tupel in Tabelle A oder B.

Differenz einstellen (-)

- Symbol kennzeichnet es. Das Ergebnis von A - B ist eine Beziehung, die alle Tupel enthält, die in A, aber nicht in B sind.

Schnittpunkt (∩)

Der 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 Beziehungen zusammenzuführen.

Inner Join

Inner Join enthält nur die Tupel, die die Übereinstimmungskriterien erfüllen.

Theta Join (θ)

Der allgemeine Fall der JOIN-Operation wird als Theta-Join bezeichnet. Es wird mit dem Symbol θ bezeichnet.

EQUI Join

Wenn ein Theta-Join nur eine Äquivalenzbedingung verwendet, wird er zu einem Equi-Join.

Natürliche Verbindung (⋈)

Ein natürlicher Join kann nur ausgeführt werden, wenn zwischen den Relationen ein gemeinsames Attribut (eine Spalte) besteht.

Äußere Verbindung

In einer äußeren Verknüpfung zusammen mit Tupeln, die die Übereinstimmungskriterien erfüllen.

Linke äußere Verbindung ( )

In der linken äußeren Verknüpfung ermöglicht die Operation, alle Tupel in der linken Beziehung zu halten.

Right Outer join ( )

In der rechten äußeren Verknüpfung ermöglicht die Operation, alle Tupel in der richtigen Beziehung zu halten.

Vollständiger äußerer Join ( )

Bei einer vollständigen äußeren Verknüpfung werden alle Tupel aus beiden Beziehungen unabhängig von der Übereinstimmungsbedingung in das Ergebnis einbezogen.