CodeRoom User-DB – Persistente Daten für Lernprojekte

CodeRoom DataServices

User-DB – persönliche persistente Daten für Lernprojekte

Mit der CodeRoom User-DB steht Lernenden eine eigene, benutzerbezogene NoSQL-Datenbasis zur Verfügung. Anwendungen können strukturierte JSON-Daten dauerhaft speichern, laden, filtern, aktualisieren und löschen – ohne dass Schulen eine eigene Datenbankumgebung bereitstellen müssen.

JSON-basiert Benutzerbezogen Sprachunabhängig Persistente Daten
Vorschaubild: CodeRoom User-DB

Persistenz als unmittelbar nutzbarer Unterrichtsbaustein

Viele Programmierprojekte enden dort, wo Daten dauerhaft gespeichert werden sollen. Die CodeRoom User-DB erweitert solche Projekte um eine persönliche Datenhaltung, die direkt über eine HTTP-API angesprochen wird. Damit können Sie Themen wie Persistenz, strukturierte Daten und CRUD-Operationen in bestehende Python-, JavaScript-, Java- oder andere Unterrichtsprojekte integrieren, ohne vorab einen Datenbankserver für jede Lerngruppe einzurichten.

Was die User-DB im Unterricht ermöglicht

Die Datenbank ist bewusst offen für unterschiedliche Unterrichtsszenarien und speichert frei strukturierbare JSON-Objekte in benannten Collections.

  • Daten dauerhaft speichern: Programme können einzelne JSON-Objekte oder ganze Listen in einer Collection ablegen.
  • Eigene Datenmodelle entwickeln: Fachliche Felder werden nicht durch ein festes Datenbankschema vorgegeben und können passend zum Projekt gestaltet werden.
  • Daten wiederverwenden: Gespeicherte Datensätze stehen später erneut für Auswertungen, Dashboards oder weiterführende Projektteile zur Verfügung.
  • Filtern und suchen: Collections können nach Texten und numerischen Werten abgefragt und paginiert werden.
  • Daten pflegen: Einzelne Datensätze lassen sich laden, vollständig aktualisieren oder gezielt löschen.
  • Referenzen modellieren: Fachliche IDs können genutzt werden, um Beziehungen zwischen mehreren Collections aufzubauen.
  • Programmiersprachen verbinden: Da der Zugriff über JSON und HTTP erfolgt, ist die Datenhaltung nicht an eine bestimmte Programmiersprache gebunden.

Ein einfaches Datenmodell für viele Unterrichtsthemen

Jeder Datensatz gehört zu einem Benutzer und einer benannten Collection. Innerhalb des gespeicherten JSON-Objekts kann das fachliche Datenmodell frei gewählt werden. Zusätzlich ergänzt die User-DB eine technische Objekt-ID _id, die insbesondere für das gezielte Aktualisieren und Löschen einzelner Datensätze verwendet wird.

BegriffBedeutung im Unterricht
CollectionZusammengehöriger Datenbereich, zum Beispiel measurements, products oder notes.
JSON-ObjektEin einzelner fachlicher Datensatz mit frei definierbaren Feldern.
Fachliche IDEine selbst definierte Kennung wie productId oder stationId, die Teil des Datenmodells ist.
_idTechnische ID der User-DB für einen konkret gespeicherten Datensatz.
QueryGezielte Abfrage einer Collection mit Filtern und Paging.

Vom ersten Speichern bis zur persistenten Anwendung

Die User-DB eignet sich besonders für einen schrittweisen Kompetenzaufbau. Ein Projekt kann klein beginnen und später zu einer vollständigen datenbasierten Anwendung erweitert werden.

1. Daten speichern

Ein Programm erzeugt ein JSON-Objekt und speichert es dauerhaft in einer eigenen Collection.

2. Daten laden

Gespeicherte Datensätze werden erneut geladen und unabhängig von der ursprünglichen Datenquelle weiterverarbeitet.

3. Filtern und auswerten

Bestände werden gezielt abgefragt, nach fachlichen Kriterien eingeschränkt und für Kennzahlen oder Visualisierungen genutzt.

4. Daten aktualisieren

Bestehende Datensätze werden über ihre technische ID ausgewählt und vollständig ersetzt.

5. Daten verknüpfen

Mehrere Collections werden über fachliche Referenzen verbunden, ohne Informationen unnötig zu duplizieren.

6. Anwendung aufbauen

Aus den persistenten Daten entstehen beispielsweise Archive, Bestellsysteme, Dashboards oder Analysewerkzeuge.

Typische Einsatzmöglichkeiten

Die User-DB ist nicht auf ein bestimmtes Unterrichtsthema beschränkt. Sie kann überall dort eingesetzt werden, wo Daten über mehrere Programmläufe hinweg erhalten und weiterverarbeitet werden sollen.

  • Messdaten und Umweltarchive: Wetter-, Sensor- oder Umweltdaten sammeln, ergänzen, filtern und auswerten.
  • Bestell- und Verwaltungssysteme: Produkte, Kundendaten, Bestellungen oder Statusinformationen dauerhaft verwalten.
  • Logistik und Supply Chain: Stammdaten und Bewegungsdaten in getrennten Collections speichern und über Referenzen verbinden.
  • Persönliche Anwendungen: Notizen, Aufgaben, Lernstände oder selbst definierte Datensätze persistent ablegen.
  • Dashboards und Analysen: Eigene Datenbestände als Grundlage für Kennzahlen, Diagramme und Berichte verwenden.

