< back to overview
x

Lösungen

CREATE TABLE

  1. Was ist der Unterschied zwischen Int und Float?

Int = ganze Zahlen; Float = mit Kommastellen

  1. Erstelle eine Tabelle names "cars". Jedes Auto hat einen Namen, einen Hersteller, die Anzahl an Türen und optional auch die Farbe.
CREATE TABLE cars (
  id SERIAL PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  manufacturer VARCHAR(255) NOT NULL,
  doors_count INT NOT NULL,
  color VARCHAR(255)
);
  1. Erstelle eine Tabelle "manufacturers" (Auto Hersteller). Jeder Hersteller hat einen Namen und ein Gründungsjahr.
CREATE TABLE manufacturers (
  id SERIAL PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  year INT NOT NULL
);
  1. Jetzt wo die oberen Tabellen erstellt worden sind. Welche Tabelle muss angepasst werden damit eine Verbindung zwischen beiden Tabellen entsteht? Schreibe die Tabelle, welche angepasst werden muss, nochmals neu hier unten dran:
    Nimm dir Zeit diese Aufgabe zu lösen.
CREATE TABLE cars (
  ...,
  manufacturer_id INT NOT NULL REFERENCES manufacturers(id),
  ...
);

Draw Table (One to Many)

CREATE TABLE schulen (
  id SERIAL PRIMARY KEY,
  name VARCHAR(255),
  ort VARCHAR(255)
);

CREATE TABLE gebäude (
  id SERIAL PRIMARY KEY,
  schule_id INT NOT NULL REFERENCES schulen(id),
  nummer INT,
  farbe VARCHAR(255)
);

CREATE TABLE zimmer (
  id SERIAL PRIMARY KEY,
  gebäude_id INT NOT NULL REFERENCES gebäude(id),
  m2 INT,
  ausrichtung VARCHAR(255)
);

CREATE TABLE kunden (
  id SERIAL PRIMARY KEY,
  name VARCHAR(255),
  ort VARCHAR(255)
);

CREATE TABLE konti (
  id SERIAL PRIMARY KEY,
  kunde_id INT NOT NULL REFERENCES kunden(id),
  nummer INT,
  währung VARCHAR(255)
);

CREATE TABLE transaktionen (
  id SERIAL PRIMARY KEY,
  konto_id INT NOT NULL REFERENCES konti(id),
  created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

Many to Many

CREATE TABLE schauspieler (
  id SERIAL PRIMARY KEY,
);

CREATE TABLE schau_filme (
  id SERIAL PRIMARY KEY,
  schau_id INT NOT NULL REFERENCES schauspieler(id),
  film_id INT NOT NULL REFERENCES filme(id),
);

CREATE TABLE filme (
  id SERIAL PRIMARY KEY,
  regisseur_id INT NOT NULL REFERENCES regisseur(id),
  length INT,
);

CREATE TABLE regisseur (
  id SERIAL PRIMARY KEY,
);

CREATE TABLE keys (
  id SERIAL PRIMARY KEY,
  teacher_id INT NOT NULL REFERENCES teachers(id),
);

CREATE TABLE keys_doors (
  id SERIAL PRIMARY KEY,
  key_id INT NOT NULL REFERENCES keys(id),
  door_id INT NOT NULL REFERENCES doors(id),
);

CREATE TABLE doors (
  id SERIAL PRIMARY KEY,
);

CREATE TABLE teachers (
  id SERIAL PRIMARY KEY,
);