Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause...

49
Agenda für heute, 14. April 2010 Datenverwaltung Datenverwaltung • Datenmodellierung • Pause • Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische Datenbanken

Transcript of Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause...

Page 1: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Agenda für heute, 14. April 2010

• DatenverwaltungDatenverwaltung• Datenmodellierung

• Pause

• Datenbankentwurf

• Relationale Operatoren und SQL

• Datenschutz: Statistische Datenbanken

Page 2: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Das heutige Thema im Kontext des Informationsarbeitsplatzes

2/44

Page 3: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Elemente der Datenverwaltung

Leute

Information

Daten

Computer

Programme

Daten-verwaltung

Verarbeitung+

Speicherung

Algorithmen+

Datenstrukturen

Speicherkapazität+

Rechenleistung

3/44

Page 4: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Datenverwaltung: Form follows Function

4/44

Unterstützung bei: - Einfügen,- Löschen,- Suchen,- Selektieren von Daten

Art der Speicherung grenzt Verarbeitung ein durch:

Verarbeitung stellt Anforderungen an Speicherung für:

Einschränkung von: - Grösse- Flexibilität- Kompatibilität

Algorithmen

Datenstrukturen

Page 5: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Datenverwaltung braucht ein universelles Speichermedium

5/44

Tabellen erfüllen wichtige Anforderungen an die Speicherung von Daten.

Grösse: Tabellen lassen sich leicht aufteilen oder zusammenfügen, das Resultat sind wieder Tabellen

Tabellen: die praktischste Datenstruktur um den Speicher zu organisieren.

Kompatibilität: Tabellen lassen sich einfach zwischen Anwendungen austauschen.

Flexibilität: Sowohl die Anzahl Spalten als auch die Anzahl Zeilen sind frei wählbar

Page 6: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Die Tabelle als universelles Speichermedium

6/44

Nährwerte Schokoladencornet

Nährstoff Wert Einheit

Energie 1'230 kJ

Protein 4.70 g

Fett, total 13.40 g

Fettsäuren, gesättigt 7.00 g

Cholesterin 27.00 mg

selektieren ([Spalte_x, Zeile_y])

löschen

einfügen

such

en

Nährwerte Schokoladencornet

Nährstoff Wert Einheit

Energie 1'230 kJ

Wasser 40.50 g

Protein 4.70 g

Fett, total 13.40 g

Cholesterin 27.00 mg

Nährwerte Schokoladencornet

Nährstoff Wert Einheit

Energie 1'230 kJ

Protein 4.70 g

Fett, total 13.40 g

Cholesterin 27.00 mg

löschen

Page 7: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Die Tabelle als flexibles Speichermedium

7/44

Die Tabelle kann man so organisieren, dass sie mit zusätzlichen Spalten erweitert werden kann:

Nährwerte Schokoladenprodukte

Nährstoff Cornet Pudding Schokolade … Einheit

Energie 1'230 498 2'258 … kJ

Wasser 40.50 71.20 1.30 … g

Protein 4.70 3.00 7.50 … g

Fett, total 13.40 2.60 32.90 … g

Fettsäuren, gesättigt 7.00 0.40 19.10 … g

Cholesterin 27.00 3.00 20.00 … mg

Page 8: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Die Tabelle als flexibles Speichermedium

8/44

Oder so, dass sie mit zusätzlichen Zeilen grösser wird:

Nehmen wir an, wir möchten nun den Zuckergehalt von Schokoladen-Rahmglace speichern.

Nährwerte Schokoladenprodukte

Produkt Energie Wasser ProteinFett, total

Fettsäuren, gesättigt Cholesterin

Cornet 1'230.0 40.5 4.7 13.4 7.0 27.0

Pudding 498.0 71.2 1.3 2.6 0.4 3.0

Schokolade 2'258.0 3.0 7.5 32.9 19.1 20.0

… … … … … … …

Einheit kJ g g g g mg

Page 9: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Probleme mit der Tabelle als flexibles Speichermedium

9/44

Nährwerte Schokoladenprodukte

