ScholarGate
Assistent

SQL und Relationale Algebra

Die relationale Algebra ist eine prozedurale Sprache von Operatoren über Relationen, die dem relationalen Modell seine formale Semantik verleiht, während SQL die standardmäßige deklarative Sprache ist, die Datenbanksysteme in algebraähnliche Ausführungspläne kompilieren.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Die relationale Algebra ist eine Menge von Operatoren, die Relationen als Eingabe nehmen und Relationen als Ausgabe erzeugen; SQL (Structured Query Language) ist die ISO-standardisierte deklarative Sprache zum Definieren, Abfragen und Aktualisieren relationaler Datenbanken, deren Abfragesemantik eng mit der relationalen Algebra korrespondiert, erweitert um Gruppierung, Aggregation und Bag-Semantik.

Scope

Dieses Thema behandelt die Operatoren der relationalen Algebra – Selektion, Projektion, kartesisches Produkt, Join, Vereinigung, Differenz und Umbenennung – und deren Verwendung als formale Grundlage für Abfragen und Abfrageoptimierung. Es behandelt den Kern von SQL: SELECT-FROM-WHERE-Abfragen, Joins, Gruppierung und Aggregation, Unterabfragen, Mengenoperationen sowie Daten-Definitions- und Daten-Manipulationsanweisungen, zusammen mit SQLs Multiset-Semantik und dreiwertiger Logik für Nullwerte. Es schließt die physische Ausführung und Optimierung von Abfragen aus (behandelt in Abfrageverarbeitung und -optimierung).

Core questions

  • Was sind die primitiven und abgeleiteten Operatoren der relationalen Algebra?
  • Wie bildet eine SQL SELECT-FROM-WHERE-Abfrage relationale Algebra-Operationen ab?
  • Wie erweitern Gruppierung und Aggregation die grundlegende Algebra?
  • Wie beeinflussen Nullwerte und dreiwertige Logik Abfrageergebnisse?
  • Warum verwendet SQL Multiset- (Bag-) statt Mengen-Semantik?

Key concepts

  • Selektion, Projektion, Join
  • Vereinigung, Differenz, kartesisches Produkt
  • SELECT-FROM-WHERE
  • Gruppierung und Aggregation
  • Unterabfragen und Korrelation
  • Mengen- und Multiset-Operationen
  • dreiwertige Logik und Nullwerte
  • Daten-Definitions- und Daten-Manipulationssprache

Key theories

Operatoren der relationalen Algebra
Selektion, Projektion, Vereinigung, Mengendifferenz, kartesisches Produkt und Umbenennung bilden eine vollständige Menge, aus der Join, Schnittmenge und Division abgeleitet werden; algebraische Identitäten unter ihnen rechtfertigen Abfrage-Umschreibungsoptimierungen.
Deklaratives Abfragen und relationale Vollständigkeit
SQL ermöglicht es Benutzern, anzugeben, welche Daten sie wünschen, anstatt wie sie abgerufen werden sollen; da es jede Abfrage der relationalen Algebra (und mehr) ausdrücken kann, ist es relational vollständig, und das System kann eine effiziente Ausführungsstrategie wählen.
Dreiwertige Logik für Nullwerte
SQL bewertet Bedingungen über wahr, falsch und unbekannt, um Nullwerte zu behandeln; dies beeinflusst Vergleiche, WHERE-Filterung und Aggregation und ist eine häufige Ursache für subtile Abfragefehler.

Clinical relevance

SQL ist eine der am weitesten verbreiteten Sprachen in der Informatik: Es ist die Schnittstelle zu praktisch jeder relationalen Datenbank, die Geschäftsanwendungen, Analysen und Webdienste antreibt, und die relationale Algebra ist das theoretische Werkzeug, das Abfrageoptimierer verwenden, um diese SQL-Abfragen effizient umzuschreiben und zu planen.

History

Codds Arbeit von 1970 führte die relationale Algebra und den Kalkül ein. Im IBM System R-Projekt entwarfen Chamberlin und Boyce SEQUEL (1974), später in SQL umbenannt, als eine zugänglichere deklarative Sprache. SQL wurde ab 1986 von ANSI und ISO standardisiert und durch aufeinanderfolgende Standards erweitert, wobei es in der relationalen Algebra verwurzelt blieb.

Key figures

  • Edgar F. Codd
  • Donald D. Chamberlin
  • Raymond F. Boyce

Related topics

Seminal works

  • codd1970
  • chamberlin1974
  • garciamolina2008

Frequently asked questions

Ist SQL exakt relationale Algebra?
Nein. SQL basiert auf relationaler Algebra und Kalkül, unterscheidet sich aber in wesentlichen Punkten: Es verwendet Multiset- (Bag-) Semantik, sodass Duplikate auftreten können, fügt Gruppierung und Aggregation hinzu, unterstützt Nullwerte mit dreiwertiger Logik und enthält prozedurale sowie Daten-Definitionsfunktionen, die der reinen Algebra fehlen.
Warum relationale Algebra lernen, wenn SQL in der Praxis verwendet wird?
Die relationale Algebra ist das formale Modell hinter der Abfrageoptimierung: Datenbanksysteme übersetzen SQL in algebraähnliche Ausdrücke und wenden Äquivalenzregeln an, um effiziente Pläne zu finden. Das Verständnis der Algebra erklärt, warum bestimmte Abfrageumschreibungen gültig sind und hilft, über Abfrageäquivalenz und Kosten nachzudenken.

Methods for this concept

Related concepts