Datenbanken und betriebliche Datenmodelle – Personenbezogene Daten sparsam modellieren
Datenbanken und betriebliche Datenmodelle – Personenbezogene Daten sparsam modellieren
QR-Code
Einleitung
Datenbanken und betriebliche Datenmodelle – Personenbezogene Daten sparsam modellieren
Zielgruppe: IT-Ausbildung, kaufmännische Ausbildung und Berufsschule
Dauer: ca. 70–90 Minuten, einschließlich Praxis und Lernkontrolle
Leitfrage: Welche personenbezogenen Daten braucht ein Betrieb wirklich – und wie werden Zweck, Aufbewahrung und Zugriffsrechte bereits im Datenmodell berücksichtigt?

Bild: PICOL, Wikimedia Commons, CC BY 3.0.
Du entwickelst für einen fiktiven Ausbildungsbetrieb eine datensparsame Kursdatenbank. Dabei lernst Du, welche Informationen erforderlich sind, wie lange sie benötigt werden und wer darauf zugreifen darf.
Deine drei Lernziele:
- Zweckbindung: Du kannst notwendige und unnötige Datenfelder begründet unterscheiden.
- Speicherbegrenzung: Du kannst ein einfaches Aufbewahrungs- und Löschkonzept erstellen.
- Zugriffskontrolle: Du kannst Rollen und Berechtigungen in einer Datenbankanwendung modellieren und testen.
Sicherheitsregel: Alle praktischen Übungen verwenden ausschließlich erfundene Daten und eine lokale SQLite-Datenbank im Arbeitsspeicher. Keine Produktivsysteme, fremden Netzwerke, echten Zugangsdaten oder Kundendaten verwenden. Testdaten nicht an externe Dienste übertragen.
Medienhinweis: Eingebettete YouTube-Videos, LearningApps und Wikipedia-Seiten sind externe Lernmedien und gehören nicht zum lokalen Labor. Sie können beim Laden Verbindungen zu Dritten herstellen. Verwende sie nur in dafür freigegebenen Lernumgebungen. Die lokale Programmierübung funktioniert vollständig ohne diese Angebote.
Ausbildungsfall: DemoCampus
Ausgangssituation:
Der vollständig erfundene Ausbildungsbetrieb DemoCampus organisiert zwei IT-Schulungen.
| Kurs | Schulungstermin | Zweck der Datenverarbeitung |
|---|---|---|
| SQL-Grundlagen | 10.09.2026 | Anmeldung und Organisation |
| Datenschutz-Workshop | 20.10.2026 | Anmeldung und Durchführung |
Die bisher geplante Anmeldedatenbank enthält Name, E-Mail, Privatanschrift, Geburtsdatum, Telefonnummer, Gesundheitsinformationen und Kurswünsche.
Dein Auftrag: Entwickle ein schlankeres Datenmodell. Die Organisation benötigt Kontaktmöglichkeiten, die Kursleitung eine Teilnahmeliste und die Planung eine Kursübersicht.
Ergebnis am Kursende: Ein Datenmodell mit begründeten Attributen, einer Löschregel, einer Berechtigungsmatrix und überprüften lokalen Tests.
Lerneinheit 1: Den Zweck zuerst bestimmen
Dauer: 6 Minuten
Eine Datenbank darf nicht nach dem Prinzip „Wir speichern vorsichtshalber alles“ entworfen werden.
Nach Artikel 5 der Datenschutz-Grundverordnung gelten insbesondere:
- Zweckbindung: Bestimme vor der Erhebung den konkreten Verarbeitungszweck.
- Datenminimierung: Erhebe nur dafür notwendige Daten.
- Speicherbegrenzung: Bewahre identifizierende Daten nicht länger als erforderlich auf.
- Integrität und Vertraulichkeit: Schütze sie angemessen.
Zusätzlich braucht jede Verarbeitung eine einschlägige Rechtsgrundlage nach Artikel 6 DSGVO. Eine Einwilligung ist nicht automatisch die richtige oder einzig mögliche Rechtsgrundlage.
Videofrage: Warum ist es besser, den Zweck vor dem Anlegen der Datenfelder festzulegen?
Ausbildungsentscheidung:
| Gewünschte Information | Entscheidung im Fall | Begründung |
|---|---|---|
| Anzeigename | Erforderlich, sofern Teilnahmelisten benötigt werden | Zuordnung beim Kurs |
| Kontakt-E-Mail | Erforderlich, sofern die Kommunikation per E-Mail erfolgt | Kursinformationen versenden |
| Geburtsdatum | Nicht aufnehmen | Für die Schulung nicht benötigt |
| Privatanschrift | Nicht aufnehmen | Keine postalische Leistung vorgesehen |
| Gesundheitsinformationen | Nicht aufnehmen | Im beschriebenen Fall nicht erforderlich |
| Kurszuordnung | Aufnehmen | Organisatorisch notwendig |
Merke: Auch Name und E-Mail sind nicht grundsätzlich erforderlich. Wenn eine anonyme Kurskennung oder ein anderer Kommunikationsweg ausreicht, muss die Notwendigkeit neu bewertet werden.
Lerneinheit 2: Ein sparsames Datenmodell entwickeln
Dauer: 8 Minuten