Produkt Energie Wasser Protein ZuckerFett, total

Fettsäuren, gesättigt Cholesterin

Cornet 1'230.0 40.5 4.7 13.4 7.0 27.0

Pudding 498.0 71.2 1.3 2.6 0.4 3.0

Rahmglace 24.6

Schokolade 2'258.0 3.0 7.5 32.9 19.1 20.0

Einheit kJ g g g g g mg

. . . dann gibt es "Löcher" in der Tabelle:

Dies lässt sich mit "Listen" vermeiden.

. . . und diese Verursachen Probleme bei der Verarbeitung und bei der Darstellung der Daten.

Page 10: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Vereinfachung der Struktur durch linearisieren der Einträge

10/44

Nährwerte Schokoladenprodukte

Produkt Nährstoff Wert Einheit

Cornet Energie 1'230 kJ

Cornet Wasser 40.50 g

Cornet Protein 4.70 g

Cornet Fett, total 13.40 g

Cornet Fettsäuren, gesättigt 7.00 g

Cornet Cholesterin 27.00 mg

Pudding Energie 498 kJ

Pudding Wasser 71.20 g

Pudding Protein 3.00 g

Pudding Fett, total 2.60 g

Pudding Fettsäuren, gesättigt 0.40 g

Rahmglace Zucker 24.6 g

Redundanz Vorteil

• Einfache Speicherung

• Einfache Verarbeitung

Nachteil

• Gross

• Unübersichtlich

Page 11: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Die Nachteile einfacher Listen lassen sich beheben

11/44

Übersichtlichkeit wieder gewinnen

Redundanz eliminieren

• Listeneinträge selektieren • Zusammenfassungen berechnen• Daten reformatieren: Pivot-Tabellen

• Voraussetzung: Die Daten sind als Liste organisiert.

• Tabelle entlang Spaltengrenzen aufteilen • Wiederholungen in Teiltabellen entfernen• Einträge in Teiltabellen indizieren• Über Indizes Verbindung zu abgetrennten Teilen herstellen

Page 12: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Daten thematisch in verschiedene Tabellen aufteilen

12/44Die Einträge der neuen Tabellen über Querverweise verbinden

Page 13: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Konsequenzen für die Datenverwaltung

Damit Daten für ihre Verarbeitung zweckmässig gespeichert werden können, müssen deren Eigenschaften erkannt, und vereinfacht dargestellt werden.

So wie die Naturwissenschaften komplexe Zusammenhänge mit Modellen vereinfacht und sichtbar macht, verwendet die Informatik Datenmodelle um Merkmale von Daten und deren Beziehungen zueinander zu erfassen.

13/44

Page 14: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

• Datenverwaltung

• DatenmodellierungDatenmodellierung• Pause

• Datenbankentwurf

• Relationale Operatoren und SQL

• Datenschutz: Statistische Datenbanken

Page 15: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Hilfsmittel für die Modellierung von Daten

Methode Unterstützt

Mind mapping Gedanken assoziativspontan darstellen

Entity-Relationship Modell Datenbankgerechte Darstellung von Objekten,deren Merkmale und Beziehungen zueinander

Concept Maps Wissen kontextabhängig organisieren und darstellen

14/44

Eine Beschreibung der Verarbeitung und Speicherung der Daten muss für Leute verständlich sein, sich aber auch für die Programmierung eignen!

Page 16: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Mind mapping

15/44

Merkmale um den Begriff "Lebensmittel" zu beschreiben

Page 17: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Concept maps

16/44

Page 18: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Entity-Relationship-Diagramm (Chen Notation)

Nahrungsmittel

Name

Analyse Nährstoffe

Typ

Masseinheit

NameNährstoff

Wert

17/44

Nährstoffe Methode

1 m m 1

Entitätsmenge Beziehung (Relationship) Entitätsmenge

Merkmal (Attribut)

Beziehungstyp (Kardinalität)

Page 19: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Anwendung des E-R-Modells: Tabellen für Entitätsmengen

Nährwerte

Name Aprikose Kochbutter Paranuss

