Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Datenverwaltung Agenda für heute, 14. April 2010 Datenmodellierung

Ähnliche Präsentationen


Präsentation zum Thema: "Datenverwaltung Agenda für heute, 14. April 2010 Datenmodellierung"—  Präsentation transkript:

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

2 Das heutige Thema im Kontext des Informationsarbeitsplatzes
2/44

3 Elemente der Datenverwaltung
Speicherkapazität + Rechenleistung Leute Information Daten Computer Programme Daten-verwaltung Verarbeitung + Speicherung Algorithmen + Datenstrukturen 3/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

4 Datenverwaltung: Form follows Function
Verarbeitung stellt Anforderungen an Speicherung für: Unterstützung bei: - Einfügen, - Löschen, - Suchen, - Selektieren von Daten Algorithmen Art der Speicherung grenzt Verarbeitung ein durch: Einschränkung von: - Grösse - Flexibilität - Kompatibilität Datenstrukturen 4/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

5 Datenverwaltung braucht ein universelles Speichermedium
Tabellen: die praktischste Datenstruktur um den Speicher zu organisieren. 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 Flexibilität: Sowohl die Anzahl Spalten als auch die Anzahl Zeilen sind frei wählbar Kompatibilität: Tabellen lassen sich einfach zwischen Anwendungen austauschen. 5/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

6 Die Tabelle als universelles Speichermedium
Nährwerte Schokoladencornet Nährstoff Wert Einheit Energie 1'230 kJ Protein 4.70 g Fett, total 13.40 Fettsäuren, gesättigt 7.00 Cholesterin 27.00 mg Nährwerte Schokoladencornet Nährstoff Wert Einheit Energie 1'230 kJ Protein 4.70 g Fett, total 13.40 Cholesterin 27.00 mg Nährwerte Schokoladencornet Nährstoff Wert Einheit Energie 1'230 kJ Wasser 40.50 g Protein 4.70 Fett, total 13.40 Cholesterin 27.00 mg löschen suchen löschen einfügen selektieren ([Spalte_x, Zeile_y]) 6/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

7 Die Tabelle als flexibles Speichermedium
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 Fett, total 13.40 2.60 32.90 Fettsäuren, gesättigt 7.00 0.40 19.10 Cholesterin 27.00 20.00 mg 7/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

8 Die Tabelle als flexibles Speichermedium
Oder so, dass sie mit zusätzlichen Zeilen grösser wird: Nährwerte Schokoladenprodukte Produkt Energie Wasser Protein Fett, 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 7.5 32.9 19.1 20.0 Einheit kJ g mg Nehmen wir an, wir möchten nun den Zuckergehalt von Schokoladen-Rahmglace speichern. 8/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

9 Probleme mit der Tabelle als flexibles Speichermedium
. . . dann gibt es "Löcher" in der Tabelle: Nährwerte Schokoladenprodukte Produkt Energie Wasser Protein Zucker Fett, 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 7.5 32.9 19.1 20.0 Einheit kJ g mg . . . und diese Verursachen Probleme bei der Verarbeitung und bei der Darstellung der Daten. Dies lässt sich mit "Listen" vermeiden. 9/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

10 Vereinfachung der Struktur durch linearisieren der Einträge
Nährwerte Schokoladenprodukte Produkt Nährstoff Wert Einheit Cornet Energie 1'230 kJ Wasser 40.50 g Protein 4.70 Fett, total 13.40 Fettsäuren, gesättigt 7.00 Cholesterin 27.00 mg Pudding 498 71.20 3.00 2.60 0.40 Rahmglace Zucker 24.6 Redundanz Vorteil Einfache Speicherung Einfache Verarbeitung Nachteil Gross Unübersichtlich 10/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

11 Die Nachteile einfacher Listen lassen sich beheben
Übersichtlichkeit wieder gewinnen Listeneinträge selektieren Zusammenfassungen berechnen Daten reformatieren: Pivot-Tabellen Voraussetzung: Die Daten sind als Liste organisiert. Redundanz eliminieren Tabelle entlang Spaltengrenzen aufteilen Wiederholungen in Teiltabellen entfernen Einträge in Teiltabellen indizieren Über Indizes Verbindung zu abgetrennten Teilen herstellen 11/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

12 Daten thematisch in verschiedene Tabellen aufteilen
eliminieren Die Einträge der neuen Tabellen über Querverweise verbinden 12/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

13 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 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

14 Datenmodellierung Datenverwaltung Pause Datenbankentwurf
Relationale Operatoren und SQL Datenschutz: Statistische Datenbanken

15 Hilfsmittel für die Modellierung von Daten
Eine Beschreibung der Verarbeitung und Speicherung der Daten muss für Leute verständlich sein, sich aber auch für die Programmierung eignen! Methode Unterstützt Mind mapping Gedanken assoziativ spontan darstellen Concept Maps Wissen kontextabhängig organisieren und darstellen Entity-Relationship Modell Datenbankgerechte Darstellung von Objekten, deren Merkmale und Beziehungen zueinander 14/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

