SQL-Datenbank Befehle
Erstellen Sie mit Hilfe unserer Tools im Handumdrehnen diverse SQL-Befehle. Tools zum leeren, löschen, umbenennen, reperieren oder umbenenne einer Tabelle.
Häufig gestellte Fragen
Kann man Datenbankbefehle rückgangig machen?
Was ist eigentlich eine Datenbank?
Welche Datenbankbefehle gibt es?
Wie kann man Datenbankbefehle ausführen?
Häufig gestellte Fragen
Kann man Datenbankbefehle rückgangig machen?
Bei Datenbanken gibt es zwei verschiedene Modi, um Datenbankbefehle abzusetzen. Der einfache Modus ist das "Autocommit", in dem jeder Befehl einzeln und endgültig ausgeführt wird. Befehle, die in dem Modus "Autocommit" erteilt werden, können nicht rückgängig gemacht werden.
Bei komplexen Aufgaben gibt es Transaktionen, die Datenbankbefehle klammern, d.h. nur gemeinsam oder gar nicht durchführen. Dies ist zum Beispiel erforderlich, wenn bei Banken eine Überweisung von einem Konto auf ein anderes durchgeführt werden soll. Dann wird die Abbuchung bei dem einen Konto mit der Gutschrift auf dem anderen Konto als eine Transaktion angelegt. Solche Transaktionen erklärt man dann mit dem Befehl "Commit" als abgeschlossen und durchgeführt oder sie können durch den Befehl "Rollback" rückgängig gemacht werden. Dadurch wird sichergestellt, daß nicht die Abbuchung in der Datenbank gespeichert ist, ohne daß auch die Gutschrift erfolgt ist.
Was ist eigentlich eine Datenbank?
Eine Datenbank ist eine Speicherung von Daten in einer bestimmten Struktur. Sie arbeitet zusammen mit einer Software, dem sogenannten Datenbankmanagementsystem. Gemeinsam nennt man die Datenbank und das zugehörige Programmsystem ein Datenbanksystem.
Es gibt verschiedene Strukturen von Datenbanken, ältere waren z.B. hierarchische Datenbanksysteme, in denen die Daten in einer Hierarchie angeordnet waren in sogenannten Vater-Sohn-Beziehungen. Jeder Sohn hatte genau einen Vater, jeder Vater konnte beliebig viele Söhne haben. Soche Beziehungen heißen 1:n Beziehung. In einer hierarchischen Datenbank gab es nur solche 1:n Beziehungen.
Dann wurden relationale Datenbanksysteme entwickelt. Bei ihnen werden alle Daten grundsätzlich in Form von Tabellen gespeichert. Dabei können außer 1:n Beziehungen zwischen den Daten auch sogenannte m:n Beziehungen abgebildet werden. Ein Beispiel für solche Beziehungen sind Schüler und Kurse. Jeder Schüler kann mehrere Kurse belegen, aber in jedem Kurs sind auch viele Schüler. Dies war in einer hierarchischen Datenbank nur durch Mehrfachspeicherung möglich und führte zu Schwierigkeiten, wenn ein Schüler einen weiteren Kurs belegte, weil an mindestens zwei Stellen Änderungen an der Datenbank vorgenommen werden mußten. Bei relationalen Datenbanken werden diese Beziehungen in einer eigenen Tabelle abgelegt und nur in dieser muß die neue Beziehung eingetragen werden. Damit sind alle Beziehungen zwischen Daten direkt und einfach darstellbar.
Eine noch spätere Entwicklung ist die obektorientierte Datenbank, bei der zusätzlich zu den Daten und ihren Beziehungen noch Methoden definiert werden können. Wird dort beispielsweise ein Kreis gespeichert mit Mittelpunkt und Radius, so kann als Methode die Umfangberechnung definiert werden.
Was sind Datenbankbefehle?
Datenbankbefehle werden unterschieden in Auswahl- und Manipulationsbefehle. Der Auswahlbefehl dient dem lesenden Zugriff auf die Daten, während die Manipulationsbefehle Änderungen am Datenbestand bewirken.
Welche Datenbankbefehle gibt es?
Bei relationalen Datenbanksystemen gibt es vier Befehle: den Insert-Befehl für das Hinzufügen von Datenzeilen in die Tabellen, den Delete-Befehl für das Löschen einer Datenzeile, den Update-Befehl für das Ändern einer Spalte in einer existierenden Tabellenzeile und den Select-Befehl für die Abfrage einer Tabellenzeile.
Alle diese Befehle außer dem Insert-Befehl enthalten üblicherweise als Teil des Befehls die Where-Klausel, die aus der Tabelle die gewünschten Zeilen auswählt.
Wie kann man Datenbankbefehle ausführen?
Wenn das Datenbankmanagementsystem aktiviert ist und man sich in einer interaktiven Umgebung der Datenbank befindet, ist in den meisten Fällen die Voreinstellung "Autocommit". Das bedeutet, daß jeder Befehl unabhängig von allen anderen direkt ausgeführt wird, wenn die Enter-Taste gedrückt wird.
Diese Voreinstellung kann aber auch geändert werden. Dann wird zwar auch jeder Befehl einzeln ausgeführt, aber der endgültige Eintrag in der Datenbank erfolgt erst, wenn ein abschließender Commit-Befehl gegeben wird. Dies kann bei Datenbanksystemen, bei denen mehrere Benutzer gleichzeitig zugreifen können, zu Verzögerungen führen. Andere Benutzer dürfen geänderte Daten erst nach der endgültigen Bestätigung zu sehen bekommen. Außerdem dürfen sie natürlich nicht gleichzeitig die Daten ändern. Deshalb werden solche Transaktionen, die erst durch eine explizite Bestätigung beendet werden, in Systemen mit mehreren Benutzer meist nicht interaktiv durchgeführt.
Datenbankbefehle können deshalb auch in Programmiersprachen oder Programmierumgebungen eingebettet werden. Dann ist eine weniger störende Abarbeitung möglich, die nicht nur schneller durchgeführt werden kann, sondern auch nachts, wenn der interaktive Zugriff auf Daten selten oder gar nicht stattfindet.