SQL-Einführung
Die selbständige Abfrage von relationalen Datenbanken gehört in zunehmendem Maße zum Repertoire qualifizierter Arbeitsplätze, z.B. im Controlling, Marketing oder Personalwesen. Die spontane, unmittelbare Nutzung von relationalen Datenbanken durch den Endbenutzer ist für die Vorbereitung einer Vielzahl von betrieblichen Entscheidungen unabdingbar geworden. Diese spontane Nutzung ist die Voraussetzung, um aus Daten mit Hilfe von weiteren Analysewerkzeugen Entscheidungsgrundlagen zur Unternehmenssteuerung zu schaffen. Zu einer modernen Standardausbildung von Wirtschaftswissenschaftern im Bereich der Informationsverarbeitung zählt daher auch das Beherrschen wichtiger SQL-Befehle und darauf aufbauender Abfragesysteme.
Bevor man mit SQL zu arbeiten beginnt, sollte man die grundsätzliche Logik von relationalen Datenbanken verstanden haben. Auf grundlegende Begriffe wie verbundene Tabellen, Datensätze, Felder, Zeilen, Spalten usw. wird hier nicht mehr eingegangen, sondern die Abfragesprache SQL, die zur Manipulation von Datenbanken dient, gezielt behandelt.
Funktionen eines DBMS
Ein Datenbank-Management-System unterstützt das Erstellen von Tabellen mit deren Feldern, das Erstellen von Views (künstlichen Tabellen, welche die Sicht der Benutzer abbilden) und Indizes. Indizes beschleunigen vor allem die Zugriffszeit und den Sortierprozess.
Eine View könnte z.B. folgendermaßen aussehen:
- Kundenumsätze (Kunde.Nr, Kunde.Nachname, PLZ.Ort, SUMME(Auftragpos.Menge * Buch.Preis)
Ergänzt um Sortierkriterien und zeitlich/regionalen Einschränkungen (Selektion) kann diese View (künstliche Tabelle) unter dem Namen Kundenumsätze abgespeichert und durch Aufruf jederzeit auch von "Nichtprogrammieren" aktiviert werden.
SQL
SQL (Structured Query Language) ist die Standard-Datensprache für relationale Datenbankverwaltungssysteme (RDBMS) und Desktop-Datenbanken wie z.B. MS Access. SQL ist nicht prozedural und setzt eine einfache und einheitliche, normalisierte tabellarische Datenstruktur voraus. Die durch das American National Standards Institute (ANSI) normierte Sprachschnittstelle SQL wird von einer Reihe einschlägiger Softwarepakete verwendet.
In der nachfolgenden Darstellung wird auf grundlegende Sprachelemente zurückgegriffen, die auch unter dem Namen SQL-Core bekannt geworden sind. SQL hat folgende Teile:
- DDL (Data Definition Language): Sprache für die Definition von Objekten
- DML (Data Manipulation Language): Sprache für die Manipulation von Objekten
- DCL (Data Control Language): Sprache für die Kontrolle der Privilegien
- Verwaltungsinstrumente (Führen des Systemkataloges, insb. Tabellen, Tabellennamen, Eignernamen)
- Instrumente zur Performance-Optimierung
SQL kann interpretierend oder als embedded-SQL verwendet werden:
- Ein SQL-Befehl wird vom Benutzer geladen oder eingegeben und auf Befehl direkt verarbeitet. Das Ergebnis wird z.B. als Liste ausgegeben. (interpretierendes SQL)
- Die SQL-Befehle sind in einem mittels Programmiersprache (z.B. Java, C++) erstellten Programm eingebettet. (embedded SQL)
Die auf dem Markt angebotenen Datenbank-Softwarepakete (SQL-Implementierungen) stellen in der Regel auch Ergänzungen der SQL durch Sprachzusätze (z.B. JDBC) zur Verfügung. Trotz ANSI- und ISO-Normung ist SQL in einer Reihe von Datenbank-Softwarepaketen im Detail unterschiedlich implementiert, d.h. nicht alle SQL-Anweisungen sind auf allen Datenbank-Implementierungen ausführbar.