16 Merkmale um den Begriff "Lebensmittel" zu beschreiben
Mind mapping Merkmale um den Begriff "Lebensmittel" zu beschreiben 15/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

17 Concept maps 16/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

18 Entity-Relationship-Diagramm (Chen Notation)
Beziehungstyp (Kardinalität) Name Nährstoff Name Typ m m Nahrungsmittel Analyse Nährstoffe Nährstoffe Wert Methode Masseinheit Entitätsmenge Entitätsmenge Beziehung (Relationship) Merkmal (Attribut) 17/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

19 Anwendung des E-R-Modells: Tabellen für Entitätsmengen
Nährwerte Name Aprikose Kochbutter Paranuss CH-Code Z.2 Protein 0.8 0.5 13 Masseinheit g Wasser 86.79 16.6 5.929 Kalium 315 20 680 mg Kohlehydrate 12.1 0.7 11.8 Vitamin E 1.75 7 Attribut Attributname Entität 18/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

20 Vereinfachung: Entflechten von Information
Nahrungsmittel Name Aprikose Bürli CH-Code Z.2 Nährstoff_id 180 84 57 Menge 86.79 12.1 0.4 39.632 48.802 2.032 Verbindende Indizes 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 Primärschlüssel Fremdschlüssel 19/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

21 Tabellen für Beziehungen (Relationships)
Nahrungsmittel NMittel_id Name_d Aprikose Bürli Name_f Abricot Name_i Albicocca CH-Code Z.2 Analyse Analyse_id 1 2 NMittel_id Nährstoff_id 180 84 Quelle CIQUAL Inst. f. LMW Menge 86.79 48.802 Methode unbekannt Summenwert Person M. Racher S. Jacob 1 m m 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 mg 1 20/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

22 Zusammenfassung 21/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

23 Datenbankentwurf Datenverwaltung Datenmodellierung Pause
Relationale Operatoren und SQL Datenschutz: Statistische Datenbanken

24 Entity-Relationship-Modell
Modelle vs. Schemata Modellierung der Daten aus der realen Welt Entity-Relationship-Modell Konzeptionelles Schema Relationales Datenmodell Modellierung der Daten im Rechner 22/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

25 Grundlagen für den Datenbankentwurf
Selektive Abfrage Basisdaten Datenbank Konzeptionelles Schema Logische Gesamtstruktur Eigenschaften der Daten Beziehungen unter den Daten Datenmodell Internes Schema Externes Schema Datenstrukturen Datentypen Zugriffsmechanismen Anwendungsspezifische Sicht auf die Daten 23/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

26 Das Verbreitetste: Das Relationenmodell
Tabellen in denen Einträge (Tupel) eingefügt, gelöscht oder geändert werden können (Mutationen) Verteilen von Daten auf mehrere Tabellen (Normalisieren) reduziert Redundanz, d.h. die wiederholte Speicherung gleicher Werte Verknüpfen von Daten aus den individuellen Tabellen mit relationalen Operatoren stellt die ursprüngliche Information wieder her 24/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

27 Elemente einer Relation
Relationname Attributname Attribut Nährwerte Name CH-Code Wasser Masseinh. Kohlehyd Eisen Aprikose 86.79 g 12.1 0.4 mg Bürli Z.2 39.632 2.032 Tupel Attributwert 25/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

28 Normalisieren: Verteilen von Daten auf mehrere Tabellen
Nährwerte Name CH-Code Wasser Masseinh. Kohlehyd Eisen Aprikose 86.79 g 12.1 0.4 mg Bürli Z.2 39.632 2.032 Nahrungsmittel Name CH-Code Nährstoff_id Menge Aprikose 180 86.79 84 12.1 57 0.4 Bürli Z.2 39.632 48.802 2.032 Nährstoffe 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 26/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

29 Daten zusammenführen: Nährwerte von Bürli
Nahrungsmittel Name CH-Code Nährstoff_id Menge Aprikose 180 86.79 84 12.1 57 0.4 Bürli Z.2 39.632 48.802 2.032 Name CH-Code Nährstoff_id Menge Aprikose 180 86.79 84 12.1 57 0.4 Bürli Z.2 39.632 48.802 2.032 Nährwerte Name Name_d Menge Bürli Wasser 39.632 Kohlehydrate 48.802 Nährstoffe 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 27/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

30 Relationale Operatoren und SQL
Datenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische Datenbanken

31 Relationale Operatoren
Die drei wichtigsten Operatoren der relationalen Algebra für das Manipulieren von Tabellen sind: a) Selection Wählt diejenigen Tupel einer Relation aus, welche bestimmte Bedingungen erfüllen b) Projection Wählt eine oder mehrere Spalten einer Relation aus c) Join Paart selektiv Spalten aus verschiedenen Relationen 28/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

