Eigene Tabellen anlegen – CREATE TABLE und INSERT Zusatzmodul Z1

Zusatz: Saarland entdecken

Bisher hast du Daten nur abgefragt. Mit SQL kann man aber auch neue Datensätze einfügen und eigene Tabellen anlegen. Dieses Kapitel ist ein Zusatz für Expertinnen und Experten.

Eine Klasse entwickelt die Ausflugs-App „Saarland entdecken“. Zwei Tabellen gibt es schon: die saarländischen Landkreise mit ihren Autokennzeichen und eine erste Liste von Wahrzeichen.

KennzeichenNameKreisstadt
SBRegionalverband SaarbrückenSaarbrücken
MZGLandkreis Merzig-WadernMerzig
NKLandkreis NeunkirchenOttweiler
SLSLandkreis SaarlouisSaarlouis
HOMSaarpfalz-KreisHomburg
WNDLandkreis St. WendelSt. Wendel

Die Tabelle landkreis

WIDNameOrtKategorieKennzeichen
1SaarschleifeMettlachNaturMZG
2Völklinger HütteVölklingenIndustriekulturSB
3LudwigskircheSaarbrückenKircheSB
4Saarbrücker SchlossSaarbrückenSchlossSB
5BostalseeNohfeldenNaturWND
6SchaumbergTholeyNaturWND
7Basilika St. WendelinSt. WendelKircheWND
8SaarpolygonEnsdorfIndustriekulturSLS

Die Tabelle wahrzeichen

So arbeitest du in diesem Kapitel

  • Jede Ausführung beginnt mit der unveränderten Datenbank. Du kannst also nichts kaputt machen.
  • Nach einer Änderung zeigt dir die Seite, wie die Tabelle danach aussieht.
  • Mehrere Anweisungen trennst du durch ein Semikolon ;.

1 Datensätze einfügen – INSERT INTO

Mit INSERT INTO fügst du einer Tabelle einen neuen Datensatz hinzu. Die Werte stehen in derselben Reihenfolge wie die Attribute im Datenbankschema:

INSERT INTO wahrzeichen
VALUES (20, 'Schlossberghöhlen', 'Homburg', 'Natur', 'HOM')

Merke

  • INSERT INTO tabelle VALUES (wert1, wert2, …) fügt einen Datensatz ein.
  • Texte stehen in Hochkommata ('Homburg'), Zahlen ohne (20), Kommazahlen mit Punkt (8.50), ein Datum als Text in der Form 'JJJJ-MM-TT'.
  • Mehrere Datensätze auf einmal: VALUES (…), (…)
Aufgabe 1 🗄 Saarland entdecken
Die Römische Villa Borg in Perl (Landkreis Merzig-Wadern) soll als Museum mit der Nummer 9 in die App. Füge sie ein.
Datenbankschema „Saarland entdecken“ anzeigen
landkreis (6 Datensätze)
  • 🔑 Kennzeichen varchar(3)
  • Name varchar(40)
  • Kreisstadt varchar(30)
wahrzeichen (8 Datensätze)
  • 🔑 WID integer
  • Name varchar(40)
  • Ort varchar(30)
  • Kategorie varchar(20)
  • Kennzeichen varchar(3) → landkreis.Kennzeichen

🔑 Primärschlüssel · → Fremdschlüssel (verweist auf Tabelle.Attribut)

Struktur vorgeben:

Ohne Anmeldung wird deine Abfrage nicht gespeichert.

Aufgabe 2 🗄 Saarland entdecken
Füge zwei weitere Museen auf einmal ein: Nr. 10 Gondwana in Schiffweiler (Landkreis Neunkirchen) und Nr. 11 Kulturpark Bliesbruck-Reinheim in Gersheim (Saarpfalz-Kreis).
Datenbankschema „Saarland entdecken“ anzeigen
landkreis (6 Datensätze)
  • 🔑 Kennzeichen varchar(3)
  • Name varchar(40)
  • Kreisstadt varchar(30)
wahrzeichen (8 Datensätze)
  • 🔑 WID integer
  • Name varchar(40)
  • Ort varchar(30)
  • Kategorie varchar(20)
  • Kennzeichen varchar(3) → landkreis.Kennzeichen

🔑 Primärschlüssel · → Fremdschlüssel (verweist auf Tabelle.Attribut)

Struktur vorgeben:

Ohne Anmeldung wird deine Abfrage nicht gespeichert.

Manchmal kennt man noch nicht alle Werte. Dann gibt man hinter dem Tabellennamen an, welche Attribute man füllt. Die übrigen bleiben leer (NULL):

INSERT INTO wahrzeichen (WID, Name)
VALUES (21, 'Halde Duhamel')
Aufgabe 3 🗄 Saarland entdecken
Für den Baumwipfelpfad Saarschleife in Mettlach (Nr. 12) stehen Kategorie und Landkreis noch nicht fest. Füge ihn nur mit Nummer, Name und Ort ein.
Datenbankschema „Saarland entdecken“ anzeigen
landkreis (6 Datensätze)
  • 🔑 Kennzeichen varchar(3)
  • Name varchar(40)
  • Kreisstadt varchar(30)