CH-Code 18.1.2.1 12.1.2.Z.2 18.1.6.6

Protein 0.8 0.5 13

Masseinheit g g g

Wasser 86.79 16.6 5.929

Masseinheit g g g

Kalium 315 20 680

Masseinheit mg mg mg

Kohlehydrate 12.1 0.7 11.8

Masseinheit g g g

Vitamin E 0.7 1.75 7

Masseinheit mg mg mg

Entität

Attribut

18/44

Entitätsmenge

Attributname

Page 20: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Vereinfachung: Entflechten von Information

Nahrungsmittel

Name Aprikose Aprikose Aprikose Bürli Bürli Bürli

CH-Code 18.1.2.1 18.1.2.1 18.1.2.1 12.1.2.Z.2 12.1.2.Z.2 12.1.2.Z.2

Nährstoff_id 180 84 57 180 84 57

Menge 86.79 12.1 0.4 39.632 48.802 2.032

Nährstoffe

Nährstoff_id 57 84 180 178

Name_d Eisen Kohlehydrate Wasser Vitamin K

Name_f Fer Hydrate de carbon Eau Vitamine K

Name_i Ferro Carboidrati Acqua Vitamina K

Masseinheit mg g g mg

19/44

Verbindende Indizes

Primärschlüssel

Fremdschlüssel

Page 21: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Tabellen für Beziehungen (Relationships)

Nahrungsmittel

NMittel_id 1000842 1001511

Name_d Aprikose Bürli

Name_f Abricot Bürli

Name_i Albicocca Bürli

CH-Code 18.1.2.1 12.1.2.Z.2

Nährstoffe

Nährstoff_id 180 84 57 178

Name_d Wasser Kohlehydrat Eisen Vitamin K

Name_f Eau Hydrate de carbon Fer Vitamine K

Name_i Acqua Carboidrati Ferro Vitamina K

Masseinheit g g mg mg

Analyse

Analyse_id 1 2

NMittel_id 1000842 1001511

Nährstoff_id 180 84

Quelle CIQUAL Inst. f. LMW

Menge 86.79 48.802

Methode unbekannt Summenwert

Person M. Racher S. Jacob

20/44

1

1

m

m

Page 22: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

21/44

Zusammenfassung

Page 23: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

• Datenverwaltung

• Datenmodellierung

• Pause

• DatenbankentwurfDatenbankentwurf• Relationale Operatoren und SQL

• Datenschutz: Statistische Datenbanken

Page 24: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Modelle vs. Schemata

Modellierung derDaten aus der realen Welt

Modellierung derDaten im Rechner

Konzeptionelles Schema

Entity-Relationship-Modell

Relationales Datenmodell

22/44

Page 25: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Grundlagen für den Datenbankentwurf

Datenbank

Basisdaten Selektive Abfrage

Konzeptionelles Schema

Internes Schema Externes Schema• Datenstrukturen

• Datentypen

• Zugriffsmechanismen

• Anwendungsspezifische Sicht auf die Daten

• Logische Gesamtstruktur

• Eigenschaften der Daten

• Beziehungen unter den Daten

Datenmodell

23/44

Page 26: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Das Verbreitetste: Das Relationenmodell

• Tabellen in denen Einträge (Tupel) eingefügt, gelöscht oder geändert werden können (Mutationen)

• Verknüpfen von Daten aus den individuellen Tabellen mit relationalen Operatoren stellt die ursprüngliche Information wieder her

• Verteilen von Daten auf mehrere Tabellen (Normalisieren) reduziert Redundanz, d.h. die wiederholte Speicherung gleicher Werte

24/44

Page 27: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Elemente einer Relation

Name CH-Code Wasser Masseinh. Kohlehyd Masseinh. Eisen Masseinh.

Aprikose 18.1.2.1 86.79 g 12.1 g 0.4 mg

Bürli 12.1.2.Z.2 39.632 g 39.632 g 2.032 mg

Nährwerte

25/44

Tupel

AttributRelationname Attributname

Attributwert

