Voraussetzung: Relationales Modell im DBMS
Die relationale Algebra ist eine prozedurale Abfragesprache. Die relationale Algebra bietet hauptsächlich eine theoretische Grundlage für relationale Datenbanken und SQL . Der Hauptzweck der relationalen Algebra besteht darin, Operatoren zu definieren, die eine oder mehrere Eingabebeziehungen in eine Ausgabebeziehung umwandeln. Da diese Operatoren Beziehungen als Eingabe akzeptieren und Beziehungen als Ausgabe erzeugen, können sie kombiniert und verwendet werden, um potenziell komplexe Abfragen auszudrücken, die potenziell viele Eingabebeziehungen (deren Daten in der Datenbank gespeichert sind) in eine einzige Ausgabebeziehung (die Abfrageergebnisse) umwandeln. . Da es sich um reine Mathematik handelt, werden in der relationalen Algebra keine englischen Schlüsselwörter verwendet und Operatoren werden durch Symbole dargestellt.
Grundlegende Operatoren
Dies sind die grundlegenden Operatoren, die in der relationalen Algebra verwendet werden.
- Auswahl(σ)
- Projektion(π)
- Union(U)
- Differenz festlegen(-)
- Schnittpunkt(∩) festlegen
- Umbenennen(ρ)
- Kartesisches Produkt(X)
1. Auswahl(σ): Es wird verwendet, um erforderliche Tupel der Beziehungen auszuwählen.
Beispiel:
| A | B | C |
|---|---|---|
| 1 | 2 | 4 |
| 2 | 2 | 3 |
| 3 | 2 | 3 |
| 4 | 3 | 4 |
Für die obige Beziehung gilt: σ(c>3)R wählt die Tupel aus, deren c größer als 3 ist.
| A | B | C |
|---|---|---|
| 1 | 2 | 4 |
| 4 | 3 | 4 |
Notiz: Der Auswahloperator wählt nur die benötigten Tupel aus, zeigt sie aber nicht an. Zur Anzeige wird der Datenprojektionsoperator verwendet.
2. Projektion(π): Es wird verwendet, um erforderliche Spaltendaten aus einer Beziehung zu projizieren.
Verzeichnis unter Linux umbenennen
Beispiel: Betrachten Sie Tabelle 1. Angenommen, wir möchten die Spalten B und C aus der Beziehung R.
π(B,C)R will show following columns.>
| B | C |
|---|---|
| 2 | 4 |
| 2 | 3 |
| 3 | 4 |
Notiz: Standardmäßig entfernt die Projektion doppelte Daten.
3. Union(U): Die Vereinigungsoperation in der relationalen Algebra ist dieselbe wie die Vereinigungsoperation in der Mengenlehre.
Beispiel:
FRANZÖSISCH
| Name des Studenten | Rollennummer |
|---|---|
| RAM | 01 |
| Mohan | 02 |
| Vivek | 13 |
| Geeta | 17 |
DEUTSCH
| Name des Studenten | Rollennummer |
|---|---|
| Vivek | 13 |
| Geeta | 17 |
| Shyam | einundzwanzig |
| Rohan | 25 |
Betrachten Sie die folgende Tabelle mit Studierenden, die in ihrem Kurs unterschiedliche Wahlfächer haben.
π(Student_Name)FRENCH U π(Student_Name)GERMAN>
| Name des Studenten |
|---|
| RAM |
| Mohan |
| Vivek |
| Geeta |
| Shyam |
| Rohan |
Notiz: Die einzige Einschränkung bei der Vereinigung zweier Beziehungen besteht darin, dass beide Beziehungen denselben Satz von Attributen haben müssen.
4. Differenz (-) festlegen: Mengendifferenz ist in der relationalen Algebra die gleiche Mengendifferenzoperation wie in der Mengenlehre.
Beispiel: Aus der obigen Tabelle für FRANZÖSISCH und DEUTSCH wird die Mengendifferenz wie folgt verwendet
π(Student_Name)FRENCH - π(Student_Name)GERMAN>
| Name des Studenten |
|---|
| RAM |
| Mohan |
Notiz: Die einzige Einschränkung bei der Mengendifferenz zwischen zwei Beziehungen besteht darin, dass beide Beziehungen denselben Satz von Attributen haben müssen.
5. Schnittpunkt(∩) festlegen: Mengenschnitt in der relationalen Algebra ist die gleiche Mengenschnittoperation in der Mengenlehre.
Beispiel: Aus der obigen Tabelle für FRANZÖSISCH und DEUTSCH wird der Schnittpunkt wie folgt verwendet
π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
| Name des Studenten |
|---|
| Vivek |
| Geeta |
Notiz: Die einzige Einschränkung bei der Mengendifferenz zwischen zwei Beziehungen besteht darin, dass beide Beziehungen denselben Satz von Attributen haben müssen.
6. Umbenennen(ρ): Umbenennen ist eine unäre Operation, die zum Umbenennen von Attributen einer Beziehung verwendet wird.
ρ(a/b)R will rename the attribute 'b' of the relation by 'a'.>
7. Kreuzprodukt(X): Kreuzprodukt zwischen zwei Relationen. Nehmen wir an, A und B, also ergibt das Kreuzprodukt zwischen A x B alle Attribute von A, gefolgt von jedem Attribut von B. Jeder Datensatz von A wird mit jedem Datensatz von B gepaart.
Beispiel:
Java-Zeichen in eine Zeichenfolge umwandeln
A
| Name | Alter | Sex |
|---|---|---|
| RAM | 14 | M |
| bis zum Ende | fünfzehn | F |
| Kim | zwanzig | M |
B
| AUSWEIS | Kurs |
|---|---|
| 1 | DS |
| 2 | DBMS |
A X B
| Name | Alter | Sex | AUSWEIS | Kurs |
|---|---|---|---|---|
| RAM | 14 | M | 1 | DS |
| RAM | 14 | M | 2 | DBMS |
| bis zum Ende | fünfzehn | F | 1 | DS |
| bis zum Ende | fünfzehn | F | 2 | DBMS |
| Kim | zwanzig | M | 1 | DS |
| Kim | zwanzig | M | 2 | DBMS |
Notiz: Wenn A „n“ Tupel und B „m“ Tupel hat, dann hat A X B „n*m“ Tupel.
Abgeleitete Operatoren
Dies sind einige der abgeleiteten Operatoren, die von den Grundoperatoren abgeleitet sind.
- Natürliche Verbindung(⋈)
- Bedingter Join
1. Natürlicher Join(⋈): Natural Join ist ein binärer Operator. Eine natürliche Verbindung zwischen zwei oder mehr Beziehungen führt zu einer Menge aller Tupelkombinationen, bei denen sie ein gleiches gemeinsames Attribut haben.
Beispiel:
EMP
| Name | AUSWEIS | Abteilungsname |
|---|---|---|
| A | 120 | ES |
| B | 125 | Personalwesen |
| C | 110 | Verkäufe |
| D | 111 | ES |
ABT
Java rührt zu int
| Abteilungsname | Manager |
|---|---|
| Verkäufe | UND |
| Produktion | MIT |
| ES | A |
Natürlicher Join zwischen EMP und DEPT mit der Bedingung:
EMP.Dept_Name = DEPT.Dept_Name
EMP ⋈ DEPT
| Name | AUSWEIS | Abteilungsname | Manager |
|---|---|---|---|
| A | 120 | ES | A |
| C | 110 | Verkäufe | UND |
| D | 111 | ES | A |
2. Bedingter Join: Die bedingte Verknüpfung funktioniert ähnlich wie die natürliche Verknüpfung. Beim natürlichen Join ist die Bedingung standardmäßig gleich zwischen gemeinsamen Attributen, während wir beim bedingten Join jede beliebige Bedingung angeben können, z. B. größer als, kleiner als oder ungleich.
Beispiel:
R
| AUSWEIS | Sex | Markierungen |
|---|---|---|
| 1 | F | Vier fünf |
| 2 | F | 55 |
| 3 | F | 60 |
S
| AUSWEIS | Sex | Markierungen |
|---|---|---|
| 10 | M | zwanzig |
| elf | M | 22 |
| 12 | M | 59 |
Verknüpfung zwischen R und S mit Bedingung R-Marken>= S-Marken
| LOSWERDEN | R.Sex | R. Marks | S.ID | S.Sex | S. Marks |
|---|---|---|---|---|---|
| 1 | F | Vier fünf | 10 | M | zwanzig |
| 1 | F | Vier fünf | elf | M | 22 |
| 2 | F | 55 | 10 | M | zwanzig |
| 2 | F | 55 | elf | M | 22 |
| 3 | F | 60 | 10 | M | zwanzig |
| 3 | F | 60 | elf | M | 22 |
| 3 | F | 60 | 12 | M | 59 |
Beziehungsrechnung
Da es sich bei der relationalen Algebra um eine prozedurale Abfragesprache handelt, handelt es sich bei der relationalen Analysis um eine nicht-prozedurale Abfragesprache. Es geht im Wesentlichen um die Endergebnisse. Es sagt mir immer, was ich tun soll, sagt mir aber nie, wie ich es tun soll.
Es gibt zwei Arten der Beziehungsrechnung
- Tupel-Relationalrechnung (TRC)
- Domain-Relational-Kalkül (DRC)
Ausführliche Artikel:
Grundlegende Operatoren in der relationalen Algebra
Erweiterte Operatoren der relationalen Algebra