Grafik zu Tabellen, Attributen und Datensätzen: Fragment, Wikimedia Commons, gemeinfrei.
Eine relationale Datenbank organisiert Informationen in Tabellen. Das Entity-Relationship-Modell zeigt Entitäten und ihre Beziehungen.

ER-Modell einer Schule als Vergleichsbeispiel: Fleshgrinder, Wikimedia Commons, gemeinfrei.
Unser vereinfachtes Datenmodell:
| Tabelle | Attribute | Funktion |
|---|---|---|
| kurs | id, titel, datum | Schulungsangebote speichern |
| anmeldung | id, kurs_id, anzeigename, kontakt_email, loeschen_ab | Anmeldungen verwalten |
Beziehungsmodell:
KURS ANMELDUNG
+----------------+ +----------------------+
| id (PK) | 1 n | id (PK) |
| titel |------------| kurs_id (FK) |
| datum | | anzeigename |
+----------------+ | kontakt_email |
| loeschen_ab |
+----------------------+
PK bedeutet Primärschlüssel, FK bedeutet Fremdschlüssel. Ein Kurs kann mehrere Anmeldungen besitzen. Jede Anmeldung gehört in diesem Modell genau einem Kurs.
Prüffrage: Warum wird der Kurstitel nicht in jeder Anmeldung erneut gespeichert?
Feedback: Die Trennung reduziert unnötige Wiederholungen und erleichtert konsistente Änderungen. Normalisierung und Datenminimierung verfolgen unterschiedliche Ziele, können sich aber ergänzen.
Lerneinheit 3: Aufbewahrung und Löschung
Dauer: 7 Minuten

Allgemeiner Forschungsdaten-Lebenszyklus als Vergleich: Thomas Shafee, Wikimedia Commons, CC BY 4.0. Die Grafik legt keine gesetzlichen Aufbewahrungsfristen fest.
Für DemoCampus wird ein einfacher Ablauf entworfen:
| Phase | Verarbeitung | Datenschutzentscheidung |
|---|---|---|
| Anmeldung | Benötigte Daten erheben | Pflichtfelder begrenzen |
| Durchführung | Teilnahmeliste anzeigen | Zugriff nach Rolle |
| Nachbereitung | Erforderliche Rückfragen bearbeiten | Zweckgebundene Aufbewahrung |
| Zweckende | Daten bereinigen | Löschregel ausführen |
| Kontrolle | Bereinigung überprüfen | Auch Kopien und Sicherungen berücksichtigen |
Beispielhafte Testdaten:
| Person | Kurs | Test-Löschdatum | Stand am 09.10.2026 |
|---|---|---|---|
| Ada Demo | SQL-Grundlagen | 01.10.2026 | Löschkandidat |
| Ben Test | Datenschutz-Workshop | 30.11.2026 | Noch erforderlich |
| Cora Muster | Datenschutz-Workshop | 30.11.2026 | Noch erforderlich |

Löschsymbol: Wmpeter649, Wikimedia Commons, CC BY-SA 4.0.
Wichtig: Diese Daten sind ausschließlich didaktisch gewählte Testtermine. Die DSGVO schreibt keine allgemeingültige Aufbewahrungsfrist von 30 Tagen oder eine andere einheitliche Frist für sämtliche Kursanmeldungen vor.
Die tatsächliche Frist muss anhand des Zwecks, möglicher gesetzlicher Aufbewahrungspflichten und weiterer einschlägiger Umstände festgelegt und dokumentiert werden. Rechnungsunterlagen können anderen Anforderungen unterliegen als reine Kurskontakte.
Beachte: Das Löschen einer Datenbankzeile beweist noch keine vollständige physische Löschung aus Sicherungen, Exporten oder Datenträgern.
Lerneinheit 4: Rollen und Berechtigungen
Dauer: 8 Minuten