Page 28: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Normalisieren: Verteilen von Daten auf mehrere Tabellen

Name CH-Code Nährstoff_id Menge

Aprikose 18.1.2.1 180 86.79

Aprikose 18.1.2.1 84 12.1

Aprikose 18.1.2.1 57 0.4

Bürli 12.1.2.Z.2 180 39.632

Bürli 12.1.2.Z.2 84 48.802

Bürli 12.1.2.Z.2 57 2.032

Nährstoff_id Name_d Name_f Name_i Masseinh.

57 Eisen Fer Ferro mg

84 Kohlehydrate Hydrate de carbon Carboidrate g

180 Wasser Eau Acqua g

Nahrungsmittel

Nährstoffe

Name CH-Code Wasser Masseinh. Kohlehyd Masseinh. Eisen Masseinh.

Aprikose 18.1.2.1 86.79 g 12.1 g 0.4 mg

Bürli 12.1.2.Z.2 39.632 g 39.632 g 2.032 mg

Nährwerte

26/44

Page 29: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Daten zusammenführen: Nährwerte von Bürli

Name CH-Code Nährstoff_id Menge

Aprikose 18.1.2.1 180 86.79

Aprikose 18.1.2.1 84 12.1

Aprikose 18.1.2.1 57 0.4

Bürli 12.1.2.Z.2 180 39.632

Bürli 12.1.2.Z.2 84 48.802

Bürli 12.1.2.Z.2 57 2.032

Id_Nr Name_d Name_f Name_i Masseinh.

57 Eisen Fer Ferro mg

84 Kohlehydrate Hydrate de carbon Carboidrate g

180 Wasser Eau Acqua g

Nahrungsmittel

Nährstoffe

Name Name_d Menge

Bürli Wasser 39.632

Bürli Kohlehydrate 48.802

Nährwerte

27/44

Name CH-Code Nährstoff_id Menge

Aprikose 18.1.2.1 180 86.79

Aprikose 18.1.2.1 84 12.1

Aprikose 18.1.2.1 57 0.4

Bürli 12.1.2.Z.2 180 39.632

Bürli 12.1.2.Z.2 84 48.802

Bürli 12.1.2.Z.2 57 2.032

Page 30: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

• Datenverwaltung

• Datenmodellierung

• Pause

• Datenbankentwurf

• Relationale Operatoren und SQL Relationale Operatoren und SQL • Datenschutz: Statistische Datenbanken

Page 31: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Relationale Operatoren

Die drei wichtigsten Operatoren der relationalen Algebra für das Manipulieren von Tabellen sind:

a) SelectionWählt diejenigen Tupel einer Relation aus, welche bestimmte Bedingungen erfüllen

b) ProjectionWählt eine oder mehrere Spalten einer Relation aus

c) JoinPaart selektiv Spalten aus verschiedenen

Relationen

28/44

Page 32: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Datenbanken abfragen: SQL

"Wieviele Nahrungsmittel enthalten weniger als 50 g Kohlehydrate ?"

29/44

Abfragesprache für Datenbankenz.B. SQL (Structured Query Language)

SELECT Menge FROM Nährstoffe WHERE Nährstoff_id = 84 AND Menge < 50

Natürlichsprachlich formulierte Frage

Tabellarische Ausgabe (Relation)

Nährstoffe

Page 33: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Projection mit dem SQL-Befehl SELECT

SELECT CH-Code FROM Nahrungsmittel

30/44

Name CH-Code Nährstoff_id Menge

Aprikose 18.1.2.1 180 86.79

Aprikose 18.1.2.1 84 12.1

Paranuss 18.1.6.6 180 5.929

Bürli 12.1.2.Z.2 180 39.632

Bürli 12.1.2.Z.2 84 48.802

Bürli 12.1.2.Z.2 57 2.032

CH-Code

18.1.2.1

18.1.2.1

18.1.6.6

12.1.2.Z.2

12.1.2.Z.2

12.1.2.Z.2

Nahrungsmittel

Resultat:

Attribut Relation

Page 34: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Selection mit dem SQL-Befehl SELECT

