100% unverbindliche Anfrage

Bitte wählen Sie:

SQL Begriffserklärung und Definition

sqlMit der Datenbankabfragesprache SQL (Structured Query Language) werden Tabellen erstellt, beschrieben, gelöscht und gelesen. Alle Operationen auf eine Relation, die auf der Datenbank als Tabelle abgebildet ist, werden mit SQL-Befehlen ausgeführt. SQL ist Teil des Datenbankmanagementsystems (DBMS) relationaler Systeme und ermöglicht das Lesen und Manipulieren der Datenbank.

1970 und das Ende der Hierarchie

Es dauerte rund 10 Jahre, bis Edgar Codd sein erstes relationales Modell präsentierte. Der britische Mathematiker, der in Oxford studierte und im kalifornischen San Jose in den Entwicklungslabs der IBM forschte, schaffte das, was die Datenverarbeitung revolutionierte und einen Siegeszug um die Welt antrat. Sein in 1970 vorgestelltes theoretisches Modell für eine relationale Datenbasis wurde zur Grundlage der Datenbankmodelle und es ist es bis heute.
Datenbanken werden zur Datenverwaltung in Computersystemen eingesetzt. Wenn auch andere Konzepte, um Daten strukturiert zu verwalten nach wie vor verwendet werden, so haben sie nur geringe Bedeutung. Noch während Codd in den 60ern sein relationales Modell entwickelte, wurden die Datenbestände hauptsächlich in hierarchischen Datenbanken abgelegt. Ein großer Nachteil der hierarchischen Datenverwaltung ist, dass die Strukturen nach Erstellung nicht mehr bzw. nur noch sehr eingeschränkt verändert oder erweitert werden können. Eines der bekanntesten hierarchischen Datenbanksysteme ist das von IBM entwickelte IMS/DB.
Ein erstes relationales Datenbanksystem, basierend auf Codds Modell, wurde in den 70ern im amerikanischen Berkeley an der Univerity of California entwickelt: das offene, relationale Datenbanksystem Ingres. Heute ist Ingres wieder ein eigenständiges Unternehmen, das mit seinem gleichnamigen Produkt die weltweit führende Enterprise-Open-Source-Datenbank anbietet. Zur Datenhaltung insbesondere großer Datenbestände werden heute relationale Datenbanken, die mit einem relationalen Datenbankmanagementsystem (RDBMS, Relational Database Management System) verwaltet werden, eingesetzt.

Renamed – die Geburt von SQL

Um in der relationalen Datenbank Tabellen anzulegen, zu füllen, Datensätze zu ändern oder zu löschen wird eine besondere Kommandostruktur verwendet: SQL. Die Datenbanksprache SQL ermöglicht die Definition und die Verwaltung von Datenstrukturen. Dazu gehören das Anlegen einer Tabelle, die Datenmanipulationen innerhalb dieser Datenstruktur, wie etwa das Einfügen und Löschen von Sätzen oder auch das Einfügen von Spalten (Columns bzw. Attribute) in die Tabelle sowie das Anlegen von Schlüsseln.
Die Aussprache von „SQL“, das für „Standard Query Language“ steht, gibt nicht nur Aufschluss über seinen Zweck (Query = Abfrage), sondern auch über seine Herkunft. Offiziell wird „SQL“ als [?skju???l] ausgesprochen, wobei aber auch [?si?kw?l] verwendet wird. Letzteres ist der „ursprüngliche“ Name der Datenbanksprache, die unter Beteiligung von Edgar Codd von Donald Chamberlin und Raymond Boyce entworfen wurde: SEQUEL (Structured English Query Language). SEQUEL wurde mit seiner Standardisierung zu „SQL“. Basierend auf der relationalen Algebra zeigt SQL einen einfachen Aufbau und eine enge Anlehnung an die englische Umgangssprache.

SQL und die Befehlskategorien

