SQL

Werbung
SQL
eine allgemeine Einführung
SQL steht als Kürzel für Structured Query Language (Aussprache [ɛskjuːˈɛl],häufig auch [ˈsiːkwəl]
→SEQUEL). SQL stellt mittlerweile die am weitesten verbreitete und standardisierte Schnittstelle
zwischen Anwendern, Programmen und Datenbanksystemen dar.
Neben dem ursprünglichen Einsatz als reine Abfragesprache wird SQL heute als eine universelle
Datenbanksprache zur Definition, Abfrage, Manipulation und Administration von relationalen Datenbanken und Inhalten eingesetzt. Ausser den Sprachelementen zur Abfrage von Daten DataQuery
Language-DQL umfasst es dazu noch die folgenden Datenbanksprachen: Data Manipulation Language - DML, Data Definition Language – DDL und Data Control Language – DCL.
SQL wird von allen gängigen Datenbank-Mangementsystemen DBMS unterstützt und ist von ANSI
und ISO standardisiert. 1986 wurde der erste SQL-Standard vom ANSI verabschiedet (welcher
dann 1987 von der ISO ratifiziert wurde). 1992 wurde der Standard deutlich überarbeitet und als
SQL-92 (oder auch SQL2) veröffentlicht. Alle aktuellen Datenbanksysteme halten sich im wesentlichen an diese Standardversion. Die Version SQL:1999 (ISO/IEC 9075:1999, auch SQL3 genannt)
ist noch nicht in allen Datenbanksystemen implementiert. Das gilt auch für die nächste Version
SQL:2003. Der aktuelle Standard wurde 2006 unter SQL:2006 verabschiedet.
Die meisten heute verbreiteten DBMS implementieren den SQL-Sprachstandard. Dadurch ist es
möglich, Anwendungsprogramme zu erstellen, die vom verwendeten Datenbanksystem unabhängig
sind. In der Vor-SQL-Zeit gelang dies mit dem System der kompatiblen Schnittstellen. Viele SQLImplementierungen bieten darüber hinaus allerdings noch herstellerspezifische Erweiterungen, die
nicht dem Standard-Sprachumfang entsprechen, was zur Folge hat, dass von den Herstellern parallel
entwickelte gleiche Funktionen unterschiedliche Sprachelemente benutzen.
Die Syntax von SQL ist relativ einfach aufgebaut und semantisch an die englische Umgangssprache
angelehnt. SQL stellt eine Reihe von Befehlen zur Definition von Datenstrukturen nach der relationalen Algebra, zur Manipulation von Datenbeständen (Einfügen, Bearbeiten und Löschen von Datensätzen) und zur Abfrage von Daten zur Verfügung. Durch seine Rolle als Quasi-Standard ist
SQL von großer Bedeutung, da eine weitgehende Unabhängigkeit von der benutzten Software erzielt werden kann.
Ein Datenbank-Managementsystem schirmt normalerweise die einzelnen Datenbanken vor dem externen Zugriff ab und bietet lediglich Schnittstellen an, über die der Anwender auf die Daten zugreifen kann. Handelt es sich bei dem DBMS um ein relationales DBMS, das Sql unterstützt, dann
nimmt diese Schnittstelle Sql-Befehle in Form von Texten / Strings entgegen. Diese werden zunächst von einem passenden Modul auf syntaktische Korrektheit geprüft und von einem Parser in
die logischen Einheiten (Schlüsselwörter, Operatoren, Tabellen- und Spaltenbezeichner) zerlegt.
Anschließend muß ein Ablaufplan festgelegt werden. Denn für bald jede Sql-Anweisung gibt es
verschiedene Möglichkeiten, in welcher Reihenfolge JOIN- und WHERE-Bedingungen auf die beteiligten Tabellen angewandt werden können. Ebenso wird auf dieser Ebene entschieden, ob für Zugriffe Indizes genutzt oder ob ein Tabellenscan vielleicht schneller ist. Der interne Optimierer wählt
aus diesen Varianten die günstigste aus und legt das Ergebnis als Ablaufplan im Arbeitsspeicher ab.
Dieser Plan kann jetzt ausgeführt werden und schreibt eventuell zurückgegebene Datenzeilen in
eine Art temporäre Tabelle. Nach Abschluß der Datenoperation liegt eine Statusmeldung vor. Diese
wird - eventuell mit den Daten - an die aufrufende Instanz zurückgegeben.
Siehe hierzu auch:
–
Wikipedia, Die freie Enzyklopädie.
URL: http://de.wikipedia.org/w/index.php?title=SQL
–
SQL lernen – ein Tutorial zum Selbststudium
URL: http://www.sql-und-xml.de/sql-tutorial/
-1-
2008-02-21©J.Kroker
Herunterladen