DB-EnginesExtremeDB for everyone with an RTOSEnglish
Deutsch
Informationen zu relationalen und NoSQL DatenbankmanagementsystemenEin Service von solid IT

Enzyklopädie > Artikel

SQL

SQL (Structured Query Language) ist die Datenbanksprache zum Umgang mit relationalen (=tabellenorientierten) Strukturen. SQL ist seit 1986 durch ISO Normen in mehreren Versionen standardisiert (ISO/IEC 9075, der aktuelle Standard hat über 2000 Seiten) und wird von nahezu jedem relationalen Datenbankmanagementsystem unterstützt, wobei allerdings jede Implementierung in mehr oder weniger wichtigen Eigenheiten vom Standard abweicht.

SQL ist eine deskriptive Sprache, d.h. es wird das gewünschte Ergebnis spezifiziert, aber nicht (im Unterschied zu Programmiersprachen wie z.B. Java, C oder PHP) der Weg dorthin.

Die Befehle von SQL gliedern sich in:

  • Data Definition Language (DDL): Befehle zur Definition des Datenbankschemas; beispielsweise zum Anlegen, Löschen, oder Ändern einer Tabelle.
    Beispiel:
    CREATE TABLE abteilungen (abtlgnr INT, abtlgname CHAR(30));
  • Data Manipulation Language (DML): Befehle zur Datenmanipulation; beispielsweise zum Einfügen, Löschen, Ändern oder Abfragen von Sätzen einer Tabelle.
    Beispiele:
    INSERT INTO abteilungen VALUES (25, 'Entwicklungsabteilung');
    SELECT * FROM abteilungen WHERE abtlgnr > 20;
  • Data Control Language (DCL): Befehle zur Transaktionskontrolle und Rechteverwaltung; beispielsweise zum Abschließen oder Zurücknehmen einer Transaktion oder zur Vergabe von Benutzerberechtigungen.
    Beispiele:
    COMMIT;
    GRANT SELECT ON abteilungen TO maier;

Der SQL-Standard definiert eine Vielzahl von Datentypen für Zahlen, Zeichenketten, binäre Strings, Datumsobjekte und 'große Objekte' (BLOB), wie beispielsweise Bilder oder auch Texte. In optionalen Erweiterungen des Standards werden unter anderem auch benutzerdefinierte Datentypen, nicht skalare Typen (ARRAY) und einfache objektorientierte Funktionalitäten definiert. Die Verfügbarkeit dieser Optionen variiert allerdings sehr stark zwischen den einzelnen Datenbankmanagementsystemen.

Einbettung in Programmiersprachen

SQL kann auch in Programmiersprachen eingebettet werden. Dabei gibt es unterschiedliche Varianten:

  • Embedded SQL: Die SQL-Statements stehen direkt im Source Code und werden mit einem PreCompiler in Funktionsaufrufe der Zielsprache übersetzt.
  • Aufruf von Programmierschnittstellen: Dabei werden die SQL-Statements als Parameter sprachspezifischen Funktionsaufrufen übergeben. Bekannte Beispiele dafür sind JDBC, ODBC und ADO.
  • Nutzung von Persistenzframeworks: Dabei wird durch Verwendung spezifischer (meist objektorientierter) Frameworks der Zugriff auf die Datenbank abstrahiert. Der wohl bekannteste Vertreter dafür ist Hibernate.


Featured Products

Ontotext logo

GraphDB allows you to link diverse data, index it for semantic search and enrich it via text analysis to build big knowledge graphs. Get it free.

AllegroGraph logo

Graph Database Leader for AI Knowledge Graph Applications - The Most Secure Graph Database Available.
Free Download

Neo4j logo

See for yourself how a graph database can make your life easier.
Use Neo4j online for free.

Milvus logo

Vector database designed for GenAI, fully equipped for enterprise implementation.
Try Managed Milvus for Free

Datastax Astra logo

Bring all your data to Generative AI applications with vector search enabled by the most scalable
vector database available.
Try for Free

Präsentieren Sie hier Ihr Produkt