Zum Inhalt springen

Datenbanken und betriebliche Datenmodelle – Personenbezogene Daten sparsam modellieren

Aus MOOCsWiki Staging
Version vom 9. Oktober 2026, 21:18 Uhr von Glanz (Diskussion | Beiträge) (aiMOOC über GPT aiMOOC Action erstellt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
aiMOOC-Siegel aiMOOC

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:

  1. Zweckbindung: Du kannst notwendige und unnötige Datenfelder begründet unterscheiden.
  2. Speicherbegrenzung: Du kannst ein einfaches Aufbewahrungs- und Löschkonzept erstellen.
  3. 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:

  1. Zweckbindung: Bestimme vor der Erhebung den konkreten Verarbeitungszweck.
  2. Datenminimierung: Erhebe nur dafür notwendige Daten.
  3. Speicherbegrenzung: Bewahre identifizierende Daten nicht länger als erforderlich auf.
  4. 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 E-Mail 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:

  1. Speichere den folgenden Python-Code lokal als datenschutz_labor.py.
  2. Öffne ein lokales Terminal.
  3. Starte python3 datenschutz_labor.py oder unter Windows gegebenenfalls py datenschutz_labor.py.
  4. Teste nacheinander die Befehle organisation, training, planung, test und loeschen.

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

Vervollständige den Text.
Die Verarbeitung personenbezogener Daten für festgelegte Ziele entspricht der

.
Nur notwendige personenbezogene Angaben zu erheben entspricht der

.
Die zeitliche Begrenzung der Speicherung heißt

.
Ein Merkmal in einer Datenbanktabelle nennt man

.
Eine einzelne Tabellenzeile heißt auch

.
Die Verbindung zwischen den Tabellen Kurs und Anmeldung erfolgt über einen

.
Eine Beschränkung des Zugriffs nach Aufgaben ist Teil der

.
Für die Verwaltung von Berechtigungen nach Rollen steht das Konzept

.
Die im Ausbildungsfall organisatorisch notwendige Kontaktmöglichkeit ist die

.
Den Zeitpunkt der Entfernung nicht länger benötigter Datensätze berücksichtigt das

.
Die lokale SQLite-Testdatenbank existiert im

.
Die im Unterricht eingesetzte Programmiersprache heißt

.
Eine zusammenfassende Auswertung mehrerer Datensätze wird als

bezeichnet.




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

  1. 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.
  2. 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.
  3. 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.
  4. B4: Rollenvergleich: Vergleiche lokal die Befehle organisation und training. Erstelle eine Ergebnistabelle. Feedback: Die Beschränkung ist sinnvoll, wenn die Kursleitung keine fachlich unnötigen Kontaktinformationen erhält.


Standard – Anwendungsaufgaben

  1. A1: Löschtest: Führe planung, danach loeschen und erneut planung aus. Dokumentiere die Veränderung. Feedback: Für den alten Kurs sinkt die Zahl, weil ein abgelaufener Testdatensatz entfernt wurde.
  2. 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.
  3. 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.
  4. A4: Negativtest: Überprüfe lokal, ob die nicht freigegebene Rolle gast eine Ansicht erhält, und erläutere das Ergebnis. Feedback: Eine ausdrückliche Verweigerung ist besser als eine stillschweigende Freigabe unbekannter Rollen.


Schwer – Transferaufgaben

  1. 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.
  2. 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.
  3. 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.
  4. 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.




Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen



Lernkontrolle

Diese Aufgaben prüfen die Anwendung und Übertragung der Kenntnisse.

  1. 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.
  2. 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.
  3. Zugriffskonflikt: Eine Vertretung möchte kurzfristig auf sämtliche Kontaktlisten zugreifen. Entwickle eine befristete, überprüfbare und möglichst eingeschränkte Lösung.
  4. 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.
  5. 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.
  6. 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:

  1. Zweckdokumentation: Beschreibung des betrieblichen Anwendungsfalls und der benötigten Datenverarbeitungen.
  2. Datensparsames ER-Modell: Tabellen, Attribute, Primärschlüssel, Fremdschlüssel und nachvollziehbar ausgeschlossene Merkmale.
  3. Aufbewahrungsplan: Dokumentierte Kriterien für Aufbewahrung, Überprüfung und Löschung, mit klar gekennzeichneten Testfristen.
  4. Berechtigungsmatrix: Aufgabengebundene Rechte mit Begründung für jede Rolle.
  5. Lokales Testprotokoll: Durchgeführte Testbefehle, Beobachtungen, erwartete Ergebnisse und Bewertung.
  6. 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

  1. Datenschutz-Grundverordnung, amtlicher EU-Rechtstext: Besonders Artikel 5, 6, 13, 17, 25 und 32.
  2. Europäischer Datenschutzausschuss: Leitlinien 4/2019 zu Datenschutz durch Technikgestaltung und datenschutzfreundliche Voreinstellungen, endgültige Fassung.
  3. SQLite-Dokumentation: Funktionsweise einer Datenbank im Arbeitsspeicher.
  4. Python-Dokumentation: SQLite-Modul und parametergebundene SQL-Abfragen.
  5. Datenschutz-Grundverordnung: Überblick zum europäischen Datenschutzrecht.
  6. 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









MOOCwiki · Deutsch

Nach dem Lernen ist vor dem Lernen

Entdecke direkt den nächsten Lernkurs. Weitere Inhalte erscheinen, wenn Du weiter nach unten scrollst.

Zur MOOCwiki-Hauptseite

Mediathek

Inhalte werden geladen ...

Mediathek wird aus dem Wiki geladen ...