Mit welchem SQL-Befehl fügt man neue Datensätze in eine Tabelle ein?
Dafür wird das INSERT-Statement verwendet. Schema:
INSERT INTO tabellenname
[(spalte1, spalte2, ...)]
VALUES (wert1, wert2, ...);
Wenn die Spaltenliste weggelassen wird, müssen Werte für alle Spalten (in der Reihenfolge der Tabellendefinition) angegeben werden. Fehlen Werte für NOT NULL-Spalten ohne Default-Wert, bricht das DBMS mit einer Fehlermeldung ab.
Was passiert, wenn man beim INSERT nicht alle Spalten einer Tabelle explizit befüllt?
Liegt ein AUTO_INCREMENT (z. B. bei einem künstlichen Schlüssel) vor, erzeugt das DBMS selbstständig einen neuen Wert.
Gibt es einen definierten Default-Wert für eine Spalte, nutzt das DBMS diesen.
Falls kein Default-Wert vorhanden ist, kann das DBMS NULL eintragen (sofern die Spalte NULL erlaubt).
Ist die Spalte auf NOT NULL gesetzt und hat keinen Default-Wert, führt das zu einem Fehler.
Wie aktualisiert man bestehende Datensätze in einer Datenbank?
Mit dem UPDATE-Statement. Grundschema:
UPDATE tabellenname
SET spalte1 = neuer_wert1,
spalte2 = neuer_wert2,
...
WHERE bedingung;
Werden mehrere Datensätze per WHERE-Bedingung getroffen, werden alle geändert. Ohne WHERE werden sämtliche Zeilen der Tabelle verändert.
Wie entfernt man Datensätze aus einer Tabelle?
Mit dem DELETE-Befehl. Schema:
DELETE FROM tabellenname
Ohne WHERE-Bedingung wird der komplette Inhalt der Tabelle gelöscht (die Tabellenstruktur bleibt jedoch bestehen). Dieses Löschen ist unwiderruflich.
Wie lassen sich Spalten einer bestehenden Tabelle oder ihre Constraints nachträglich ändern?
Hierfür verwendet man ALTER TABLE. Beispiele:
Spalte hinzufügen:
ALTER TABLE tabelle
ADD neue_spalte datentyp [NOT NULL] [...];
Spalte ändern (DBMS-abhängig, oft MODIFY oder ALTER COLUMN):
MODIFY
ALTER COLUMN
MODIFY spalte datentyp [NOT NULL] [...];
Spalte löschen:
ALTER TABLE tabelle DROP spalte;
Constraint hinzufügen:
ADD CONSTRAINT constraint_name
FOREIGN KEY (spalte) REFERENCES ...
Constraint entfernen:
DROP FOREIGN KEY constraint_name;
Was versteht man unter dem Begriff Transaktion im Kontext relationaler Datenbanken?
Eine Transaktion fasst mehrere SQL-Operationen (INSERT, UPDATE, DELETE usw.) zu einer „untrennbaren“ Einheit zusammen. Sie wird entweder vollständig (COMMIT) oder gar nicht (ROLLBACK) ausgeführt. Dadurch bleibt der Datenbestand konsistent.
Welche vier sogenannten ACID-Eigenschaften muss eine Transaktion erfüllen?
Atomarität (Atomicity): Die Transaktion wird entweder ganz oder gar nicht ausgeführt.
Konsistenz (Consistency): Konsistenzbedingungen bleiben gewahrt; ein konsistenter Zustand wird in einen ebenfalls konsistenten Zustand überführt.
Isoliertheit (Isolation): Parallel laufende Transaktionen beeinflussen sich gegenseitig nicht.
Dauerhaftigkeit (Durability): Einmal bestätigte (committe-te) Änderungen bleiben dauerhaft gespeichert.
Was passiert, wenn innerhalb einer Transaktion ein Fehler auftritt?
Mit dem ROLLBACK-Befehl werden alle Änderungen der laufenden Transaktion rückgängig gemacht. Der Datenzustand entspricht dann wieder dem Zeitpunkt vor Beginn der Transaktion.
Welche Isolationsphänomene können bei parallelen Transaktionen auftreten?
Lost Update: Eine zweite Transaktion überschreibt Änderungen der ersten, ohne sie zu berücksichtigen.
Dirty Read (Temporary Update): Eine Transaktion liest unbestätigte (noch nicht committete) Änderungen. Werden diese anschließend per ROLLBACK rückgängig gemacht, arbeitete die lesende Transaktion mit nie gültigen Daten.
Non-repeatable Read: Wiederholtes Lesen derselben Daten liefert unterschiedliche Ergebnisse, wenn zwischenzeitlich eine zweite Transaktion sie verändert.
Phantom Read: Wiederholtes Lesen eines ganzen Bereichs bringt beim zweiten Lesen zusätzliche (oder fehlende) Datensätze, weil parallel Datensätze eingefügt oder gelöscht wurden.
Was bedeutet Isolationslevel bei Transaktionen?
Das Isolationslevel legt fest, wie stark eine Transaktion gegen parallele Änderungen anderer Transaktionen abgeschirmt ist. Hohe Isolationsstufe (z. B. SERIALIZABLE) verhindert zwar Phänomene wie Phantom Reads, senkt aber die Parallelität und kann zu Wartezeiten führen. Niedrige Isolationsstufe (READ UNCOMMITTED) erhöht die Geschwindigkeit, kann jedoch Fehler wie Dirty Reads zulassen.
SERIALIZABLE
READ UNCOMMITTED
Zuletzt geändertvor 2 Monaten