Einleitung

Aus Wikibooks
Wechseln zu: Navigation, Suche

Seitentitel: Einführung in SQL: Einleitung
(Einführung in SQL: Einleitung)


Wikipedia hat einen Artikel zum Thema:

In diesem Kapitel erhalten Sie Informationen über Inhalt und Aufbau des Buches.

Einführung[Bearbeiten]

Die Abfragesprache SQL ist die etablierte Sprache für die Arbeit mit relationalen Datenbankmanagementsystemen (DBMS). Es existieren verschiedene Standards, und jeder Hersteller von DBMS hat seine eigenen Erweiterungen und Besonderheiten zu den Standards.

Das Buch soll eine Einführung in die Sprache SQL bieten. Ziel ist es, dass der Leser nach dem Durcharbeiten folgende Aufgaben selbständig lösen kann:

  • Eigene Abfragen für relationale Datenbanken erstellen
  • Manipulieren von Daten (Einfügen, Ändern und Löschen)
  • Eigene einfache relationale Datenbanken aufbauen
  • Bestehende Datenbankstrukturen erweitern

Um die Ziele zu erreichen, wird SQL anhand praxisnaher Beispiele erläutert.

Wikibooks hat das Lehrbuch:

Die Beispiele im Buch wurden unter mindestens einem der folgenden DBMS getestet:

  • Firebird
  • MS-SQL Server 2005 oder 2008
  • MySQL 4.1 oder 5
  • Oracle 9, 10 oder 11

Vorzugsweise werden allgemeingültige Schreibweisen nach dem SQL-Standard (siehe unten) benutzt. Deshalb sollten die Befehle in aller Regel auf allen gängigen DBMS funktionieren und höchstens kleinere Änderungen benötigen. Dort, wo eine spezielle Schreibweise wesentlich abweicht, wird das ausdrücklich erwähnt.

Attention green.svg

Achtung:
Wegen der vielen unterschiedlichen Schreibweisen der SQL-Befehle ist eine vollständige Prüfung leider nicht möglich. Sie müssen in allen Zweifelsfällen in der Dokumentation Ihres DBMS die passende Schreibweise nachlesen.


Geschichte von SQL[Bearbeiten]

SQL ist aus IBM's SEQUEL in den siebziger Jahren entstanden. Der Erfolg der Sprache SQL ist sicherlich auch darin begründet, dass die Sprache einfach aufgebaut ist und sich an der englischen Umgangssprache orientiert. Von SQL gibt es verschiedene Standards. Diese sind:

  • Erster SQL-Standard (1986 ANSI)
  • SQL2 bzw. SQL-92 (1992)
  • SQL3 bzw. SQL:1999 (1999 ISO)
  • SQL:2003 (2003)
  • SQL:2008 (2008)

Hierbei ist zu beachten, dass die meisten Datenbankmanagementsysteme SQL2 unterstützen. Die neueren Versionen sind in der Regel nur teilweise oder gar nicht in den einzelnen Datenbankmanagementsystemen umgesetzt.

Alles, was in diesem Buch als SQL-Standard, also als „offizielle SQL-Feststellung“ angegeben wird, bezieht sich auf die SQL-Dokumente von 2003 (unter „Siehe auch“ aufgeführt).

Übersicht über Datenbankmanagementsysteme[Bearbeiten]

Allgemein[Bearbeiten]

Wikipedia hat einen Artikel zum Thema:
Wikipedia hat einen Artikel zum Thema:
Wikipedia hat einen Artikel zum Thema:

Datenbanken sind Systeme (Daten und Programme) zur Verwaltung von Daten. Es gibt verschiedene Konzepte:

  • Relationale DBMS
  • Objektrelationale DBMS
  • Objektorientierte DBMS

Bei Wikipedia gibt es eine Liste der Datenbankmanagementsysteme.

Da SQL die Abfragesprache für relationale Datenbanken ist, bezieht sich das Buch nur auf diese Art von Datenbanken. Das Konzept hinter den relationalen Datenbanken wird im nächsten Kapitel erläutert.

Kommerzielle Datenbankmanagementsysteme[Bearbeiten]

  • DB2
  • Informix
  • Interbase
  • Microsoft SQL Server
  • Oracle
  • Sybase

Microsoft und Oracle bieten auch kostenlose Express-Versionen mit eingeschränkten Möglichkeiten oder Nutzungsrechten an.

Freie Datenbankmanagementsysteme[Bearbeiten]

  • Firebird
  • MySQL
  • PostgreSQL
  • SQLite

Bei MySQL ist das duale Lizenzsystem zu beachten: je nach Nutzungsbedingungen frei oder kostenpflichtig.

