SQL

SQL

Citation preview

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