SQL

SQL ist eine speziell für die Verwaltung von relationalen Datenbankmanagementsystemen (RDBMS) entwickelte nichtprozedurale Programmiersprache.
Drei Mitarbeiter*innen einer Software Agentur schauen sich eine SQL Datenbank am Bildschirm an.
© puhhha

Was ist SQL?

SQL (Structured Query Language) ist per Definition eine domain-spezifische nichtprozedurale Programmiersprache, welche für das Verwalten von Daten innerhalb eines Relationalen Datenbankmanagementsystems (RDBMS) konzipiert wurde.

Relationale Datenbanksysteme (RDBMS), wie z.B. SQL Server, MySQL und MS Access nutzen SQL als ihre Standard Datenbanksprache. SQL führt, wie jede herkömmliche Programmiersprache auch, Befehle aus, die dem System gegeben und von der SQL Engine auf die Bearbeitung kontrolliert werden. Diese Befehle lassen sich in vier Hauptkategorien unterteilen.

  1. Data Query Language (DQL):
    Die Data Query Language (Datenabfragesprache) DQL beinhaltet einen einzigen Befehl, nämlich „select“. Dieser Befehl lässt sich allerdings mit einer Reihe von anderen Klausen verbinden, um so zahlreiche Abfragen generieren zu können.
  2. Data Definition Language (DDL):
    Die Data Definition Language (Datendefinitionssprache) DDL erlaubt dem Nutzer die Kreation und Rekonstruktion der Datenbankobjekte. Die wesentlichen Befehle drehen sich um das Erstellen („create“) und das Verändern („alter“) von Tabellen („tables“).
  3. Data Manipulation Language (DML):
    Mit Hilfe der Data Manipulation Language (Datenmanipulationssprache) DML lassen sich, wie der Name bereits verrät, die Daten innerhalb der Tabellen manipulieren. Die wesentlichen Befehle hier sind das Einfügen („insert“), Aktualisieren („update“) und das Löschen („delete“).
  4. Data Control Language (DCL):
    Mit der Data Control Language (Datenkontrollsprache) DCL lassen sich die Zugriffsrechte der Daten innerhalb der Datenbank kontrollieren. Dadurch lassen sich verschiedene Rechte auf die einzelnen Nutzer verteilen und Objekte für bestimmte Nutzer erstellen. Dies geschieht mit den Befehlen „grant“ (gewähren) und „revoke“ (widerrufen).

Datenbank

Um ein besseres Verständnis für SQL entwickeln zu können, erscheint es sinnvoll, auch einen Blick auf Datenbanken und Datenbankmanagementsysteme zu werfen.

Was ist eine Datenbank?

Eine Datenbank ist laut Definition eine organisierte Sammlung von Daten, welche elektronisch gelagert werden. Auf die Daten lässt sich über ein Computersystem zugreifen. Die Daten können manipuliert, aktualisiert oder gelöscht werden. Anders ausgedrückt werden Datenbanken von Organisationen genutzt, um Informationen zu speichern, zu verwalten und abzurufen.

Auch bei der Webentwicklung können Datenbanken eine essenzielle Rolle einnehmen. So werden z.B. in geschäftlichen Intranets sog. webbasierte Datenbanken verwendet, welche hauptsächlich in SQL entwickelt werden. Solche Intranets beinhalten meistens persönliche Daten von Kunden oder geschäftliche Daten von Geschäftspartnern. Moderne Datenbanken werden mit Hilfe von Datenbankmanagementsystemen (DMBS) verwaltet.

Datenbankmanagementsystem (DBMS)

Als Datenbankmanagementsystem (DBMS) wird eine Software bezeichnet, die für den Zugriff der Datenbank und der Manipulation und Repräsentation der Daten zuständig ist. Datenbankmanagementsysteme (DBMS) interagieren mit dem Endnutzer, den Anwendungen und der Datenbank selbst, um Daten aufzunehmen und zu analysieren.

Typen von DBMS

