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.

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.
| Begriff | Bedeutung im Unterricht |
|---|---|
| Collection | Zusammengehöriger Datenbereich, zum Beispiel measurements, products oder notes. |
| JSON-Objekt | Ein einzelner fachlicher Datensatz mit frei definierbaren Feldern. |
| Fachliche ID | Eine selbst definierte Kennung wie productId oder stationId, die Teil des Datenmodells ist. |
_id | Technische ID der User-DB für einen konkret gespeicherten Datensatz. |
| Query | Gezielte 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.

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.

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.
| Operation | Zweck |
|---|---|
POST /udb/{collection} | Ein Objekt oder mehrere Objekte speichern. |
GET /udb/{collection} | Alle gespeicherten Objekte einer Collection laden. |
POST /udb/{collection}/query | Datensä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}/drop | Eine 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.
| Operator | Bedeutung |
|---|---|
== | 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.
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.