Was ist SQL? Aus welchen Bestandteilen besteht SQL?

SQL ist die Sprache, mit welcher Daten aus Datenbanken abgefragt und bearbeitet werden. Auch die Datenstruktur selbst kann mittels SQL bearbeitet werden.

Die Sprache SQL (Structured Query Language) dient dazu, Daten in einer Datenbank zu bearbeiten, Tabellen und die Datenbank selbst zu bearbeiten und Daten aus der Datenbank anzuzeigen. SQL ist keine Programmiersprache, da sie keine logischen Elemente enthält und keine Programme erzeugt. Sie ist eine so genannte "Abfragesprache" (engl. Query Language), da sie hauptsächlich dem Abfragen von Daten dient.

SQL-Standards

SQL ist zwar standardisiert, aber dennoch implementieren die gängigen Datenbanksysteme die Sprache unterschiedlich. Zusätzlich werden herstellerspezifische Erweiterungen angeboten, die nicht zum Standard-Sprachumfang gehören. Grundsätzlich sollte jede Implementierung jeden SQL-Befehl verstehen können, doch in der Realität gibt es oft Unterschiede bei den einzelnen Befehlen. Es handelt sich meistens nur um kleine Unterschiede. So kann es sein, dass die eine Implementierung Klammern bei einem Kommando braucht, während eine andere keine Klammern erwartet. Die Standard-SQL-Befehle funktionieren dementsprechend bei den meisten SQL-Implementierungen bis auf geringe Abweichungen.

Da SQL standardisiert ist und die meisten Datenbanken diesen Standard unterstützen, können Programme, welche SQL verwenden, einigermaßen unabhängig von einem bestimmten Datenbanksystem entwickelt werden. Zusätzlich existieren noch "Zwischenstufen" wie z.B. Hibernate bei Java, sog. O/R-Mapper. Dieser Programme "kapseln" die SQL-Befehle. Hibernate zum Beispiel stellt eine eigene SQL-Variante zur Verfügung. Diese Variante verwendet der Programmierer in seinem Java-Quellcode und Hibernate setzt die Befehle für die jeweilige Datenbank um.

Komponenten von SQL

SQL besteht aus drei Komponenten:

  • Data Definition Language (DDL)
  • Data Manipulation Language( DML)
  • Data Control Language (DCL)

Um die Daten abzufragen oder zu verändern, werden Kommandos verwendet, bei denen die Groß- und Kleinschreibung keine Rolle spielt.

Data Definition Language

Die DDL definiert die Daten einer Datenbank. Zu ihr gehören Befehle, mit denen Datenbanken und Tabellen erstellt und manipuliert werden. Mit den Kommandos der DDL wird nicht auf die Daten selbst zugegriffen. Die DDL definiert neben der Struktur der Tabellen auch Elemente wie Primärschlüssel, Fremdschlüssel, Indizies usw.

Data Manipulation Language

Die DML ist die Datenbearbeitungssprache. Sie enthält sämtliche Befehle, welche Daten aus der Datenbank abfragen und bearbeiten - neben Abfragen gehört dazu das Eintragen, Ändern und Löschen von Daten. Manchmal werden die Abfragen allerdings der DQL (Data Query Language) zugeordnet, aber diese Zuordung gibt es nur inoffiziell. Natürlich können Sie fragen, warum die Abfrage zur Datenbearbeitungssprache gehören, denn die Daten werden schließlich nicht bearbeitet. Die Begründung ist, weil die Daten selten in ihrer ursprünglichen Form, sondern nur manipuliert (z.B. gefiltert, sortiert oder gruppiert) ausgegeben werden.

Data Control Language

Die DCL ist die Datenüberwachungssprache. Sie stellt Kommandos zur Verfügung, um Berechtigungen zu vergeben oder zu entziehen. Dadurch stellt die DCL einen wichtigen Bestandteil zur Sicherheit der Daten dar, denn sie kontrolliert, dass nur berechtigte Benutzer auf bestimmte Daten zugreifen können.

Die Syntax von SQL-Kommandos

SQL-Befehle sind relativ einfach aufgebaut und semantisch an die englische Alltagssprache angepasst. Natürlich müssen Sie sich an eine strikte Syntax halten, doch Sie können jeden Befehl in einem Satz formulieren und sich dadurch Eselsbrücken für die Reihenfolge der Befehlselemente bauen. Wichtig ist, dass die Groß- und Kleinschreibung bei SQL-Befehlen keine Rolle spielt.

SQL-Befehle sind unabhängig voneinander. Das bedeutet, dass Sie Ergebnisse eines Befehls nicht als Zwischenergebnisse für einen anderen Befehl verwenden können. Die Ergebnisse einer Abfrage können Sie sich wie eine temporäre Tabelle vorstellen. Nach Durchführung der Abfrage können Sie auf diese temporäre Tabelle nicht mehr zugreifen. Falls Sie ein Programm schreiben, das SQL verwendet, müssen Sie die Ergebnisse einer Abfrage in Variablen abspeichern. Durch diese Einschränkung können SQL-Befehle äußerst komplex werden.

Beispiele für Datenbanken, die SQL implementieren

  • MySQL
  • Postgre SQL
  • Oracle
  • Microsoft SQL Server

Christopher Olbertz - Ich heiße Christopher Olbertz und komme aus dem Saarland. Nach dem Abitur im Jahr 2000 und meinem Wehrdienst startete ich eine ...

rss