Schema einer rollenbasierten Zugriffskontrolle: Babbage, Wikimedia Commons, CC0 1.0.
Das Konzept Role Based Access Control (RBAC) verbindet Aufgaben und Berechtigungen. Dabei gilt das Least-Privilege-Prinzip: Eine Rolle bekommt nur die Zugriffe, die sie zur Aufgabenerfüllung benötigt.
Berechtigungsmatrix für DemoCampus:
| Rolle | Anzeigename | Kursübersicht | Datenbereinigung | |
|---|---|---|---|---|
| Organisation | Ja, für betreute Anmeldungen | Ja, soweit erforderlich | Ja | Nein |
| Kursleitung | Nur zugeteilter Kurs | Nein | Nur zugeteilter Kurs | Nein |
| Planung | Nein | Nein | Nur notwendige Kennzahlen | Nein |
| Berechtigter Löschprozess | Nur technisch erforderliche Verarbeitung | Nur technisch erforderliche Verarbeitung | Soweit benötigt | Ja |
| Gast | Nein | Nein | Nein | Nein |

Schlosssymbol: AJ Ashton, Wikimedia Commons, CC0 1.0.
Merke: Ein sichtbares Schloss oder eine ausgeblendete Spalte ist noch kein ausreichender Zugriffsschutz. In echten Anwendungen müssen Identität, Rollen, Datenbankzugriffe und Administrationsrechte wirksam geprüft werden.
Auch zusammengefasste Zahlen können bei sehr kleinen Gruppen Rückschlüsse auf Einzelpersonen erlauben.
Lerneinheit 5: Lokales SQLite-Datenschutzlabor
Dauer: 15 Minuten