Direkt im Unterricht einsetzen

Von der User-DB zum vollständigen Datenprojekt

Zwei fertige CodeRoom-Vorlagen zeigen, wie aus API-Daten, eigenen Collections und persistenter Speicherung schrittweise echte Anwendungen entstehen. Die Lernenden arbeiten dabei nicht mit vorbereiteten Datenbankübungen, sondern bauen einen eigenen Datenbestand auf, pflegen ihn und nutzen ihn für Auswertungen und Entscheidungen.

ClimateLab – Persistenz mit der CodeRoom User-DB

Klasse 9–10 · Python

ClimateLab – Umweltarchiv für CodeCity

Wetter- und Umweltdaten werden per API geladen und in einer eigenen User-DB dauerhaft archiviert. Die Lernenden speichern, filtern, aktualisieren und bewerten Messwerte und entwickeln daraus Schritt für Schritt ein eigenes Climate Dashboard.

CodeCity Supply – Persistente Daten mit der User-DB

Klasse 10-12 · Python · Datenmodellierung

CodeCity Supply – Supply Chain mit eigener Datenbasis

Produkte, Verkäufe, Lagerbestände und Lieferungen werden in mehreren Collections dauerhaft gespeichert und über Referenzen miteinander verbunden. Am Ende entsteht ein Supply-Chain-Cockpit mit Kennzahlen, Engpasswarnungen und persistentem Managementbericht.

Die wichtigsten Operationen

Die User-DB stellt eine kompakte REST-Schnittstelle bereit. Dadurch bleibt die technische Nutzung überschaubar und kann schrittweise in Lernprojekten eingeführt werden.

OperationZweck
POST /udb/{collection}Ein Objekt oder mehrere Objekte speichern.
GET /udb/{collection}Alle gespeicherten Objekte einer Collection laden.
POST /udb/{collection}/queryDatensätze mit Filtern und Paging gezielt abfragen.
GET /udb/{collection}/{id}Einen einzelnen Datensatz über seine technische ID laden.
PUT /udb/{collection}/{id}Einen vorhandenen Datensatz vollständig ersetzen.
DELETE /udb/{collection}/{id}Einen einzelnen Datensatz löschen.
GET /udb/{collection}/dropEine Collection vollständig zurücksetzen.

Filtern ohne zusätzliche Datenbankabfragesprache

Abfragen werden als JSON formuliert. Unterstützt werden Gleichheit, Ungleichheit, numerische Vergleiche sowie eine Textsuche. Mehrere Filter werden gemeinsam angewendet. Dadurch können erste Datenbankabfragen eingeführt werden, ohne dass zuvor eine eigene Abfragesprache erforderlich ist.

OperatorBedeutung
==Wert ist gleich dem angegebenen Vergleichswert.
!=Wert ist ungleich dem Vergleichswert.
>, >=Numerischer Vergleich auf größere Werte.
<, <=Numerischer Vergleich auf kleinere Werte.
%Text enthält den angegebenen Suchbegriff ohne Beachtung der Groß- und Kleinschreibung.

Vorteile für den schulischen Einsatz

Die User-DB reduziert die technische Einstiegshürde für datenbasierte Programmierprojekte. Die Datenhaltung ist bereits in die CodeRoom-Umgebung eingebunden, während die fachliche Modellierung weiterhin vollständig im Unterricht behandelt werden kann.

  • Keine lokale Datenbankinstallation pro Lernendem: Die persönliche Datenbasis wird über den DataService bereitgestellt.
  • Geräteunabhängiger Zugriff: Anwendungen greifen über HTTP und JSON auf die Daten zu.
  • Klare Benutzertrennung: Abfragen und gespeicherte Objekte sind dem jeweils angemeldeten Benutzer zugeordnet.
  • Offene Datenmodelle: Collections und JSON-Strukturen können passend zum jeweiligen Unterrichtsprojekt gestaltet werden.
  • Schrittweise Einführung: Vom einfachen Speichern bis zu referenzierten Datenmodellen und komplexeren Auswertungen kann auf derselben Grundlage aufgebaut werden.

Hinweise für die Unterrichtsplanung

Speicheroperationen können im Hintergrund verarbeitet werden. Ein unmittelbar nach dem Speichern ausgeführter Lesezugriff muss daher nicht bereits den vollständigen neuen Datenbestand enthalten. Beim Aktualisieren ersetzt ein PUT den vollständigen Datensatz; fachliche Felder, die erhalten bleiben sollen, müssen deshalb erneut mitgesendet werden. Das vollständige Löschen einer Collection ist dauerhaft und sollte in Lernprojekten bewusst als eigener Reset-Schritt behandelt werden.

Mit der User-DB können Sie Persistenz und Datenmodellierung direkt in Programmierprojekte integrieren, ohne eine separate Datenbankumgebung vorzubereiten.

Die Schnittstelle eignet sich sowohl für erste Übungen mit gespeicherten JSON-Daten als auch für umfangreichere Projekte mit mehreren Collections, Filtern und Referenzen.

Über einen CodeRoom-Zugang können Sie die User-DB direkt in eigenen Unterrichtsprojekten erproben und mit bestehenden Kursvorlagen kombinieren.