SELECT * FROM Nahrungsmittel WHERE Menge < 15

Resultat:

31/44

Name CH-Code Nährstoff_id Menge

Aprikose 18.1.2.1 180 86.79

Aprikose 18.1.2.1 84 12.1

Paranuss 18.1.6.6 180 5.929

Bürli 12.1.2.Z.2 180 39.632

Bürli 12.1.2.Z.2 84 48.802

Bürli 12.1.2.Z.2 57 2.032

Nahrungsmittel

Name CH-Code Nährstoff_id Menge

Aprikose 18.1.2.1 84 12.1

Paranuss 18.1.6.6 180 5.929

Bürli 12.1.2.Z.2 57 2.032

Attributwert

Page 35: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Selection + Projection mit dem SQL-Befehl SELECT

SELECT Nährstoff_id, Menge FROM Nahrungsmittel WHERE Nährstoff_id = 84

Nährstoff_id Menge

84 12.1

84 48.802

Resultat:

32/44

Name CH-Code Nährstoff_id Menge

Aprikose 18.1.2.1 180 86.79

Aprikose 18.1.2.1 84 12.1

Paranuss 18.1.6.6 180 5.929

Bürli 12.1.2.Z.2 180 39.632

Bürli 12.1.2.Z.2 84 48.802

Bürli 12.1.2.Z.2 57 2.032

Nahrungsmittel

Page 36: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Wie SELECT-Abfragen am besten gelesen werden

1. Die FROM-Klausel sagt, welche Relationen involviert sind.

2. Die WHERE-Klausel zeigt, welche Attribute wichtig sind.

3. Die SELECT-Klausel gibt an, was ausgegeben wird.

33/44

SELECT Nährstoff_id, Menge FROM Nahrungsmittel WHERE Nährstoff_id = 84

Page 37: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Selection + Projection + Join mit dem SQL-Befehl SELECT

Name CH-Code Nährstoff_id Menge

Aprikose 18.1.2.1 180 86.79

Aprikose 18.1.2.1 84 12.1

Aprikose 18.1.2.1 57 0.4

Bürli 12.1.2.Z.2 180 39.632

Bürli 12.1.2.Z.2 84 48.802

Bürli 12.1.2.Z.2 57 2.032

Id_Nr Name_d Name_f Name_i Masseinh. Hauptkomp.

57 Eisen Fer Ferro mg ja

84 Kohlehydrate Hydrate de carbon Carboidrate g ja

180 Wasser Eau Acqua g ja

NM

NS

NM.Name NS.Name_d NM.Menge

Bürli Wasser 39.632

Bürli Kohlehydrate 48.802

Resultat:

SELECT Name, Name_d, Menge FROM NM, NS WHERE Name = Bürli AND Menge > 30

34/44

Page 38: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

• Datenverwaltung

• Datenmodellierung

• Pause

• Datenbankentwurf

• Relationale Operatoren und SQL

• Datenschutz: Statistische DatenbankenDatenschutz: Statistische Datenbanken

Page 39: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Statistische Datenbanken

• Abfragen beschränkt auf statistische Operationen (Aggregationen), die SQL zur Verfügung stellt:

COUNT

SUM

MEAN

MIN

MAX

• Vertrauliche Daten

35/44

Page 40: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Statistische Datenbanken

36/44

Abfragen an Datenbanken werden als logischer Ausdruck formuliert

Beispiel

Suche: "Direktor OR weiblich AND (Gehalt ≥ 180000)"

Bei statistischen Datenbanken sind Antworten Resultate von Aggregations-Operatoren

• Somit stehen nur statistische Daten zur Verfügung

• Es werden empfindliche Daten nicht preisgegeben

Trotzdem kann es leicht sein, bestimmte vertrauliche Daten durch geeignete statistische Abfragen, die Rückschlüsse zulassen, herzuleiten!

Page 41: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Von Urs Schmied (im Bild rechts) wissen wir, dass er

37/44

Gewisses Vorwissen erlaubt Rückschlüsse: Beispiel 1

