SQL 1 SQL SQL ist eine Datenbanksprache zur Definition von Datenstrukturen in relationalen Datenbanken sowie zum Bearb
598 27 337KB
SQL
1
SQL SQL ist eine Datenbanksprache zur Definition von Datenstrukturen in relationalen Datenbanken sowie zum Bearbeiten (Einfügen, Verändern, Löschen) und Abfragen von darauf basierenden Datenbeständen. Die Sprache basiert auf der relationalen Algebra, ihre Syntax ist relativ einfach aufgebaut und semantisch an die englische Umgangssprache angelehnt. Ein gemeinsames Gremium von ISO und IEC standardisiert die Sprache unter Mitwirkung nationaler Normungsgremien wie ANSI oder DIN. Fast alle gängigen Datenbanksysteme unterstützen SQL – allerdings in unterschiedlichem Umfang und leicht voneinander abweichenden „Dialekten“. Durch den Einsatz von SQL strebt man die Unabhängigkeit der Anwendungen vom eingesetzten Datenbankmanagementsystem an. Die Bezeichnung SQL (offizielle Aussprache [ɛskjuːˈɛl], oft aber auch [ˈsiːkwəl]) wird im allgemeinen Sprachgebrauch als Abkürzung für „Structured Query Language“ aufgefasst, obwohl sie laut Standard ein eigenständiger Name ist. Die Bezeichnung leitet sich von dem Vorgänger SEQUEL ([ˈsiːkwəl], Structured English Query Language) ab, welche mit Beteiligung von Edgar F. Codd (IBM) in den 1970er Jahren von Donald D. Chamberlin und Raymond F. Boyce entworfen wurde. SEQUEL wurde später in SQL umbenannt, weil SEQUEL ein eingetragenes Warenzeichen der Hawker Siddeley Aircraft Company ist.[1]
Sprachelemente und Beispiele SQL-Befehle lassen sich in drei Kategorien unterteilen (Zuordnung nach der Theorie der Datenbanksprachen in Klammern): • (DML) Befehle zur Datenmanipulation (Ändern, Einfügen, Löschen) • (DDL) Befehle zur Definition des Datenbankschemas • (DCL) Befehle für die Rechteverwaltung und Transaktionskontrolle. Die Bezeichnung SQL bezieht sich auf das englische Wort „query“ (deutsch: „Abfrage“). Mit Abfragen werden die in einer Datenbank gespeicherten Daten abgerufen, also dem Benutzer oder einer Anwendersoftware zur Verfügung gestellt.
SQL-Schnittstelle
Das Ergebnis einer Abfrage sieht wiederum aus wie eine Tabelle und kann oft auch wie eine Tabelle angezeigt, bearbeitet und weiterverwendet werden. Die grundlegenden Befehle und Begriffe werden anhand des folgenden Beispiels erklärt: ER-Diagramm:
Relationen: MatrNr Name
MatrNr VorlNr
VorlNr Titel PersNr
PersNr Name
26120
Fichte
25403
5001
5001
ET
15
12
Wirth
25403
Jonas
26120
5001
5022
IT
12
15
Tesla
27103
Fauler
26120
5045
5045
DB
12
20
Urlauber
SQL
2
einfachste Abfrage SELECT * FROM Student; listet alle Spalten und alle Zeilen der Tabelle Student auf. Ergebnis: MatrNr Name 26120
Fichte
25403
Jonas
27103
Fauler
Abfrage mit Spaltenauswahl SELECT VorlNr, Titel FROM Vorlesung listet die Spalten VorlNr und Titel aller Zeilen der Tabelle Vorlesung auf. Ergebnis: VorlNr Titel 5001
ET
5022
IT
5045
DB
Abfrage mit eindeutigen Werten SELECT DISTINCT MatrNr FROM hört listet nur unterschiedliche Einträge der Spalte MatrNr aus der Tabelle hört auf. Dies zeigt die Matrikelnummern aller Studenten, die mindestens eine Vorlesung hören, wobei mehrfach auftretende Matrikelnummern nur einmal ausgegeben werden. Ergebnis: MatrNr 25403 26120
SQL
3
Abfrage mit Umbenennung SELECT MatrNr AS Matrikelnummer, Name FROM Student listet die Spalten MatrNr und Name aller Zeilen der Tabelle Student auf. MatrNr wird beim Anzeigeergebnis als Matrikelnummer aufgeführt. Ergebnis: Matrikelnummer Name 26120
Fichte
25403
Jonas
27103