Datenbankmanagementsysteme lassen sich in vier wesentliche Typen unterteilen.

  1. Hierarchische DBMS:
    Diese Art von DBMS verwenden die Eltern-Kind-Beziehung bei der Speicherung der Daten. Hierarchische DBMS kommen heutzutage jedoch nur noch selten zum Einsatz. Die Datensätze werden als Baumstrukturen abgebildet. So lassen sich lediglich 1:1 oder 1:n-Strukturen darstellen. Zudem lassen sich verschiedene Bäume nicht miteinander verknüpfen, was für heutige Standards sehr unvorteilhaft ist.
  2. Netzwerk DBMS:
    Netzwerkdatenbankmanagementsysteme hingegen unterstützen sog. many-to-many (n:n) Beziehungen, was zu deutlich komplexeren Datenbankstrukturen führen kann.
  3. Relationale DBMS (RDBMS):
    Diese Art von Datenbankmanagementsystemen definiert Datenbankbeziehungen in Form von Tabellen, auch bekannt als Beziehungen. Im Gegensatz zu Netzwerkdatenbankmanagementsystemen unterstützen RDBMS keine many-to-many Beziehungen. RDBMS besitzen in der Regel vordefinierte Datentypen, welche sie unterstützen. RDBMS sind aktuell die beliebtesten Datenbankmanagementsysteme auf dem Markt. Wie eingangs bereits erwähnt findet SQL ausschließlich in dieser Kategorie seinen eigentlichen Einsatz.
  4. Objektorientierte DBMS:
    Objektorientierte DBMS (ODBMS) unterstützen die Speicherung von neuen Datentypen. Diese Daten werden in Form von sog. Objekten gespeichert. Im Kontrast zu gewöhnlichen Daten besitzen Objekte zusätzliche Attribute (z.B. Farbe, Gewicht) und Methoden, die das Handhaben solcher Daten definieren.

Geschichte von SQL

Ein Forscher der International Business Machines Corporation (IBM), Edgar F. Codd, entwickelte 1969 das Relationale Datenbankmodell, was den Grundstein für die Entwicklung der SQL-Sprache darstellte. Dieses Modell baut auf Teilen von Information (keys) auf, welche mit verschiedenen Daten in Verbindung gebracht werden, z.B. wird ein Benutzername mit einem tatsächlichen Namen und einer Telefonnummer in Verbindung gebracht.

Anfang der 70er arbeiteten die beiden Forscher Raymond F. Boyce und Donald D. Chamberlin, ebenfalls Forscher der IBM, an einer neuen Sprache für Relationale Datenbankmanagementsysteme (RDBMS), die auf Codds Forschungen basierten. Die frühe Version dieser Sprache, betitelt als SEQUEL(Structured English Query Language), wurde für das Manipulieren und Abrufen von Daten entwickelt, welche auf dem System R, dem quasi-relationalen und originalen Datenbankmanagementsystem der IBM, gespeichert wurden.

Da der Name SEQUEL bereits von Hawker Siddeley, einem Flugzeugunternehmen in Großbritannien, geschützt wurde, einigte man sich nach einer Handvoll Tests, Implementierungen und Überarbeitungen auf den noch heute bestehenden Namen SQL.

Die heute berühmte Oracle Corporation, damals noch Relational Software Inc., erkannte das Potenzial der Konzepte und Ideen von Boyce, Codd und Chamberlin und begann Ende der 70er an der Entwicklung ihres eigenen Relationalen Datenbankmanagementsystems (RDBMS), auf Grundlage von SQL. Dies führte 1979 zur Erscheinung der ersten kommerziellen Implementierung von SQL – Oracle Version 2.

IBM hingegen startete die Produktion von kommerziellen Produkten erst Anfang der 80er, nachdem sie die Zweckmäßigkeit und den Nutzen ihres Systems in verschiedensten Tests an Kundenstandorten überprüften. So brachte IBM 1981 SQL/DS und 1983 DB2 auf den Markt. Beide Systeme waren an dem Prototyp System R angelehnt.

Heutzutage kommt SQL in praktisch allen relationalen Datenbankmanagementsystemen zum Einsatz. Zu den bekanntesten und beliebtesten RDBMS zählen beispielsweise Oracle, MySQL und Microsoft (MS) SQL Server.

SQL bei Tenmedia

Wir sind TenMedia – seit der Gründung unserer Webagentur haben wir uns auf Leistungen in den Bereichen Webentwicklung, Webdesign und App-Entwicklung spezialisiert. Unsere Arbeit endet nicht nach der Fertigstellung unserer Kundenprojekte: Als langfristiger IT-Partner übernehmen wir auch das Hosting von Websites und nehmen diese in unser Monitoring mit auf. Durch unsere jahrelange Erfahrung als Webagentur mit eigenen Portalen übernehmen wir auch die Pflege und auf Wunsch auch das Portal-Management. Als Digitalagentur ist TenMedia auch in Sachen New Work, Automatisierung und Digitalisierung für Unternehmen der richtige Ansprechpartner.

Wir greifen bei unseren stets individuell entwickelten IT-Lösungen für Unternehmen auf verschiedenste Entwicklungsframeworks wie u.a. Laravel, Content-Management-Systeme wie zum Beispiel WordPress und Programmiersprachen wie PHP und viele mehr zurück. Besonders bei der Entwicklung von webbasierten Datenbanken verwenden unsere Entwickler SQL.

Bei Anfragen und Fragen über eine Zusammenarbeit mit TenMedia, stehen in unserem Büro in Berlin Projektmanager, Texter, Programmierer und Grafiker als persönliche Ansprechpartner zur Verfügung.