2.1 Daten einfügen
Mit der INSERT INTO-Anweisung können neue Datensätze in eine vorhandene Tabelle eingefügt werden.
Beispiel
Die Daten zweier Kunden sollen erfasst werden. Dazu wird für jeden Kunden ein Datensatz (Zeile) mit den entsprechenden Daten in die Tabelle Kunden eingefügt.
Tabelle Kunde
ID | Vorname | Nachname |
---|---|---|
1 | Max | Maier |
2 | Fritz | Haug |
3 | Eva | Maier |
Wenn die Anzahl und die Reihenfolge der übergebenen Werte der Anzahl und der Reihenfolge der betroffenen Spalten entspricht dann kann auf die Angabe der Spaltennamen verzichtet werden.
Tabelle Kunde
ID | Vorname | Nachname |
---|---|---|
1 | Max | Maier |
2 | Fritz | Haug |
3 | Eva | Maier |
4 | Anja | Sommer |
Aufgabe 2-1: Fahrradvermietung
Fügen Sie die folgenden Datensätze in die Datenbank Fahrradvermietung ein. Worauf müssen Sie achten, damit das DBMS keine Fehlermeldungen wegen Verletzung der referenziellen Integrität zurückgibt?
-
Tabelle Kunde
ID Vorname Nachname 1 Max Maier 2 Fritz Haug 3 Eva Maier 4 Anja Sommer -
Tabelle Mietvertrag
ID Abschlussdatum Mietbeginn Mietdauer ↑Kunde_ID 1 2015-08-11 2015-08-12 3 1 2 2015-08-13 2015-08-15 5 2 -
Tabelle Fahrrad
ID Kennung ↑Fahrradtyp_ID 1 Cross#7 1 2 Mark#2 2 -
Tabelle Fahrradtyp
ID Bezeichnung 1 Mountainbike 2 Trekkingrad 3 Rennrad 4 E-Bike -
Tabelle Mietvertrag_vermietet_Fahrrad
↑Mietvertrag_ID ↑Fahrrad_ID 1 1 1 2 2 2
Lösung
Um die referenzielle Integrität der Datenbank sicherzustellen, können Datensätze, die einen Fremdschlüssel enthalten, nur eingefügt werden, wenn der Datensatz, auf den der Fremdschlüssel verweist, bereits existiert.
VALUES (1, "Mountainbike"),
(2, "Trekkingrad"),
(3, "Rennrad"),
(4, "E-Bike");
VALUES (1, "Cross#7", 1),
(2, "Mark#2", 2);
VALUES (1, "2015-08-11", "2015-08-12", 3, 1),
(2, "2015-08-13", "2015-08-15", 5, 2);
VALUES (1, 1),
(1, 2),
(2, 2);