Die Daten sind erfunden, Ähnlichkeiten mit lebenden Personen sind rein zufällig!

• zwischen 34 und 36 Jahre alt ist

• Jus studierte

• bei der UBS eine Position als Vizepräsident inne hat

Page 42: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Gewisses Vorwissen erlaubt Rückschlüsse: Beispiel 1

Wir wissen auch, dass er im Spital ist, aber nicht wieso.

Weil wir Zugang zur statistischen Datenbank des Spitals haben, formulieren wir eine COUNT-Abfrage:

Wie viele Patienten haben folgende Eigenschaften?MännlichAlter 34 – 36VerheiratetZwei KinderLic.jur.Bank-Vizepräsident

Antwort: 1

Wir gehen davon aus, dass es sich um Urs handelt und erhalten somit vertrauliche Informationen über ihn durch erweitern der Abfrage:

38/44

Page 43: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Gewisses Vorwissen erlaubt Rückschlüsse: Beispiel 1

Wie viele Patienten haben folgende Eigenschaften?

Männlich

Alter 34 – 36

Verheiratet

Zwei Kinder

Lic.jur.

Bank-Vizepräsident

Nehmen Antidepressiva

Das System wird mit "1" antworten, falls Schmied Antidepressiva erhält, sonst mit "0"

39/44

Page 44: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Lassen sich solche Rückschlüsse verhindern?

Ursache: Einfaches Prinzip der "Blossstellung" um X zu bestätigen

• Eine Abfrage deren Antwortgrösse 1 ist

• Die Antwortgrösse der Abfrage AND X

Schutz: minimale Antwortgrösse, k, verlangen, d.h.

Antworte auf keine Abfrage, die weniger als k oder mehr als n-k Datensätze in der Antwort hat.

n = totale Anzahl Datensätze in der Datenbank

Diese Kontrolle ist leider nicht sehr wirksam.

40/44

Page 45: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Gewisses Vorwissen erlaubt Rückschlüsse: Beispiel 2

Name Geschlecht Beruf Spende (CHF)

Schamanski M Journalist 3000

Staub M Journalist 500

Bertolli M Unternehmer 1

Ott W Journalist 5000

Zwahlen W Wissenschaftler 1000

Koller M Wissenschaftler 20000

Waser W Arzt 2000

Schmid M Anwalt 10000

Geheime Wahlspenden

n = 8; bei k =2: min. Antwortgrösse = 2, max. Antwortgrösse = 6

41/44

Page 46: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Rückschlüsse mittels "Tracker"

Die Frage: (Beruf = Journalist AND Geschlecht = W)

identifiziert Ott eindeutig (Antwort = 1).

Schutz

Die minimale Anwortgrösse (2) verhindert, dass geantwortet wird.

Umgehung

1. Kleine Antwortmengen "füttern", damit sie die minimale Antwortgrösse erreichen.

2. Danach wird der Effekt der zusätzlichen Datensätze subtrahiert.

Die Formel, welche die zusätzlichen Datensätze identifiziert, wird "Tracker" genannt

(To "track down" additional characteristics of an individual)

42/44

Page 47: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Tracker anwenden

Frage: Wie viele Personen sind Journalist?

Antwort: 3

Frage: Wie viele Personen sind Journalist AND M?

Antwort: 2

Rückschluss: (Journalist AND W) identifiziert 1 Individuum (Ott)

Frage: Summe der Spenden der Journalisten?

Antwort: CHF 8500

Frage: Summe der Spenden Journalist AND M?

Antwort: CHF 3500

Rückschluss: Spende der einzigen Journalistin = CHF 5000!

43/44

Page 48: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Kontrolle ist schwierig

Abfragen tragen unweigerlich Information aus einer Datenbank

Man kann deshalb nicht annehmen, dass sich ein System nie Blossstellen lässt

DeshalbZugriffe aufzeichnen (threat monitoring)

Notwendiger Aufwand für Blossstellungen hoch halten

44/44

Page 49: Agenda für heute, 14. April 2010 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische.

Danke für Ihre Aufmerksamkeit