Datenbanksymbol: Ignacio Javier, Wikimedia Commons, CC0 1.0.
Lernumgebung: Python 3 mit dem Standardmodul sqlite3 auf einem eigenen oder ausdrücklich freigegebenen Ausbildungsrechner.
Start:
- Speichere den folgenden Python-Code lokal als
datenschutz_labor.py. - Öffne ein lokales Terminal.
- Starte
python3 datenschutz_labor.pyoder unter Windows gegebenenfallspy datenschutz_labor.py. - Teste nacheinander die Befehle
organisation,training,planung,testundloeschen.
Sicherheitsmerkmale: Keine Netzwerkbibliothek, keine Zugangsdaten, nur erfundene Datensätze, reservierte .invalid-Beispieladressen, keine Datenbankdatei und ausschließlich eine im Arbeitsspeicher angelegte Datenbank.
import sqlite3
# Ausschliesslich fiktive Daten; keine Datei und kein Netzwerk.
db = sqlite3.connect(":memory:")
db.row_factory = sqlite3.Row
db.execute("PRAGMA foreign_keys = ON")
db.executescript("""
CREATE TABLE kurs (
id INTEGER PRIMARY KEY,
titel TEXT NOT NULL,
datum TEXT NOT NULL
);
CREATE TABLE anmeldung (
id INTEGER PRIMARY KEY,
kurs_id INTEGER NOT NULL REFERENCES kurs(id),
anzeigename TEXT NOT NULL,
kontakt_email TEXT NOT NULL,
loeschen_ab TEXT NOT NULL
);
""")
db.executemany(
"INSERT INTO kurs VALUES (?, ?, ?)",
[(1, "SQL-Grundlagen", "2026-09-10"),
(2, "Datenschutz-Workshop", "2026-10-20")]
)
db.executemany(
"INSERT INTO anmeldung VALUES (?, ?, ?, ?, ?)",
[(1, 1, "Ada Demo", "ada@example.invalid", "2026-10-01"),
(2, 2, "Ben Test", "ben@example.invalid", "2026-11-30"),
(3, 2, "Cora Muster", "cora@example.invalid", "2026-11-30")]
)
# Freigegebene Ansichten: rein didaktische Rollensimulation.
SICHTEN = {
"organisation": ("""
SELECT k.titel AS kurs, a.anzeigename,
a.kontakt_email, a.loeschen_ab
FROM anmeldung a
JOIN kurs k ON k.id = a.kurs_id
ORDER BY a.id
""", ()),
"training": ("""
SELECT a.anzeigename
FROM anmeldung a
WHERE a.kurs_id = ?
ORDER BY a.id
""", (2,)), # Kursleitung ist nur Kurs 2 zugeordnet.
"planung": ("""
SELECT k.titel AS kurs, COUNT(a.id) AS anzahl
FROM kurs k
LEFT JOIN anmeldung a ON a.kurs_id = k.id
GROUP BY k.id
ORDER BY k.id
""", ())
}
def sehen(rolle):
if rolle not in SICHTEN:
raise PermissionError("Keine freigegebene Ansicht")
sql, parameter = SICHTEN[rolle]
return [dict(zeile) for zeile in db.execute(sql, parameter)]
def test():
trainerdaten = sehen("training")
assert [z["anzeigename"] for z in trainerdaten] == [
"Ben Test", "Cora Muster"
]
assert all("kontakt_email" not in z for z in trainerdaten)
assert all("anzeigename" not in z for z in sehen("planung"))
try:
sehen("gast")
except PermissionError:
pass
else:
raise AssertionError("Gastzugriff nicht gesperrt")
print("4 Pruefungen erfolgreich.")
def bereinigen():
with db:
anzahl = db.execute(
"DELETE FROM anmeldung WHERE loeschen_ab <= ?",
("2026-10-09",) # Festes, simuliertes Testdatum.
).rowcount
print("Entfernte Testdatensaetze:", anzahl)
print("Lokales Datenschutz-Labor: keine Dateien, kein Netzwerk.")
print("Befehle: organisation | training | planung | loeschen | test | ende")
while True:
befehl = input("> ").strip().lower()
if befehl in SICHTEN:
for zeile in sehen(befehl):
print(zeile)
elif befehl == "test":
test()
elif befehl == "loeschen":
bereinigen()
elif befehl == "ende":
db.close()
break
else:
print("Unbekannter Befehl.")Interaktiver Testablauf:
| Eingabe | Erwartete Beobachtung | Begründetes Feedback |
|---|---|---|
organisation
|
Drei Anmeldungen mit Kontaktdaten vor der Löschung | Die Rolle benötigt Kontaktmöglichkeiten für die Organisation. |
training
|
Nur Ben Test und Cora Muster, ohne E-Mail | Die Kursleitung sieht ausschließlich ihren zugeteilten Kurs und die benötigten Namen. |
planung
|
Kursbezogene Anmeldezahlen | Für die Kapazitätsplanung sind personenbezogene Einzelinformationen nicht erforderlich. |
test
|
Vier Prüfungen erfolgreich | Nicht erlaubte Ansichten und unnötige Datenfelder werden getestet. |
loeschen
|
Ein Testdatensatz entfernt | Das simulierte Löschdatum von Ada Demo ist überschritten. |
organisation nach der Bereinigung
|
Zwei verbleibende Anmeldungen | Die abgelaufene Anmeldung wurde aus der laufenden In-Memory-Tabelle entfernt. |
Wichtige technische Grenze: Die Rollenwahl per Texteingabe ist nur eine Simulation. SQLite besitzt hier keine eingerichtete Benutzer- und Rollenverwaltung wie ein Datenbankserver mit entsprechendem Rechtekonzept. Wer unmittelbaren Zugriff auf die Datenbankverbindung hat, könnte die Anwendungskontrolle umgehen. In einem echten System müssen die Rollen über authentisierte Identitäten und wirksame Autorisierung durchgesetzt werden.
Zusatz: Die gezeigten Tests sind Unterrichtsprüfungen, kein vollständiger Sicherheitsnachweis. Der Löschvorgang betrifft nur die lokale In-Memory-Datenbank, keine Sicherungen oder externen Kopien.
Gestufte Hilfen zum Datenschutzlabor
Hilfe 1 – Anstoß: Führe zuerst organisation und anschließend training aus. Vergleiche die angezeigten Spalten.
Hilfe 2 – Struktur: Suche in SICHTEN nach SELECT, WHERE und COUNT. Jedes dieser Elemente begrenzt oder verändert die Ausgabe.
Hilfe 3 – Teillösung: Der Ausdruck WHERE a.kurs_id = ? mit dem Parameter (2,) beschränkt die Kursleitung auf Kurs 2. Das Feld kontakt_email fehlt bewusst in dieser Abfrage.
Feedback zur Fehlersuche: Wenn eine Ansicht unerwartete Felder zeigt, prüfe zuerst ihre SELECT-Spalten. Wenn eine fremde Rolle Zugriff erhält, prüfe die Freigabe in sehen. Parameterplatzhalter vermeiden hier die direkte Verkettung von Eingabewerten mit SQL-Abfragen.
Lerneinheit 6: Betrieblicher Transfer
Dauer: 6 Minuten
Drei Entscheidungen vor jeder Datenbankfreigabe:
| Prüfpunkt | Leitfrage | Erwarteter Nachweis |
|---|---|---|
| Zweck | Wozu benötigen wir das Merkmal? | Begründetes Datenfeldverzeichnis |
| Aufbewahrung | Wann endet der konkrete Bedarf? | Dokumentierte Löschregel |
| Berechtigung | Wer benötigt welche Ansicht? | Rollen- und Zugriffsmatrix mit Tests |
Neue Anforderung: Die Geschäftsführung möchte zusätzlich Rechnungen und Teilnahmezertifikate erzeugen.
Deine Überlegung: Ein Rechnungsvorgang kann andere Datenfelder, Rechtsgrundlagen und Aufbewahrungspflichten erfordern als eine reine Kursanmeldung. Plane solche Daten nicht automatisch in dieselbe unbefristete Teilnehmertabelle ein.
Merksatz: So wenig personenbezogene Daten wie erforderlich, so lange wie gerechtfertigt, für so wenige Berechtigte wie nötig.
Interaktive Aufgaben
Quiz: Teste Dein Wissen
Was bedeutet Zweckbindung bei einer Datenbank? (Daten nur für festgelegte legitime Zwecke verarbeiten) (!Alle verfügbaren Informationen dauerhaft sammeln) (!Daten für beliebige spätere Projekte freigeben) (!Jede Datenbank ohne Rechtsgrundlage betreiben)
Welches Datenfeld ist im beschriebenen DemoCampus-Fall für die Kurskommunikation plausibel erforderlich? (Kontakt-E-Mail) (!Geburtsdatum) (!Private Wohnanschrift) (!Gesundheitsdiagnose)
Was ist Datenminimierung? (Die Datenverarbeitung auf notwendige Informationen begrenzen) (!Alle Informationen möglichst stark komprimieren) (!Immer mindestens zehn Datenfelder anlegen) (!Personenbezogene Informationen unbegrenzt speichern)
Was gehört zu einem Aufbewahrungskonzept? (Ein begründetes Kriterium für das Ende der Speicherung) (!Eine pauschale unbegrenzte Speicherung) (!Eine beliebige Löschung aller Unterlagen) (!Ein dauerhaft abgeschalteter Löschprozess)
Welche Aussage zu gesetzlichen Löschfristen ist zutreffend? (Fristen hängen vom Zweck und den geltenden Pflichten ab) (!Jede Kursanmeldung muss nach genau sieben Tagen gelöscht werden) (!Alle personenbezogenen Daten müssen zehn Jahre gespeichert werden) (!Die DSGVO erlaubt grundsätzlich eine unbegrenzte Speicherung)
Welche Informationen benötigt die Kursleitung im Ausbildungsfall? (Anzeigenamen der Personen im zugeteilten Kurs) (!Private E-Mail-Adressen aller Personen sämtlicher Kurse) (!Geburtsdaten aller angemeldeten Personen) (!Vollständige Rechnungsdaten aller Geschäftsvorgänge)
Was beschreibt rollenbasierte Zugriffskontrolle? (Berechtigungen werden an definierte Aufgabenrollen geknüpft) (!Alle Beschäftigten erhalten vollständige Administrationsrechte) (!Jede Person sieht grundsätzlich sämtliche Tabellen) (!Datenbankrollen ersetzen die Prüfung der Identität)
Was bewirkt sqlite3.connect mit dem Wert :memory: im Beispiel? (Eine SQLite-Datenbank im Arbeitsspeicher erzeugen) (!Eine öffentliche Cloud-Datenbank verbinden) (!Eine Kundendatenbank aus dem Internet herunterladen) (!Eine dauerhafte Datenbankdatei im Benutzerordner anlegen)
Welche Abfrageform ist für veränderliche SQL-Werte vorzuziehen? (Parametergebundene Abfrage mit Platzhaltern) (!Ungeprüfte Zeichenkettenverkettung) (!Ausführung beliebiger fremder SQL-Befehle) (!Direkte Übernahme von Benutzertext in SQL-Syntax)
Warum kann auch eine statistische Auswertung datenschutzrelevant bleiben? (Kleine Gruppen können Rückschlüsse auf Einzelpersonen ermöglichen) (!Zahlen enthalten grundsätzlich niemals personenbezogene Informationen) (!Jede Zählung ist automatisch vollständig anonym) (!Aggregierte Ergebnisse benötigen immer öffentliche Namenslisten)
Memory
Ordne jedem Fachbegriff seine passende Beschreibung zu.
| Zweckbindung | Verarbeitung für definierte Ziele |
| Datenminimierung | Beschränkung auf notwendige Angaben |
| Speicherbegrenzung | Zeitliche Begrenzung der Identifizierbarkeit |
| Rollenmodell | Aufgabenbezogene Zugriffszuordnung |
| Fremdschlüssel | Verbindung zu einem anderen Datensatz |
| In-Memory-Datenbank | Speicherung im Arbeitsspeicher |
| Pseudonymisierung | Zuordnung nur mit zusätzlichen Informationen |
| Berechtigungsprüfung | Kontrolle des erlaubten Zugriffs |
Drag and Drop
Ordne die Datenfelder und Rollen den passenden Zwecken oder Entscheidungen zu.
| Ordne die richtigen Begriffe zu. | Thema |
|---|---|
| Kontakt-E-Mail | Kurskommunikation |
| Anzeigename | Teilnahmeliste |
| Geburtsdatum | Verzicht |
| Löschdatum | Aufbewahrungsende |
| Kurskennung | Zuordnung |
| Planungsrolle | Aggregation |
Kreuzworträtsel
| Zweckbindung | Wie heißt der Grundsatz der Verarbeitung für festgelegte legitime Ziele? |
| Attribut | Wie heißt ein einzelnes Merkmal einer Datenbanktabelle? |
| Fremdschlüssel | Welcher Schlüssel verweist auf den Schlüssel einer anderen Tabelle? |
| Löschung | Wie nennt man das Entfernen nicht länger benötigter Daten? |
| Rollenmodell | Welches Modell ordnet Berechtigungen Aufgabenrollen zu? |
| Datenminimierung | Wie heißt der Grundsatz der Begrenzung auf notwendige personenbezogene Angaben? |
LearningApps
Externe Übungsangebote nur bei entsprechender Freigabe verwenden. Ausschließlich fiktive Beispiele eingeben.
Lückentext
Begründetes Feedback zur Selbstkontrolle
| Typischer Denkfehler | Fachliches Feedback |
|---|---|
| Mehr Daten sind grundsätzlich besser. | Falsch, denn jedes zusätzliche personenbezogene Feld benötigt einen nachvollziehbaren Zweck und eine Rechtsgrundlage. |
| Ein festes Löschdatum macht jede Verarbeitung automatisch rechtmäßig. | Falsch, denn die Frist muss sachlich und rechtlich begründet sein. |
| Eine ausgeblendete E-Mail-Spalte ist ausreichend geschützt. | Falsch, denn direkter Datenbankzugriff könnte die Anwendungssicht umgehen. |
| Aggregierte Zahlen sind immer anonym. | Falsch, denn besonders kleine Gruppen können Rückschlüsse zulassen. |
| Die Python-Simulation ist bereits ein vollständiges Produktivsystem. | Falsch, denn unter anderem authentisierte Rollen, Datenschutzdokumentation, Betriebssicherheit und Sicherungsprozesse fehlen. |
Offene Aufgaben
Bearbeite die Aufgaben aufsteigend. Nutze ausschließlich erfundene Daten und lokale oder ausdrücklich freigegebene Werkzeuge.
Leicht – Basisaufgaben
- B1: Zweckkarte: Gestalte eine Karte mit dem Verarbeitungszweck der Kursanmeldung und drei dazu passenden Datenfeldern. Feedback: Ein Feld ist gut begründet, wenn Du den konkreten Arbeitsschritt nennen kannst, der es benötigt.
- B2: Feldampel: Kennzeichne in einer selbst erstellten Tabelle notwendige, bedingt notwendige und im Fall unnötige personenbezogene Attribute. Feedback: Die Einstufung muss vom festgelegten Zweck abhängen und darf nicht allein nach Bequemlichkeit erfolgen.
- B3: Modellskizze: Zeichne die Entitäten Kurs und Anmeldung mit Primär- und Fremdschlüsseln. Feedback: Ein korrektes Modell zeigt die Kurszuordnung ohne unnötige Wiederholung der Kursdaten.
- B4: Rollenvergleich: Vergleiche lokal die Befehle
organisationundtraining. Erstelle eine Ergebnistabelle. Feedback: Die Beschränkung ist sinnvoll, wenn die Kursleitung keine fachlich unnötigen Kontaktinformationen erhält.
Standard – Anwendungsaufgaben
- A1: Löschtest: Führe
planung, danachloeschenund erneutplanungaus. Dokumentiere die Veränderung. Feedback: Für den alten Kurs sinkt die Zahl, weil ein abgelaufener Testdatensatz entfernt wurde. - A2: Abfrageanpassung: Erweitere lokal die Ansicht der Kursleitung um den Titel des zugeteilten Kurses, ohne die E-Mail freizugeben. Feedback: Die Lösung ist zweckgerecht, wenn nur die erforderlichen Kurs- und Anzeigenamen sichtbar sind.
- A3: Aufbewahrungsplan: Erstelle ein Ablaufdiagramm mit Anmeldung, Kursdurchführung, Nachbereitung und begründetem Zweckende. Feedback: Ein überzeugender Plan unterscheidet betriebliche Bedarfslagen von tatsächlich verbindlichen gesetzlichen Fristen.
- A4: Negativtest: Überprüfe lokal, ob die nicht freigegebene Rolle
gasteine Ansicht erhält, und erläutere das Ergebnis. Feedback: Eine ausdrückliche Verweigerung ist besser als eine stillschweigende Freigabe unbekannter Rollen.
Schwer – Transferaufgaben
- T1: Teilnahmezertifikat: Entwirf eine Erweiterung für namentliche Zertifikate. Prüfe, wann der vollständige Name nötig ist und wie eine getrennte Verarbeitung aussehen könnte. Feedback: Eine neue Anforderung rechtfertigt nicht automatisch die Erweiterung sämtlicher bestehenden Datensätze.
- T2: Rechnungsmodell: Entwickle ein gesondertes Rechnungsdatenmodell und recherchiere die im jeweiligen Rechtsrahmen geltenden Aufbewahrungspflichten. Feedback: Eine fachgerechte Lösung trennt Rechnungszwecke und Aufbewahrung von reinen Kursorganisationsdaten.
- T3: Kleine Gruppen: Untersuche mit fiktiven Beispielen, wann eine Kursstatistik trotz fehlender Namen eine Person erkennen lassen könnte. Feedback: Eine reine Zählung reicht bei einer sehr kleinen und bekannten Gruppe nicht immer zur Anonymisierung.
- T4: Produktivkonzept: Erstelle ein Sicherheitskonzept für eine hypothetische spätere Produktivanwendung mit Authentisierung, rollenbezogenen Datenbankrechten, Löschroutinen und Backups. Feedback: Eine gute Lösung unterscheidet die einfache Unterrichtssimulation deutlich von nachweisbar wirksamen Schutzmaßnahmen.


