Zum Inhalt springen

SQL: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „Kategorie:Entwurf“ durch „“
K Textersetzung - „==== Links ====“ durch „=== Links ===“
 
(68 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' kurze Beschreibung
'''SQL''' - Structured Query Language
==Beschreibung==
'''SQL''' (offizielle Aussprache [<nowiki/>{{IPA|ɛskjuːˈɛl}}], mitunter auch [<nowiki/>{{IPA|ˈsiːkwəl}}]; auf Deutsch auch häufig die deutsche Aussprache der Buchstaben) ist eine [[Datenbanksprache]] zur Definition von [[Datenstruktur]]en in [[Relationale Datenbank|relationalen Datenbanken]] sowie zum Bearbeiten (Einfügen, Verändern, Löschen) und Abfragen von darauf basierenden Datenbeständen.


Die Sprache basiert auf der [[Relationale Algebra|relationalen Algebra]], ihre [[Syntax]] ist relativ einfach aufgebaut und [[Formale Semantik|semantisch]] an die englische Umgangssprache angelehnt. Ein gemeinsames Gremium von [[Internationale Organisation für Normung|ISO]] und [[International Electrotechnical Commission|IEC]] [[Standardisierung|standardisiert]] die Sprache unter Mitwirkung nationaler Normungsgremien wie [[American National Standards Institute|ANSI]] oder [[Deutsches Institut für Normung|DIN]]. Durch den Einsatz von SQL strebt man die Unabhängigkeit der Anwendungen vom eingesetzten [[Datenbank#Datenbankmanagementsystem|Datenbankmanagementsystem]] an.
== Beschreibung ==
; Structured Query Language
Strukturierte Abfrage-Sprache


Die Bezeichnung ''SQL'' wird im allgemeinen Sprachgebrauch als Abkürzung für „'''Structured Query Language'''“ (auf Deutsch: „Strukturierte Abfrage-Sprache“) aufgefasst, obwohl sie laut Standard ein eigenständiger Name ist. Die Bezeichnung leitet sich von dem Vorgänger SEQUEL ([{{IPA|ˈ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]] entwickelt wurde. SEQUEL wurde später in SQL umbenannt, weil SEQUEL ein eingetragenes Warenzeichen der [[Hawker Siddeley]] Aircraft Company ist.<ref>[http://www.mcjones.org/System_R/SQL_Reunion_95/sqlr95-System.html ''Diskussion über System R und zur Namensänderung von SEQUEL zu SQL'']</ref>
; Aussprache
==Sprachelemente==
{| class="wikitable options"
[[Datei:SQL.png|mini|Bestandteile von SQL]]
| Aussprache || ɛskjuːˈɛl
|-
| Mitunter auch || siːkwəl
|-
| Deutsch häufig || Aussprache der Buchstaben
|}
 
; Datenbanksprache
* [[Datenbanksprache]]


SQL-Befehle lassen sich in fünf Kategorien unterteilen (Zuordnung nach der Theorie der [[Datenbanksprache]]n in Klammern):
; Definition
* [[Datenstruktur]]en von [[Relationale Datenbank|relationalen Datenbanken]]


*[[Data Query Language]] (DQL) – Befehle zur Abfrage und Aufbereitung der gesuchten Informationen, wird auch als Untermenge der DML klassifiziert
; Bearbeiten
*[[Data Manipulation Language]] (DML) – Befehle zur [[Datenmanipulation]] (Ändern, Einfügen, Löschen von [[Datensatz|Datensätzen]]) und lesendem Zugriff
* Einfügen
*[[Data Definition Language]] (DDL) – Befehle zur [[Datendefinition|Definition]] des [[Datenbankschema]]s (Erzeugen, Ändern, Löschen von [[Datenbanktabelle]]n, Definition von [[Primärschlüssel]]n und [[Fremdschlüssel]]n)
* Verändern
*[[Data Control Language]] (DCL) – Befehle für die [[Mehrbenutzersystem#Rechtemanagement|Rechteverwaltung]]
* Löschen
*[[Transaction Control Language]] (TCL) – Befehle für die [[Transaktion (Informatik)|Transaktionskontrolle]]


Die Bezeichnung SQL bezieht sich auf das englische Wort {{"|Text=query|Übersetzung=[[Abfragesprache|Abfrage]]|lang=en}}. Mit Abfragen werden die in einer Datenbank gespeicherten Daten abgerufen, also dem Benutzer oder einer Anwendersoftware zur Verfügung gestellt.
; Abfragen
* Datenbestände


Das Ergebnis einer Abfrage sieht wiederum aus wie eine Tabelle und kann oft auch wie eine Tabelle angezeigt, bearbeitet und weiterverwendet werden. {{Siehe auch|Datenbanktabelle}}
; Relationale Algebra
Basiert auf [[Relationale Algebra|relationalen Algebra]]
* [[Syntax]] ist relativ einfach aufgebaut
* [[Formale Semantik|semantisch]] an die englische Umgangssprache angelehnt
* Ein gemeinsames Gremium von [[Internationale Organisation für Normung|ISO]] und [[International Electrotechnical Commission|IEC]] [[Standardisierung|standardisiert]] die Sprache unter Mitwirkung nationaler Normungsgremien wie [[American National Standards Institute|ANSI]] oder [[Deutsches Institut für Normung|DIN]]
* Durch den Einsatz von SQL strebt man die Unabhängigkeit der Anwendungen vom eingesetzten [[Datenbank#Datenbankmanagementsystem|Datenbankmanagementsystem]] an


== Chronologie ==
== Sprachelemente ==
{| class="wikitable sortable"
; Kategorien von SQL-Befehlen
[[Datei:SQL.png|mini|Bestandteile von SQL]]
{| class="wikitable options"
! Language !! !! Beschreibung
|-
|-
! Jahr !! Beschreibung
| [[Data Query Language|Data Query]] || DQL || Abfrage und Aufbereitung der gesuchten Informationen, wird auch als Untermenge der DML klassifiziert
|-
|-
| 1975 || ''SEQUEL'' = ''Structured English Query Language'', der Vorläufer von ''SQL'', wird für das Projekt [[System R]] von [[IBM]] entwickelt.
| [[Data Manipulation Language|Data Manipulation]]|| DML|| [[Datenmanipulation]] (Ändern, Einfügen, Löschen von [[Datensatz|Datensätzen]]) und lesendem Zugriff
|-
|-
| 1979 || ''SQL'' gelangt mit ''Oracle V2'' erstmals durch ''Relational Software Inc.'' auf den Markt.
| [[Data Definition Language|Data Definition]] || DDL || [[Datendefinition|Definition]] des [[Datenbankschema]]s (Erzeugen, Ändern, Löschen von [[Datenbanktabelle]]n, Definition von [[Primärschlüssel]]n und [[Fremdschlüssel]]n)
|-
|-
| 1986 || ''SQL1'' wird von [[American National Standards Institute|ANSI]] als Standard verabschiedet.
| [[Data Control Language|Data Control]] || DCL || [[Mehrbenutzersystem#Rechtemanagement|Rechteverwaltung]]
|-
|-
| 1987 || ''SQL1'' wird von der [[Internationale Organisation für Normung|Internationalen Organisation für Normung]] (ISO) als Standard verabschiedet und 1989 nochmals überarbeitet.
| [[Transaction Control Language|Transaction Control]] || TCL || [[Transaktion (Informatik)|Transaktionskontrolle]]
|-
|}
| 1992 ||  Der Standard ''SQL2'' oder ''SQL-92'' wird von der ISO verabschiedet.
 
|-
; SQL
| 1999 ||  ''SQL3'' oder ''SQL:1999'' wird verabschiedet. Im Rahmen dieser Überarbeitung werden weitere wichtige Features (wie etwa [[Datenbanktrigger|Trigger]] oder rekursive Abfragen) hinzugefügt.
Bezeichnung SQL bezieht sich auf das englische Wort ''query'' (Abfragesprache|Abfrage)
* Mit Abfragen werden die in einer Datenbank gespeicherten Daten abgerufen, also dem Benutzer oder einer Anwendersoftware zur Verfügung gestellt
* Das Ergebnis einer Abfrage sieht wiederum aus wie eine Tabelle und kann oft auch wie eine Tabelle angezeigt, bearbeitet und weiterverwendet werden
 
== Syntax ==
{| class="wikitable options"
|-
|-
| 2003 ||  ''SQL:2003''. Als neue Features werden aufgenommen [[SQL/XML]], Window functions, Sequences.
| [[SQL/Abfragen|Abfragen]] ||
|-
|-
| 2006 ||  ''SQL/XML:2006''. Erweiterungen für [[SQL/XML]]<ref name="SQLXML2006">{{Literatur |Titel=SQL/XML:2006 – Evaluierung der Standardkonformität ausgewählter Datenbanksysteme |Autor=Michael Wagner |Datum=2010 |Verlag=Diplomica Verlag |ISBN=3-8366-9609-6 |Seiten=100}}</ref>.
| [[SQL/Einfügen|Einfügen]] ||
|-
|-
| 2008 || ''SQL:2008'' bzw. ISO/IEC 9075:2008. Als neue Features werden aufgenommen INSTEAD OF-Trigger, TRUNCATE-Statement und FETCH Klausel.
| [[SQL/Ändern|Ändern]] ||
|-
|-
| 2011 || ''SQL:2011'' bzw. ISO/IEC 9075:2011. Als neue Features werden aufgenommen „Zeitbezogene Daten“ (PERIOD FOR). Es gibt Erweiterungen für Window functions und die FETCH Klausel.
| [[SQL/Löschen|Löschen]] ||
|-
|-
| 2016 ||  ''SQL:2016'' bzw. ISO/IEC 9075:2016. Als neue Features werden aufgenommen JSON und „row pattern matching“.
| [[SQL/Datendefinition|Datendefinition]] ||
|-
| 2019 ||  ''SQL/MDA:2019''. Erweiterungen für einen Datentyp „mehrdimensionales Feld“.
|}
|}


==Syntax==
<noinclude>
* [[SQL:Abfragen|Abfragen]]
* [[SQL:Einfügen|Einfügen]]
* [[SQL:Ändern|Ändern]]
* [[SQL:Löschen|Löschen]]
* [[SQL:Datendefinition|Datendefinition]]
* [[SQL:Programmierung|Programmierung]]
* [[SQL:Standards|Standards]]


==Sicherheit==
== Anhang ==
==Dokumentation==
=== Siehe auch ===
===RFC===
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
===Man-Pages===
===Info-Pages===
==Siehe auch==
*[[Data Manipulation Language]]
*[[Data Definition Language]]
*[[Data Control Language]]
*[[Transaction Control Language]]
*[[SQL-Injection]]
*[[SchemaSQL]]
*[[Continuous Query Language]]
*[[Liste der Datenbankmanagementsysteme]]
*[[Bereichsabfrage]]
 
==Links==
===Projekt-Homepage===
===Weblinks===
{{Wikibooks|Einführung in SQL|SQL}}
*[https://www.youtube.com/playlist?list=PLC4UZxBVGKte0o6iUssqQVmXhryrOqPXi Erklärvideos zu SQL], Big Data Analytics Group, Uni Saarland
*{{dmoz|World/Deutsch/Computer/Programmieren/Sprachen/SQL/}}
*[http://www.torsten-horn.de/techdocs/sql.htm SQL-Grundlagen] – Einführung mit Beispielen und Vergleich diverser Datenbanken
*[https://esb-dev.github.io/mat/sql-merkblatt.pdf Merkblatt SQL]
*[http://www.mcjones.org/System_R/SQL_Reunion_95/ The 1995 SQL Reunion: People, Projects, and Politics] – zur frühen Geschichte von SQL (englisch)
*[http://www.wiscorp.com/SQLStandards.html Frei verfügbare SQL-Standard-Dokumente], z.&nbsp;B. SQL:2003 und SQL:2008 (englisch)
*[http://www.1keydata.com/de/sql/ SQL-Tutorial]
*[http://sqltutor.fsv.cvut.cz/cgi-bin/sqltutor GNU SQLTutor]
*[https://sqlcoach.informatik.hs-kl.de/sqlcoach/ SQLcoach] – Freies Üben von SQL
*[https://edb2.gm.th-koeln.de/apps/sqltrainer/ Interaktiver SQL-Trainer (Anmeldung notwendig)]
*[https://blog.homepage-webhilfe.de/Artikel/mysql-tutorial-fuer-anfaenger/ Blogbeitrag zu SQL-Befehlen und deren Einsatz in PHP]
*[http://sql-tuning.com/ SQL Tuning]
*[https://docs.microsoft.com/en-us/sql/t-sql/language-reference?view=sql-server-ver15 Transact-SQL Reference (Database Engine)]
 
===Einzelnachweise===
<references />
==Testfragen==
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>


=== Links ===
==== Weblinks ====


[[Kategorie:SQL]]
[[Kategorie:SQL]]
[[Kategorie:Abkürzung]]
[[Kategorie:Abkürzung]]
</noinclude>

Aktuelle Version vom 22. März 2025, 02:56 Uhr

SQL - Structured Query Language

Beschreibung

Structured Query Language

Strukturierte Abfrage-Sprache

Aussprache
Aussprache ɛskjuːˈɛl
Mitunter auch siːkwəl
Deutsch häufig Aussprache der Buchstaben
Datenbanksprache
Definition
Bearbeiten
  • Einfügen
  • Verändern
  • Löschen
Abfragen
  • Datenbestände
Relationale Algebra

Basiert auf relationalen Algebra

Sprachelemente

Kategorien von SQL-Befehlen
Bestandteile von SQL
Language Beschreibung
Data Query DQL Abfrage und Aufbereitung der gesuchten Informationen, wird auch als Untermenge der DML klassifiziert
Data Manipulation DML Datenmanipulation (Ändern, Einfügen, Löschen von Datensätzen) und lesendem Zugriff
Data Definition DDL Definition des Datenbankschemas (Erzeugen, Ändern, Löschen von Datenbanktabellen, Definition von Primärschlüsseln und Fremdschlüsseln)
Data Control DCL Rechteverwaltung
Transaction Control TCL Transaktionskontrolle
SQL

Bezeichnung SQL bezieht sich auf das englische Wort query (Abfragesprache|Abfrage)

  • Mit Abfragen werden die in einer Datenbank gespeicherten Daten abgerufen, also dem Benutzer oder einer Anwendersoftware zur Verfügung gestellt
  • Das Ergebnis einer Abfrage sieht wiederum aus wie eine Tabelle und kann oft auch wie eine Tabelle angezeigt, bearbeitet und weiterverwendet werden

Syntax

Abfragen
Einfügen
Ändern
Löschen
Datendefinition


Anhang

Siehe auch

Links

Weblinks