wahrzeichen (8 Datensätze)
  • 🔑 WID integer
  • Name varchar(40)
  • Ort varchar(30)
  • Kategorie varchar(20)
  • Kennzeichen varchar(3) → landkreis.Kennzeichen

🔑 Primärschlüssel · → Fremdschlüssel (verweist auf Tabelle.Attribut)

Struktur vorgeben:

Ohne Anmeldung wird deine Abfrage nicht gespeichert.

2 Tabellen anlegen – CREATE TABLE

Die Tabelle landkreis wurde mit diesem Befehl angelegt:

CREATE TABLE landkreis (
  Kennzeichen VARCHAR(3) PRIMARY KEY,
  Name VARCHAR(40),
  Kreisstadt VARCHAR(30)
)

Für jedes Attribut gibst du einen Namen und einen Datentyp an:

DatentypBedeutungBeispiel
INTEGERganze Zahl180000
DECIMAL(5,2)Kommazahl mit 5 Stellen, davon 2 nach dem Komma8.50
VARCHAR(30)Text mit höchstens 30 Zeichen'Homburg'
DATEDatum'2027-05-12'

Merke

CREATE TABLE tabelle (Attribut1 Datentyp, Attribut2 Datentyp, …) legt eine neue, leere Tabelle an. PRIMARY KEY hinter einem Attribut macht es zum Primärschlüssel.

Aufgabe 4 🗄 Saarland entdecken
Die App soll auch Städte enthalten. Lege die Tabelle stadt an mit den Attributen Name (Text mit bis zu 30 Zeichen, Primärschlüssel), Kennzeichen (Text mit 3 Zeichen) und Einwohner (ganze Zahl).
Datenbankschema „Saarland entdecken“ anzeigen
landkreis (6 Datensätze)
  • 🔑 Kennzeichen varchar(3)
  • Name varchar(40)
  • Kreisstadt varchar(30)
wahrzeichen (8 Datensätze)
  • 🔑 WID integer
  • Name varchar(40)
  • Ort varchar(30)
  • Kategorie varchar(20)
  • Kennzeichen varchar(3) → landkreis.Kennzeichen

🔑 Primärschlüssel · → Fremdschlüssel (verweist auf Tabelle.Attribut)

Struktur vorgeben:

Ohne Anmeldung wird deine Abfrage nicht gespeichert.

Aufgabe 5 🗄 Saarland entdecken
Die Tabelle stadt aus der letzten Aufgabe ist jetzt angelegt – das übernimmt die Seite für dich. Füge drei Städte ein (Einwohnerzahlen gerundet): Saarbrücken (SB, 180000), Neunkirchen (NK, 46000) und Homburg (HOM, 42000).
Datenbankschema „Saarland entdecken“ anzeigen
landkreis (6 Datensätze)
  • 🔑 Kennzeichen varchar(3)
  • Name varchar(40)
  • Kreisstadt varchar(30)
wahrzeichen (8 Datensätze)
  • 🔑 WID integer
  • Name varchar(40)
  • Ort varchar(30)
  • Kategorie varchar(20)
  • Kennzeichen varchar(3) → landkreis.Kennzeichen

🔑 Primärschlüssel · → Fremdschlüssel (verweist auf Tabelle.Attribut)

Struktur vorgeben:

Ohne Anmeldung wird deine Abfrage nicht gespeichert.

3 Gute Tabellen planen

Freitext

Plane eine Tabelle für die Schülerinnen und Schüler deiner Klasse, z. B. für eine App mit dem Vertretungsplan. Welche Attribute mit welchen Datentypen braucht sie? Was solltest du speichern: das Alter oder das Geburtsdatum? Begründe.

💡 Zum Speichern deiner Antwort bitte einloggen.
Ausprobieren 🗄 Saarland entdecken
Probiere deine Tabelle aus: Lege sie an und füge zwei Beispieldatensätze ein.
Datenbankschema „Saarland entdecken“ anzeigen
landkreis (6 Datensätze)
  • 🔑 Kennzeichen varchar(3)
  • Name varchar(40)
  • Kreisstadt varchar(30)
wahrzeichen (8 Datensätze)
  • 🔑 WID integer
  • Name varchar(40)
  • Ort varchar(30)
  • Kategorie varchar(20)
  • Kennzeichen varchar(3) → landkreis.Kennzeichen

🔑 Primärschlüssel · → Fremdschlüssel (verweist auf Tabelle.Attribut)

Ohne Anmeldung wird deine Abfrage nicht gespeichert.

Immer wieder parken fremde Autos auf dem Lehrerparkplatz. Das Sekretariat möchte deshalb wissen, welche Autos zu welcher Lehrkraft gehören, und hat die Tabelle der Lehrkräfte ergänzt:

lehrer
KuerzelNachnameAutos
LELenkSB-GL 12, SB-GL 13
ZUZundkleinNK-KZ 404
RERetischHOM-TR 1, WND-TR 77, SB-TR 3
Freitext

Warum ist diese Tabelle nicht gut gelungen und widerspricht sogar den Regeln einer relationalen Datenbank? Wie könnte man es besser machen?

💡 Zum Speichern deiner Antwort bitte einloggen.

✏️ Übungen zu diesem Kapitel

3 freiwillige Aufgaben zum Üben und Weiterdenken.

Zu den Übungen →