Lösung: Öffentlicher Verkehr

Crow's-Foot-Diagramm Öffentlicher Verkehr Klicken Sie aufs Bild, um es vergrössert anzuzeigen.

Fremdschlüssel

Datentypen

Spalte Typ Begründung
fahrt_id, linien_id, haltestelle_id INT Ganzzahlige IDs
datum DATE Nur das Datum ist relevant
abfahrtszeit TIME Nur die Uhrzeit ist relevant
preis DECIMAL(6,2) Geldbetrag, exakt auf zwei Nachkommastellen – kein FLOAT wegen Rundungsfehlern
name, betreiber, ort VARCHAR Textlänge variabel

SQL: Tabellen erstellen

Fremdschlüssel-Spalte ist angelegt, aber noch ohne FOREIGN-KEY-Constraint – den setzen wir später im Modul. Bie linie und haltestelle gibt es noch keine Fremdschlüssel-Spalte, weil die n:m-Beziehung erst mit einer Zwischentabelle abgebildet werden kann.

CREATE TABLE linie (
  linien_id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(20) NOT NULL,
  betreiber VARCHAR(20)
);
 
CREATE TABLE haltestelle (
  haltestelle_id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(20) NOT NULL,
  ort VARCHAR(20)
);
 
CREATE TABLE fahrt (
  fahrt_id INT AUTO_INCREMENT PRIMARY KEY,
  datum DATE,
  abfahrtszeit TIME,
  preis DECIMAL(6,2),
  linien_id INT
);