Die SQL-Befehle zur Bearbeitung der Strukturen in der Datenbank sind in – gemäß ihrem Zweck – in verschiedene Kategorien eingeteilt: SQL umfasst Kategorie zur Manipulation und Definition der Daten sowie zur Verwaltung der Datenbank.
Die Kategorie DML (Data Manipulation Language) enthält die SQL-Befehle zum Ändern, Einfügen und Löschen innerhalb der Tabelle. Die SQL-Sprachelemente, die der reinen Abfrage der Daten dienen, gehören grundsätzlich ebenfalls in die Kategorie DML, werden in der Literatur teilweise aber auch als Data Query Language (Datenabfragesprache, DQL) kategorisiert. DML beinhaltet alle SQL-Befehle zur Änderung und Abfrage innerhalb einer Relation (Tabelle).

Einige DML-Befehle:

  • SELECT FROM relation – um Daten (Sätze, Attribute) in der Tabelle relation zu lesen
  • DELETE FROM relation – um Daten (Sätze, Attribute) in der Tabelle zu löschen
  • INSERT INTO relation – um Daten(Sätze, Attribute) in eine bestehende Tabelle einzufügen

Beispiel DML-Befehl:

In die Tabelle „Student“ sollen die Studenten Huber und Schulz angelegt werden. Der Primärschlüssel in der Tabelle Student ist die Matrikelnummer, die daher mit angelegt werden muss:
INSERT INTO student (matrn, name) VALUES (10001, ‚Huber‘), (15005, . ‚Schulz‘
Der Befehl legt zwei Sätze an. Einen für Huber, und einen für Schulz. Sollen weitere Daten eingefügt werden, wie etwa eingeschriebene Studiengang, das bereits als Feld in der Tabelle angelegt ist, so wird dazu nicht der INSERT-, sondern der UPDATE-Befehl verwendet.
Die Kategorie DDL (Data Definition Language) enthält die Befehle zur Definition des Datenbankschemas. Mit den zur Kategorie DDL gehörenden SQL-Befehlen werden die Relationen (Tabellen) der Datenbank angelegt, gelöscht oder geändert. Das Anlegen von Relationen (Tabellen) und Sichten, die Definition von Schlüsseln bzw. Indizes innerhalb der Tabelle sowie das Löschen von Tabellen und Sichten werden von SQL-Befehlen der Kategorie DDL ausgeführt:

Einige DDL-Befehle:

  • CREATE TABLE relation – legt die Tabelle „relation“ an
  • DROP INDEX indexname – löscht einen Index
  • ALTER TABLE „relation“ alterdefinition – Ändern der Tabelle gemäß der mitgegebenen „alterdefinition“

Beispiel DDL-Befehl:

Die Tabelle Student wird auf der Datenbank angelegt.
CREATE TABLE Student (MatrNr INT NOT NULL PRIMARY KEY,
NACHNAME VARCHAR(30) NOT NULL
Die Tabelle Student enthält Spalten für Attribute, nämlich die Matrikelnummer, die der Primärschlüssel der Tabelle ist, sowie den Nachnamen, der eine Länge von 30 Zeichen aufnehmen kann. Wird beim Anlegen eines Satzes der Nachname nicht gefüllt, so wird – wegen der Angabe von „NOT NULL“ – die Anweisung zurückgewiesen. Soll die Tabelle um ein weiteres Feld erweitert werden, zum Beispiel um das Geburtsdatum, wird der ALTER TABLE-Befehl verwendet.
Zu den Befehlen der Kategorie DCL, der Data Control Language, zählt die Berechtigungsverwaltung. Die Rechte auf die Objekte der Datenbank sind in SQL spezifiziert, nicht jedoch die Verwaltung der Benutzerrechte. Jedes Datenbanksystem implementiert daher seine eigene Benutzerverwaltung.

Einige DCL-Befehle:

  • GRANT operation ON relation TO benutzer – Weitergabe eigener Rechte (Grant) an der Tabelle „relation“ an den oder die „benutzer“
  • REVOKE – zum Widerrufen von Rechten

Die „operation“ kann etwa ein „SELECT“ oder ein „UPDATE“ sein, die es dem bevollmächtigten Benutzer erlaubt, die Tabelle zu lesen bzw. die Inhalte der Tabelle zu ändern.

Der Schlüssel zum Erfolg

Der Student Huber besucht viele Vorlesungen. Während die Studenten mit ihrer Matrikelnummer und dem Geburtsdatum in der Tabelle „Student“ abgelegt werden, so sind die Vorlesungen in einer eigenen Tabelle „Vorlesung“ gehalten. Die Information, welche Vorlesungen der Student Huber besucht – wird in einer eigenen Tabelle (Belegungen) abgelegt. Die Normalisierung der Datenstrukturen auf der Datenbank ermöglicht die Haltung redundanzfreier großer Datenbestände. Zur logischen Verknüpfung der Daten werden Schlüsselbeziehungen erstellt.
Wird für die Tabelle ein Primärschlüssel erstellt, so können in dieses Feld nur innerhalb der Tabelle eindeutige Werte eingetragen werden. Das Primärschlüsselfeld der Tabelle „Student“ ist die Matrikelnummer. Somit kann der Datensatz für den Studenten Huber nur ein einziges Mal in der Tabelle angelegt werden. Ein mit INSERT angelegter weiterer Satz mit der gleichen Matrikelnummer wird vom DBMS zurückgewiesen. Wird in die Tabelle Student ein Feld aufgenommen, das Primärschlüssel einer anderen Tabelle ist, so wird das Feld zum Fremdschlüssel.

Beispiel für einen Fremdschlüssel:

Die Datenbank der Uni hat für alle angebotenen Studiengänge (Master-BWL, Bachelor-BWL (Kürzel: BWL05), VWL, Mathematik etc.) eine eigene Tabelle, in dem der eindeutige Bezeichner des Studiengangs der Primärschlüssel ist. In der Tabelle „Student“ wird ein weiteres Feld eingefügt, in dem der eingeschriebene Studiengang (z.B. „BWL05“) des jeweiligen Studenten abgelegt werden kann. Das Feld „studiengang“ ist in der Tabelle „Student“ somit ein Fremdschlüssel. Das Feld „studiengang“ ist in der Tabelle „StudiengängeUni“ der Primärschlüssel. Wird ein Satz in der Tabelle „Student“ angelegt und das Feld „studiengang“ gefüllt, so muss ein Satz mit dem Inhalt des Feldes „studiengang“ in der Tabelle „StudiengängeUni“ vorhanden sein.

Nicht ohne die Schlüssel

Schlüssel verknüpfen die Informationen innerhalb der Datenbank, um so die Daten in logisch eigenständige Container – die Tabellen – abzulegen. Das Ziel der Normalisierung von Strukturen, das mit der Verschlüsselung der Daten erreicht wird, ist auch die redundanzfreie Datenhaltung, um so Zugriffskosten und physischen Speicherplatz zu sparen und Fehlerquellen zu eliminieren.



Zurück zur Hauptseite: s

Sie haben Fragen?

Kostenlose, unverbindliche Erstberatung:

Anrufer aus Deutschland:
Tel. 0771 - 1589439
Internationale Beratung:
Tel. +49771 - 1589439
Anfrage per Email:
buero@seo-analyse.com

» zum Anfrage-Formular

Onpage Optimierung

Suchmaschinenoptimierung im Quelltext

Wir schaffen für Ihre Webseite oder Ihren Shop eine optimale Onpage-Basis für weiterführende Optimierungsmaßnahmen.

Offpage Optimierung

Offpage Suchmaschinenoptimierung

Natürlicher Linkaufbau gemäß den Regeln der Suchmaschinen - wir bieten ihn!

SEO Beratung

SEO Beratung

Unsere Spezialisten beraten Sie gerne hinsichtlich Ihrer akuten oder strategischen Fragen.

Ranking Monitoring

Ranking Optimierung

Bei uns Standard: qualifiziertes Monitoring Ihrer Google Platzierungen.

Suchmaschinenoptimierung für Google

Google Suchmaschinenoptimierung

Wir kombinieren Google Optimierung mit ganzheitlicher Suchmaschinenoptimierung.

SEO Strategie

SEO Strategie

Praxisbewährte Strategien, die auf Zahlen und Fakten basieren.

SEO Tools

SEO Tools

Immer im Bild: professionelle SEO Tools informieren Sie über den Status Quo.