32 Datenbanken abfragen: SQL
"Wieviele Nahrungsmittel enthalten weniger als 50 g Kohlehydrate ?" Natürlichsprachlich formulierte Frage Abfragesprache für Datenbanken z.B. SQL (Structured Query Language) SELECT Menge FROM Nährstoffe WHERE Nährstoff_id = 84 AND Menge < 50 Nährstoffe Tabellarische Ausgabe (Relation) 29/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

33 Projection mit dem SQL-Befehl SELECT
Attribut Relation SELECT CH-Code FROM Nahrungsmittel Nahrungsmittel Name CH-Code Nährstoff_id Menge Aprikose 180 86.79 84 12.1 Paranuss 5.929 Bürli Z.2 39.632 48.802 57 2.032 Resultat: CH-Code Z.2 30/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

34 Selection mit dem SQL-Befehl SELECT
Attributwert SELECT * FROM Nahrungsmittel WHERE Menge < 15 Nahrungsmittel Name CH-Code Nährstoff_id Menge Aprikose 180 86.79 84 12.1 Paranuss 5.929 Bürli Z.2 39.632 48.802 57 2.032 Resultat: Name CH-Code Nährstoff_id Menge Aprikose 84 12.1 Paranuss 180 5.929 Bürli Z.2 57 2.032 31/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

35 Selection + Projection mit dem SQL-Befehl SELECT
SELECT Nährstoff_id, Menge FROM Nahrungsmittel WHERE Nährstoff_id = 84 Nahrungsmittel Name CH-Code Nährstoff_id Menge Aprikose 180 86.79 84 12.1 Paranuss 5.929 Bürli Z.2 39.632 48.802 57 2.032 Resultat: Nährstoff_id Menge 84 12.1 48.802 32/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

36 Wie SELECT-Abfragen am besten gelesen werden
SELECT Nährstoff_id, Menge FROM Nahrungsmittel WHERE Nährstoff_id = 84    Die FROM-Klausel sagt, welche Relationen involviert sind. Die WHERE-Klausel zeigt, welche Attribute wichtig sind. Die SELECT-Klausel gibt an, was ausgegeben wird. 33/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

37 Selection + Projection + Join mit dem SQL-Befehl SELECT
SELECT Name, Name_d, Menge FROM NM, NS WHERE Name = Bürli AND Menge > 30 NM Resultat: Name CH-Code Nährstoff_id Menge Aprikose 180 86.79 84 12.1 57 0.4 Bürli Z.2 39.632 48.802 2.032 NM.Name NS.Name_d NM.Menge Bürli Wasser 39.632 Kohlehydrate 48.802 NS Id_Nr Name_d Name_f Name_i Masseinh. Hauptkomp. 57 Eisen Fer Ferro mg ja 84 Kohlehydrate Hydrate de carbon Carboidrate g 180 Wasser Eau Acqua 34/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

38 Datenschutz: Statistische Datenbanken
Datenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische Datenbanken

39 Statistische Datenbanken
Vertrauliche Daten Abfragen beschränkt auf statistische Operationen (Aggregationen), die SQL zur Verfügung stellt: COUNT SUM MEAN MIN MAX 35/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

40 Statistische Datenbanken
Abfragen an Datenbanken werden als logischer Ausdruck formuliert Beispiel Suche: "Direktor OR weiblich AND (Gehalt ≥ )" 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! 36/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

41 Gewisses Vorwissen erlaubt Rückschlüsse: Beispiel 1
Die Daten sind erfunden, Ähnlichkeiten mit lebenden Personen sind rein zufällig! Von Urs Schmied (im Bild rechts) wissen wir, dass er zwischen 34 und 36 Jahre alt ist Jus studierte bei der UBS eine Position als Vizepräsident inne hat 37/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

42 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ännlich Alter 34 – 36 Verheiratet Zwei Kinder Lic.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 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

43 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 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

44 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 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

45 Gewisses Vorwissen erlaubt Rückschlüsse: Beispiel 2
Geheime Wahlspenden Name Geschlecht Beruf Spende (CHF) Schamanski M Journalist 3000 Staub 500 Bertolli Unternehmer 1 Ott W 5000 Zwahlen Wissenschaftler 1000 Koller 20000 Waser Arzt 2000 Schmid Anwalt 10000 n = 8; bei k =2: min. Antwortgrösse = 2, max. Antwortgrösse = 6 41/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

46 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 Kleine 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) 42/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

47 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 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

48 Kontrolle ist schwierig
Abfragen tragen unweigerlich Information aus einer Datenbank Man kann deshalb nicht annehmen, dass sich ein System nie Blossstellen lässt Deshalb Zugriffe aufzeichnen (threat monitoring) Notwendiger Aufwand für Blossstellungen hoch halten 44/44 Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

49 Danke für Ihre Aufmerksamkeit


Herunterladen ppt "Datenverwaltung Agenda für heute, 14. April 2010 Datenmodellierung"

Ähnliche Präsentationen


Google-Anzeigen