Die Unterscheidung zwischen „frei“ und „kommerziell“ ist nicht korrekt, sondern wird nur der Einfachheit halber gemacht. Bei den „freien“ DBMS steht die freie Verfügbarkeit im Vordergrund, auch wenn Kosten anfallen können oder das DBMS nicht als Open Source-Projekt entwickelt wird. Bei den „kommerziellen“ DBMS steht das gewerbliche Interesse des Anbieters im Vordergrund, auch wenn es kostenlose Lizenzen gibt.

Weitere Systeme zur Datenverwaltung[Bearbeiten]

Die folgenden Dateisysteme enthalten keine Datenbanken im eigentlichen Sinne, sondern Dateien für strukturierte Daten. Auch diese können (je nach verwendetem Programm) in eingeschränktem Umfang mit SQL-Befehlen umgehen.

  • dBASE und seine Varianten
  • MS-Access
  • das Datenbankmodul Base von LibreOffice
  • Paradox

Auf diese Systeme gehen wir nicht ein. Sie müssen in der jeweiligen Programm-Dokumentation nachlesen, welche Befehle und Optionen möglich sind.

Regeln für die Beispiele[Bearbeiten]

Das Buch ist grundsätzlich schrittweise aufgebaut. Aber nicht immer können in einem Beispiel nur bereits bekannte Begriffe verwendet werden. Wenn in seltenen Fällen Bestandteile erst in einem späteren Kapitel erläutert werden, dann gibt es ausdrückliche Hinweise, beispielsweise hier:

Wenn Sie die SQL-Begriffe aus dem Englischen ins Deutsche übersetzen, sollten Sie den Zusammenhang auch ohne Hin- und Herblättern verstehen.

Die Beispiele für SQL-Befehle werden nach den folgenden Regeln geschrieben.

  1. Alle SQL-Befehle und Schlüsselwörter, wie z. B. SELECT, INSERT, DELETE, WHERE, ORDER BY, werden vorzugsweise groß geschrieben. SQL selbst verlangt das nicht, sondern arbeitet ohne Berücksichtigung von Groß- und Kleinschreibung (case insensitive); dort werden SELECT, select und sogar sElEcT gleich behandelt.[1]
  2. Eigentlich sollten Tabellen- und Spaltennamen vorzugsweise ebenfalls groß geschrieben werden, und zwar ohne Anführungszeichen. Aber in der Praxis werden solche Namen meistens „gemischt“ geschrieben.
  3. String-Literale werden mit einfachen Anführungszeichen gekennzeichnet.
  4. SQL-Befehle werden mit einem Semikolon abgeschlossen.
  5. Optionale Argumente (d. h. solche, die nicht unbedingt erforderlich sind) werden in [ ] eingeschlossen.
  6. Variable Argumente (d. h. solche, die mit unterschiedlichem Inhalt vorkommen) werden in < > eingeschlossen.
  7. Wahlmöglichkeiten werden durch das Pipe-Zeichen | (den senkrechten Strich) getrennt.
  8. Listen werden gekennzeichnet durch <inhaltliste>, wobei dies eine Kurzform ist für <inhalt1, inhalt2, ... inhaltn>.
  9. Sofern das Ergebnis einer Abfrage im Ausgabefenster aufgeführt wird, handelt es sich überwiegend nur um einen Teil des Ergebnisses, gleichgültig ob darauf hingewiesen wird oder nicht.

Die Struktur eines Befehls steht in einem Rahmen mit Courier-Schrift:

 SELECT <spaltenliste>
   FROM <tabellenname>
[ WHERE <bedingungsliste> ]
 ;
Aufgabe

So wird eine Aufgabenstellung angezeigt, die mit dem danach folgenden Beispiel erledigt werden soll.

Ein konkretes Beispiel wird mit einem komplexen Rahmen und unterschiedlichen Inhalten (farblicher Hinweis bei Fehlern, mit oder ohne Kopf- und Fußzeile, mit oder ohne Ausgabefenster) dargestellt:

select * from Beispieltabelle
 where Spalte1 = 'Abc';
Crystal Clear app terminal.png Ausgabe
Hier steht ggf. eine Meldung.

Siehe auch[Bearbeiten]

Unter Weblinks stehen viele zusätzliche Hinweise.

MoWeS bietet eine kostenlose PHP-MySQL-Umgebung für den USB-Stick, die sich gut eignet, MySQL zu lernen und zu testen.

  1. In der PDF-Version verhindern zurzeit technische Einschränkungen, dass alle diese Begriffe automatisch großgeschrieben werden.