Inhalt
Aufgabe 1 - Datenbanken Select - Einstieg
Aufgabe 1: Ernährungstabelle
Bezeichnung | Menge | Art | kcal |
---|---|---|---|
Leberkässemmel | Stück | Essen | 500 |
Spaghetti Bolognese | Teller | Essen | 595 |
Weißbier | Halbe | Trinken | 225 |
Avocado | Stück | Essen | 543 |
Laugenbrezel | Stück | Essen | 192 |
Cola | kleine Flasche | Trinken | 220 |
Tabelle erstellen und mit Werten befüllen
Erzeuge die Tabelle und die angegebenen Einträge mittels SQL-Befehl:
- Erstelle einen SQL-Befehl zum Erstellen der Tabelle (
CREATE TABLE
…).
Lege ein zusätzliches FeldId
an und verwende es als Primärschlüssel (AUTO_INCREMENT
).- Erstelle einen SQL-Befehl zum Einfügen der oben angegebenen Inhalte (
INSERT INTO ...
)
Übungsabfragen Einstieg
Erstelle folgende Abfragen:
- Wähle alle Einträge aus der Tabelle, deren Kalorienwert höher als 250 ist.
- Finde alle Getränke in der Tabelle und zeige ihre Namen und Kalorienwerte an.
- Aktualisiere den Kalorienwert des Lebensmittels
Leberkässemmel
auf 550 kcal.- Füge einen neuen Eintrag mit dem Namen
Salat
, der ArtEssen
, einer MengeSchüssel
und einem Kalorienwert von350
kcal hinzu.- Lösche den Eintrag mit der niedrigsten Kalorienanzahl aus der Tabelle.
- Zeige den Durchschnitt der Kalorien aller Lebensmittel an.
- Wähle den Namen und die Menge der Einträge aus, die mehr als 500 Kalorien haben.
- Zähle, wie viele Einträge in der Tabelle der Kategorie
Essen
zugeordnet sind.- Wähle den Eintrag mit der höchsten Kalorienanzahl aus und zeige seinen Namen und Kalorienwert an.
- Ändere die Bezeichnung von
Weißbier
zuHefeweizen
und aktualisiere den Kalorienwert auf 240 kcal.
Aufgabe 2: TODO-Liste
Erstellen der Struktur und Anlegen der Inhalte
Gegeben ist eine Tabelle todo
für eine Aufgabenliste:
Id | Beschr | Prio | Erl |
---|---|---|---|
31 | Mathe Hausübung | 4 | 0 |
32 | FSST lernen | 5 | 0 |
Prio
– Priorität
1 … niedrigste, 5 … höchste
Erl
– Erledigt
0 … nein, 1 … ja
-- Tabelle erzeugen
CREATE TABLE kns_02_todo (
id NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id),
beschr VARCHAR(255) NOT NULL,
prio INT NOT NULL CHECK (prio BETWEEN 1 AND 5),
erl INT NOT NULL CHECK (erl IN (0,1))
);
-- Beispieldatensätze
INSERT INTO kns_02_todo
(beschr, prio, erl)
VALUES
('Mathe Hausübung', 4, 0),
('FSST lernen', 5, 0),
('Einkaufen gehen', 3, 0),
('Zimmer aufräumen', 2, 0),
('Englisch Vokabeln lernen', 4, 0),
('Deutsch Hausübung', 5, 1),
('Freund anrufen', 2, 1),
('Müll rausbringen', 3, 1),
('Sport machen', 3, 0),
('Hausaufgaben Physik', 4, 0),
('Biologie Referat vorbereiten', 5, 0),
('Geschichte lesen', 2, 0),
('IT Projekt bearbeiten', 5, 0),
('Buch aus Bibliothek zurückbringen', 2, 1),
('Staubsaugen', 1, 1),
('Mathe Wiederholung', 4, 0),
('FSST Übungsbeispiele', 5, 0),
('Chemie Hausübung', 4, 0),
('Gitarrenübung', 2, 0),
('Freizeit planen', 1, 0),
('Fenster putzen', 1, 0),
('Gartenarbeit erledigen', 2, 0),
('Wäsche waschen', 3, 1),
('Auto waschen', 2, 0),
('Projektarbeit schreiben', 5, 0),
('Präsentation vorbereiten', 4, 0),
('Schularbeit üben', 5, 0),
('Email beantworten', 2, 1),
('Arzttermin vereinbaren', 3, 0),
('Geburtstagsgeschenk kaufen', 4, 0);
Übungsabfragen
Übung 1: Einfachste Abfragen
Erstelle folgende Abfragen:
- Alle offenen Aufgaben auflisten
- Aufgabe auf erledigt setzen
- Aufgabe löschen
Übung 2: Basics
Erstelle folgende Abfragen:
- Offene Aufgaben, sortiert nach Priorität (höchste zuerst)
- Gib alle Aufgaben aus bis auf jene mit Priorität 1 oder 5
- Prioritäten in der Form
-2
,-1
,0
,1
,2
(statt 1 … 5) ausgeben- Prioritäten als Text ausgeben
1
… niedrigst2
… niedrig3
… mittel4
… hoch5
… höchst
Übung 3: Nested Select
Erstelle folgende Abfragen:
- Alle Aufgaben die die gleiche Priorität haben wie die Aufgabe
Staubsaugen
.- Bilde die Tabelle mit den Prioritäten in der Form
-2,-1,0,1,2
und gib nur die positiven aus.
Übung 4: Aggregate functions
Erstelle folgende Abfragen:
- Anzahl der noch offenen Aufgaben (
COUNT
)- Anzahl der offenen Aufgaben nach Priorität (
GROUP BY
)- Ausgaben der maximalen, minimalen und durchschnittlichen Priorität (
MIN
,MAX
,AVG
)
Übung 5: Pattern matching
Gib alle Aufgaben aus die noch nicht erledigt sind und den Text
Hausübung
enthalten.
Übung 6: Fälligkeitsdatum
Füge mit Hilfe von
ALTER TABLE
eine zusätzliche Spalte für ein Fälligkeitsdatum hinzu, ohne die bestehende Tabelle zu löschen. Befülle die Spalte mit Werten, die zum Teil in der Zukunft liegen und zum Teil in der Vergangenheit. Führe folgende Abfragen durch:
- Alle Aufgaben in der Zukunft anzeigen (
CURDATE
)- Alle Aufgaben eines Monats anzeigen
- offene Aufgabe in der Zukunft mit Anzahl der Tagen bis zur Fälligkeit
- Offene Aufgaben die weniger als 14 Tage in der Zukunft liegen, sortiert nach verbleibenden Tagen
Datenbanken
- Aufgabe 1 - Datenbanken Select - Einstieg
- Aufgabe 2 - Datenbanken Select - Mitarbeiter
- Aufgabe 1 - Datenbanken Join - Einstieg
- Aufgabe 2 - Datenbanken Join - Notendatenbank
- Aufgabe 3 - Datenbanken Join - Online-Shop