39
Agenda für heute, 15. Dezember 2006 Datenmodellierung Datenmodellierung • Pause • Datenbankentwurf Relationale Operatoren und SQL • Sicherheitsaspekte

Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

Embed Size (px)

Citation preview

Page 1: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

Agenda für heute, 15. Dezember 2006

• DatenmodellierungDatenmodellierung• Pause

• Datenbankentwurf

• Relationale Operatoren und SQL

• Sicherheitsaspekte

Page 2: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich2/35

Page 3: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Elemente der Datenverwaltung

Leute

Information

Daten

Computer

Programme

Daten-verwaltung

Verarbeitung+

Speicherung

Algorithmen+

Datenstrukturen

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

Speicherkapazität+

Rechenleistung

3/35

Page 4: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Wieso Datenmodellierung?

Verständnis: Wie sollen die Daten gespeichert werden (Organisation)

Abstrahieren: Welche Daten sollen gespeichert werden

Bsp.: Bodenbeschaffenheit

• Verständnis über Herkunft und Verwendung der Daten

• Details abstrahieren

4/35

Page 5: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, 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

5/35

Page 6: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Mind mapping

6/35

Page 7: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Concept maps

7/35

Page 8: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Entity-Relationship-Diagramm

Nahrungsmittel

Name

Rezept Lebensmittel

Warencode

Nährstoff

NameQuantität

Zutaten

8/35

Nährstoff Verluste

m m m 1

Entitätsmenge Beziehung(Relationship)

Entitätsmenge

Merkmal(Attribut)

Beziehungstyp

Page 9: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Tabellarische Darstellung von Entitätsmengen

Nahrungsmittel

Name Aprikose Bürli Paranuss

CH-Code 18.1.2.1 12.1.2.Z.2 18.1.6.6

Protein 0.8 8.618 13

Masseinheit g g g

Wasser 86.79 39.632 5.929

Masseinheit g g g

Kalium 315 159.927 680

Masseinheit mg mg mg

Kohlehydrate 12.1 48.802 11.8

Masseinheit g g g

Vitamin E 0.7 0.411 7

Masseinheit mg mg mg

Entität

Attribut

9/35

Entitätsmenge

Attributname

Page 10: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

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

10/35

= Schlüssel: stellt Verbindung zwischen Tabellen her

Page 11: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Festhalten von 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

11/35

1

1

m

m

Page 12: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

• Datenmodellierung

• DatenbankentwurfDatenbankentwurf• Relationale Operatoren und SQL

• Sicherheitsaspekte

Page 13: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Modelle vs. Schemata

Modellierung derDaten aus der realen Welt

Modellierung derDaten im Rechner

Konzeptionelles Schema

Entity-Relationship-Modell

Relationales Datenmodell

12/35

Page 14: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, 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

13/35

Page 15: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, 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

14/35

Page 16: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, 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

Nahrungsmittel

15/35

Tupel

AttributRelation Attributname

Attributwert

Page 17: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

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

Nahrungsmittel

16/35

Page 18: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, 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

17/35

Page 19: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

• Datenmodellierung

• Datenbankentwurf

• Relationale Operatoren und SQL Relationale Operatoren und SQL • Sicherheitsaspekte

Page 20: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, 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.

18/35

Page 21: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Datenbanken abfragen: SQL

"Wieviele Nahrungsmittel enthalten weniger als 50 g Kohlehydrate ?"

19/35

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 22: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Projection mit dem SQL-Befehl SELECT

SELECT CH-Code FROM Nahrungsmittel

20/35

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 23: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Selection mit dem SQL-Befehl SELECT

SELECT * FROM Nahrungsmittel WHERE Menge < 15

Resultat:

21/35

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 24: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, 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:

22/35

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 25: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Hinweis

• Im Allgemeinen versteht man eine SELECT-FROM-WHERE Abfrage am schnellsten, indem man zuerst die FROM-Klausel betrachtet um zu sehen, welche Relationen involviert sind (Nahrungsmittel).

• Anschliessend betrachtet man die WHERE-Klausel um zu sehen, welche Attribute eines Tupels für die Abfrage wichtig sind (Nährstoff_id).

• Am Schluss sieht man der SELECT-Klausel an, was die Ausgabe ist (Nährstoff_id, Menge).

23/35

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

Page 26: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, 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

24/35

Page 27: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Funktionen in SQL

SQL stellt verschiedene andere Operatoren zur Verfügung, so unter Anderem die folgenden fünf Aggregations-Operatoren :

SUMBerechnet die Summe der numerischen Werte einer Spalte

AVGBerechnet den Durchschnitt der Werte einer Spalte

MINGibt den kleinsten Wert einer Spalte zurück

MAXGibt den grössten Wert einer Spalte zurück

COUNT Gibt die Anzahl Zeilen einer Tabelle zurück

25/35

Page 28: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

• Datenmodellierung

• Datenbankentwurf

• Relationale Operatoren und SQL

• SicherheitsaspekteSicherheitsaspekte

Page 29: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Statistische Datenbanken

• Abfragen beschränkt auf statistische Operationen (Aggregationen):

COUNT

SUM

MEAN

MIN

MAX

• Vertrauliche Daten

26/35

Page 30: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Statistische Datenbanken

27/35

Abfragen an Datenbanken werden als logischer Ausdruck formuliert

Beispiel

Suche: "weiblich AND Professor OR (Gehalt ≥ CHF 80000)"

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 31: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

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

28/35

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 32: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, 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 folgende Frage:

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 mit der folgenden Abfrage:

29/35

Page 33: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Gewisses Vorwissen erlaubt Rückschlüsse: Beispiel 1

Frage: 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"

30/35

Page 34: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Lassen sich solche Rückschlüsse verhindern?

Einfaches Prinzip der "Blossstellung"

• Eine Abfrage deren Antwortgrösse 1 ist.

• Die Antwortgrösse der Abfrage AND X.

Verhinderung durch minimale Antwortgrösse:

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 wirksam

31/35

Page 35: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, 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

32/35

Page 36: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, ETH Zürich

Rückschlüsse mittels "Tracker"

Angenommen, die Frage: (Journalist AND W)

identifiziert Ott eindeutig

Kontrolle Die minimale Anwortgrösse verhindert direkte Abfragen über Ott

UmgehungKleine Antwortmengen "füttern", damit sie die minimale Antwortgrösse erreichen

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)

33/35

Page 37: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, 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!

34/35

Page 38: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

© Institut für Computational Science, 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

35/35

Page 39: Agenda für heute, 15. Dezember 2006 DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Sicherheitsaspekte

Wir wünschen Ihnen ein schönes Wochenende!