Lernkontrolle
Diese Aufgaben prüfen die Anwendung und Übertragung der Kenntnisse.
- Fallanalyse: Eine Firma möchte bei kostenlosen IT-Kursen für alle Teilnehmenden die Privatanschrift verpflichtend erfassen. Bewerte die Anforderung unter Berücksichtigung von Zweckbindung, Datenminimierung und möglicher Rechtsgrundlage.
- Modellvergleich: Vergleiche eine einzige Tabelle mit Kurs- und Personendaten mit dem getrennten Modell Kurs und Anmeldung. Begründe, welche Struktur im Ausbildungsfall geeigneter ist und wo Grenzen der Aussage liegen.
- Zugriffskonflikt: Eine Vertretung möchte kurzfristig auf sämtliche Kontaktlisten zugreifen. Entwickle eine befristete, überprüfbare und möglichst eingeschränkte Lösung.
- Löschentscheidung: Eine Person beantragt die Löschung ihrer Daten, während für einzelne Unterlagen möglicherweise eine gesetzliche Aufbewahrungspflicht besteht. Erläutere ein differenziertes Vorgehen.
- Statistikrisiko: Ein Betrieb veröffentlicht die Teilnahmezahlen eines Kurses mit nur einer angemeldeten Person. Prüfe, unter welchen Umständen die Veröffentlichung personenbezogene Rückschlüsse ermöglicht.
- Testentwurf: Entwirf drei zusätzliche lokale Testfälle, die unzulässige Datenausgaben oder Fehler bei der Aufbewahrungslogik entdecken sollen. Gib jeweils Testeingabe, erwartetes Ergebnis und Begründung an.
Bewertungsschwerpunkte: Fachliche Begründung, nachvollziehbare Datenmodellierung, korrekte Unterscheidung von Testannahmen und Rechtsvorgaben, risikoangemessene Berechtigungen sowie überprüfbare Ergebnisse.
Lernnachweis
Für einen erfolgreichen Lernnachweis reichst Du folgende Ergebnisse ein:
- Zweckdokumentation: Beschreibung des betrieblichen Anwendungsfalls und der benötigten Datenverarbeitungen.
- Datensparsames ER-Modell: Tabellen, Attribute, Primärschlüssel, Fremdschlüssel und nachvollziehbar ausgeschlossene Merkmale.
- Aufbewahrungsplan: Dokumentierte Kriterien für Aufbewahrung, Überprüfung und Löschung, mit klar gekennzeichneten Testfristen.
- Berechtigungsmatrix: Aufgabengebundene Rechte mit Begründung für jede Rolle.
- Lokales Testprotokoll: Durchgeführte Testbefehle, Beobachtungen, erwartete Ergebnisse und Bewertung.
- Transferreflexion: Darstellung mindestens zweier Grenzen der vereinfachten SQLite-Simulation und geeigneter Maßnahmen für eine echte betriebliche Umsetzung.
Bewertungsraster:
| Bereich | Gewichtung | Erfolgskriterium |
|---|---|---|
| Zweck und Datenminimierung | 25 % | Jedes personenbezogene Feld ist begründet. |
| Datenmodell | 20 % | Beziehungen und Schlüssel sind korrekt. |
| Speicherbegrenzung | 20 % | Aufbewahrung und Bereinigung sind nachvollziehbar. |
| Berechtigungen und Tests | 25 % | Erforderliche und nicht erlaubte Zugriffe werden unterschieden und geprüft. |
| Reflexion | 10 % | Grenzen des Modells werden fachgerecht benannt. |
OERs zum Thema
Verlässliche Fachquellen
- Datenschutz-Grundverordnung, amtlicher EU-Rechtstext: Besonders Artikel 5, 6, 13, 17, 25 und 32.
- Europäischer Datenschutzausschuss: Leitlinien 4/2019 zu Datenschutz durch Technikgestaltung und datenschutzfreundliche Voreinstellungen, endgültige Fassung.
- SQLite-Dokumentation: Funktionsweise einer Datenbank im Arbeitsspeicher.
- Python-Dokumentation: SQLite-Modul und parametergebundene SQL-Abfragen.
- Datenschutz-Grundverordnung: Überblick zum europäischen Datenschutzrecht.
- Entity-Relationship-Modell: Grundlagen des Datenbankentwurfs.
Hinweis zu den Medienrechten: Die eingebundenen Wikimedia-Commons-Dateien sind mit ihren jeweiligen Urhebern und Lizenzen direkt an der Abbildung nachgewiesen. Gemeinfreie und CC0-Dateien sind von Dateien unter CC BY oder CC BY-SA zu unterscheiden. Die eingebetteten YouTube-Videos dienen der Veranschaulichung; aus ihrer öffentlichen Abrufbarkeit folgt keine freie Nachnutzung oder Bearbeitung.
Wikipedia: Datenschutz-Grundverordnung
Wikipedia: Entity-Relationship-Modell
Verknüpfte Lernbereiche
Zusammenfassung: Ein gutes betriebliches Datenmodell bildet nicht nur Informationen und ihre Beziehungen ab. Es berücksichtigt schon beim Entwurf, warum personenbezogene Daten benötigt werden, wann ihre Speicherung endet und wer sie für welche Aufgabe verarbeiten darf.
aiMOOC-Projekte
Schulfach+


aiMOOCs


aiMOOC Projekte


NEWSLernweltNOAH fragen