Relationale Datenbanken
Daten stehen in Tabellen; Schlüssel machen Datensätze eindeutig und verbinden Tabellen miteinander.
Tabelle, Zeile, Spalte
Relation = Tabelle mit Namen. Attribut = Spalte mit Datentyp, Datensatz = Zeile, Attributwert = Zelle. Jede Zelle atomar; NULL = kein Wert bekannt.
Primärschlüssel
Attribut(e), deren Wert jeden Datensatz eindeutig bestimmt — nie NULL, möglichst unveränderlich; künstliche Nummern sind am sichersten.
Fremdschlüssel
Verweist auf den Primärschlüssel einer anderen Tabelle, darf mehrfach vorkommen. Bei 1:n auf der n-Seite; m:n braucht eine Zwischentabelle.
Redundanz und Anomalien
Dieselbe Tatsache mehrfach gespeichert führt zu Einfüge-, Änderungs- und Löschanomalien. Abhilfe: je Objekttyp eine Tabelle, verbunden über Fremdschlüssel.
Primärschlüssel unterstrichen, Fremdschlüssel mit vorangestelltem Pfeil ↑. Hier bilden zwei Fremdschlüssel gemeinsam den Primärschlüssel.
Regel 1 — Schlüssel prüfen
Nicht fragen „ist es heute eindeutig?“, sondern „kann es je doppelt oder leer sein?“.
Abfragen mit SQL
Eine Abfrage beschreibt, welche Zeilen und Spalten man sehen will — das Ergebnis ist wieder eine Tabelle.
SELECT – FROM – WHERE
SELECT wählt Spalten (* = alle, DISTINCT ohne Doppelte, AS benennt um), WHERE filtert Zeilen mit =, !=, <, >, <=, >=. Texte in Hochkommas.
WHERE Genre = 'Rennen'Bedingungen und Sortierung
AND vor OR, im Zweifel Klammern. BETWEEN mit Grenzen, IN, LIKE mit % und _, IS NULL. ORDER BY … ASC/DESC, mehrere Schlüssel, LIMIT n.
LIKE '_i%'Verbund
FROM A, B bildet das Kreuzprodukt (m · n Zeilen). Die Verbundbedingung Primärschlüssel = Fremdschlüssel behält nur passende Paare; k Tabellen → k − 1 Bedingungen.
A.PK = B.FKAggregieren
COUNT, SUM, AVG, MIN, MAX fassen Werte zusammen und überspringen NULL (außer COUNT(*)). GROUP BY bildet Gruppen, HAVING filtert Gruppen.
HAVING COUNT(*) > 2SELECT … FROM … WHERE … GROUP BY … HAVING … ORDER BY … LIMIT …;Ausgewertet wird FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT. Deshalb kennt WHERE noch keine Aggregate.
Regel 2 — Planen vor Schreiben
Welche Spalten? Welche Tabellen und welcher Weg im Schema? Welche Zeilen? Braucht es Gruppen?
Daten und Gesellschaft
Datenbanken speichern oft Daten über Menschen — Recht und Verantwortung gehören deshalb zum Fach.
Informationelle Selbstbestimmung
Grundrecht seit dem Volkszählungsurteil 1983: Jeder bestimmt selbst über Preisgabe und Verwendung seiner Daten.
DSGVO
Seit 25.05.2018. Grundsätze (Art. 5): Zweckbindung, Datenminimierung, Speicherbegrenzung, Richtigkeit, Transparenz. Rechte: Auskunft, Berichtigung, Löschung, Widerspruch.
Anonym oder pseudonym
Pseudonym: Code mit getrennter Zuordnung, DSGVO gilt weiter. Anonym: kein Personenbezug. Quasi-Identifikatoren (PLZ, Geburtsdatum, Geschlecht) machen oft eindeutig.
Automatisierte Analyse
Big Data, Profilbildung, Scoring. Risiken: Korrelation statt Ursache, Stellvertretermerkmale, Fehlentscheidungen. Art. 22 DSGVO schützt vor rein automatisierten Entscheidungen.
Kriterien nennen (Betroffene, Zweck, Sensibilität, Fehlerquote, Widerspruchsmöglichkeit), beide Seiten gewichten, eine Position beziehen.
Regel 3 — Name weg ist nicht anonym
Erst wenn sich auch mit Zusatzwissen keine Person mehr zuordnen lässt, sind Daten anonym.
