Wiki: Mathe und Info

Unterrichtsmaterialien für Mathematik und Informatik

Benutzer-Werkzeuge

Webseiten-Werkzeuge


info:sek-ii:q2:sql:old-lektion5gk

Datenbanken mit einem DBMS erstellen

Info

Wir werden heute eine Datenbank für einen Coffee-Shop erstellen. Dieser soll das folgende ER-Modell besitzen:

info:sek-ii:q2:sql:lektion5gk-erd.png

Aufgabe 1: Relationenmodell erstellen
  1. Erstellt das zugehörige Relationenmodell.
Aufgabe 2: Neue Datenbank erstellen
  1. Startet SQLite Studio und erstellt mit dem -Knopf die neue Datenbank CoffeeShop.sqlite3:
  2. Verbindet die Datenbank durch einen Doppelklick:
Aufgabe 3: Erste Tabelle erzeugen
  1. Erstellt mit dem -Knopf eine neue Tabelle "Kunden".
  2. Erstellt mit dem -Knopf eine neue Spalte "ID" mit dem Datentypen INTEGER und den Constraints PRIMARY KEY und NOT NULL:
  3. Erstellt ebenso "Name" und "Adresse" jeweils als TEXT mit dem Constraint NOT NULL:
  4. Speichert die neue Tabelle mit dem -Knopf. Euch wird der SQL-Code zum erstellen angezeigt. Versucht den Code zu verstehen:
CREATE TABLE Kunden (
    ID      INTEGER PRIMARY KEY NOT NULL,
    Name    TEXT    NOT NULL,
    Adresse TEXT    NOT NULL
);
Aufgabe 4: Restliche "normale" Tabellen erzeugen
Erstellt die Tabelle Produkte
  • ID INTEGER NOT NULL PRIMARY KEY
  • Name TEXT NOT NULL
  • Preis DECIMAL(10,2) NOT NULL
CREATE TABLE Produkte (
    ID    INTEGER         PRIMARY KEY NOT NULL,
    Name  TEXT            NOT NULL,
    Preis DECIMAL (10, 2) NOT NULL
);
Erstellt die Tabelle Bestellungen
  • ID INTEGER NOT NULL PRIMARY KEY
  • KundenID INTEGER NOT NULL FOREIGN KEY Kunden(ID)
  • Datum DATETIME NOT NULL
  • Rabatt INTEGER NOT NULL
CREATE TABLE Bestellungen (
    ID       INTEGER  PRIMARY KEY NOT NULL,
    KundenID INTEGER  REFERENCES Kunden (ID) NOT NULL,
    Datum    DATETIME NOT NULL,
    Rabatt   INTEGER  NOT NULL
);
Aufgabe 5: Kreuztabelle zwischen Bestellung und Produkt erstellen
  1. Erstellt die Kreuztabelle BestellPosten
    • BestellungID INTEGER NOT NULL FOREIGN KEY Bestellungen(ID) (ohne PRIMARY KEY!)
    • ProduktID INTEGER NOT NULL FOREIGN KEY Produkte(ID) (ohne PRIMARY KEY!)
    • Anzahl INTEGER NOT NULL
  2. Erstellt mit dem -Knopf einen zusammengesetzten Primärschlüssel aus BestellungID und ProduktID:
CREATE TABLE BestellPosten (
    BestellungID INTEGER REFERENCES Bestellungen (ID) NOT NULL,
    ProduktID    INTEGER REFERENCES Produkte (ID) NOT NULL,
    Anzahl       INTEGER NOT NULL,
    PRIMARY KEY (BestellungID, ProduktID)
);
Aufgabe 6: Daten einfügen
  1. Fügt die folgenden Daten in die Tabelle Kunden ein:
  2. Fügt die folgenden Daten in die Tabelle Produkte ein:
  3. Fügt die folgenden Daten in die Tabelle Bestellungen ein:
  4. Fügt die folgenden Daten in die Tabelle BestellPosten ein:
Aufgabe 7: Abfragen erstellen
  1. Erstellt mit dem -Knopf eine neue Abfrage:
  2. Gebt eine Kostenübersicht pro Bestellung aus: Der Name und die Adresse des Kunden sowie die Anzahl der Produkte und Summe der Rechnung sollen dargestellt werden:
  3. Passe die Datenbank an.
    • Gerlinde Gutfrau ist umgezogen. Sie wohnt jetzt in der Bahnhofsstraße 1, 32145 Gleisdorf.
    • Max Mustermann bestellt noch einen Kaffee.
    • Hans Wurst hatte keinen O-Saft bestellt. Die Kellnerin nimmt diesen Posten von der Rechnung runter.
    • Fügt eigene Daten ein (eigene Kunden, Produkte und Bestellungen).
  4. Erstellt weitere, sinnvolle Abfragen (zunächst als Text, dann mit SQL).
  5. Exportiert eure Datenbanken als CSV-Dateien und importiert sie dann wieder.
info/sek-ii/q2/sql/old-lektion5gk.txt · Zuletzt geändert: 2024-01-28 19:34 von christian.weber