- 1 Section
- 8 Lessons
- unbegrenzt
Aufgaben
Aufgabe 1
Begriffsverständnis:
Erkläre in eigenen Worten, was NoSQL bedeutet und wie sich NoSQL-Datenbanken grundsätzlich von relationalen Datenbanken unterscheiden.
Aufgabe 2
Vergleich:
Erstelle eine Tabelle mit mindestens vier Unterschieden zwischen relationalen und dokumentbasierten Datenbanken.
Aufgabe 3
Struktur erkennen:
Das folgende JSON-Dokument beschreibt einen Datensatz in einer NoSQL-Datenbank:
{
"kunde": {
"kundennr": 1001,
"name": "Anna Beispiel",
"ort": "Berlin"
},
"bestellungen": [
{ "produkt": "T-Shirt", "preis": 19.99 },
{ "produkt": "Hoodie", "preis": 39.99 }
]
}
a) Welche Informationen würdest du in einer relationalen Datenbank auf zwei Tabellen aufteilen?
b) Welche Vorteile hat die Darstellung als JSON-Dokument?
Aufgabe 4
Praxisübertragung:
Formuliere eine einfache MongoDB-Abfrage, die alle Kunden aus „Berlin“ zurückgibt.
Wie würde dieselbe Abfrage in SQL aussehen?
Aufgabe 5
Analyse:
Wann kann Schemafreiheit in NoSQL-Systemen zu Problemen führen?
Nenne ein konkretes Beispiel und schlage eine mögliche Lösung vor.
Aufgabe 6
Vertiefung:
Ordne die folgenden Datenbanktypen jeweils einem passenden Anwendungsfall zu:
| Typ | Anwendungsfall |
|---|---|
| Key-Value-Store | a) Soziales Netzwerk |
| Dokumentbasiert | b) Produktkatalog mit variablen Attributen |
| Graphdatenbank | c) Caching von Login-Sitzungen |
Aufgabe 7
Graphenlogik:
In einer Graphdatenbank existieren die Knoten Benutzer A, Benutzer B und Benutzer C.
Formuliere mit einfacher Sprache (keine Syntax nötig), wie du folgende Beziehungen darstellen würdest:
A folgt B
B folgt C
C folgt A
Was wäre der Vorteil einer Graphdatenbank bei solchen Beziehungen?
Aufgabe 8
Reflexion:
In welchen Situationen würdest du dich weiterhin für ein relationales System entscheiden,
obwohl NoSQL mehr Flexibilität bietet?
Begründe deine Antwort.
Aufgabe 9
Bonus (optional):
Schreibe das relationale Beispiel aus der Visualisierung
(„Anna Beispiel“ mit Bestellungen) als vollständiges NoSQL-Dokument in JSON-Syntax.
Achte darauf, dass die Bestellungen korrekt eingebettet sind.
