Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Agenda für heute, 7. November 2008 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz:

Ähnliche Präsentationen


Präsentation zum Thema: "Agenda für heute, 7. November 2008 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz:"—  Präsentation transkript:

1 Agenda für heute, 7. November 2008 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische Datenbanken

2 © Departement Informatik, ETH Zürich Elemente der Datenverwaltung Leute Information Daten Computer Programme Daten- verwaltung Verarbeitung + Speicherung Algorithmen + Datenstrukturen Speicherkapazität + Rechenleistung 2/43

3 © Departement Informatik, ETH Zürich Datenverwaltung: Form follows Function 3/43 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

4 © Departement Informatik, ETH Zürich Datenverwaltung braucht ein universelles Speichermedium 4/43 Mit Tabellen lassen sich Einschränkungen der Speicherung leicht beheben. 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

5 © Departement Informatik, ETH Zürich Die Tabelle als universelles Speichermedium 5/43 Nährwerte Schokoladencornet NährstoffWertEinheit Energie1'230kJ Wasser40.50g Protein4.70g Fett, total13.40g Fettsäuren, gesättigt7.00g Cholesterin27.00mg selektieren ([Spalte, Zeile]) löschen einfügen suchen

6 © Departement Informatik, ETH Zürich Die Tabelle als flexibles Speichermedium 6/43 Nährwerte Schokoladenprodukte NährstoffCornetPuddingSchokoladeEinheit Energie1'2304982'258kJ Wasser40.5071.201.30g Protein4.703.007.50g Fett, total13.402.6032.90g Fettsäuren, gesättigt7.000.4019.10g Cholesterin27.003.0020.00mg Die Tabelle kann man so erweitern:

7 © Departement Informatik, ETH Zürich Die Tabelle als flexibles Speichermedium 7/43 Nährwerte Schokoladenprodukte ProduktEnergieWasserProtein Fett, total Fettsäuren, gesättigtCholesterin Cornet1'230.040.54.713.47.027.0 Pudding498.071.21.32.60.43.0 Schokolade2'258.03.07.532.919.120.0 EinheitkJggggmg... oder so: Nehmen wir an, wir möchten nun den Zuckergehalt von Schokoladen-Rahmglace speichern.

8 © Departement Informatik, ETH Zürich Probleme mit der Tabelle als flexibles Speichermedium 8/43 Nährwerte Schokoladenprodukte ProduktEnergieWasserProteinZucker Fett, total Fettsäuren, gesättigtCholesterin Cornet1'230.040.54.713.47.027.0 Pudding498.071.21.32.60.43.0 Rahmglace24.6 Schokolade2'258.03.07.532.919.120.0 EinheitkJgggggmg... dann gibt es "Löcher" in der Tabelle: Dies lässt sich mit "Listen" vermeiden.

9 © Departement Informatik, ETH Zürich Vereinfachung der Struktur durch linearisieren der Einträge 9/43 Nährwerte Schokoladenprodukte ProduktNährstoffWertEinheit CornetEnergie1'230kJ CornetWasser40.50g CornetProtein4.70g CornetFett, total13.40g CornetFettsäuren, gesättigt7.00g CornetCholesterin27.00mg PuddingEnergie498kJ PuddingWasser71.20g PuddingProtein3.00g PuddingFett, total2.60g PuddingFettsäuren, gesättigt0.40g RahmglaceZucker24.6g RedundanzVorteil Einfache Speicherung Einfache Verarbeitung Nachteil Gross Unübersichtlich

10 © Departement Informatik, ETH Zürich Die Nachteile einfacher Listen lassen sich beheben 10/43 Ü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

11 © Departement Informatik, ETH Zürich Daten thematisch in verschiedene Tabellen aufteilen 11/43 Die Einträge der neuen Tabellen über Querverweise verbinden

12 © 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. 12/43

13 Datenverwaltung DatenmodellierungDatenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische Datenbanken

14 © Departement Informatik, ETH Zürich Hilfsmittel für die Modellierung von Daten MethodeUnterstützt Mind mappingGedanken assoziativ spontan darstellen Entity-Relationship ModellDatenbankgerechte Darstellung von Objekten, deren Merkmale und Beziehungen zueinander Concept Maps Wissen kontextabhängig organisieren und darstellen 13/43 Eine Beschreibung der Verarbeitung und Speicherung der Daten muss für Leute verständlich sein, sich aber auch für die Programmierung eignen!

15 © Departement Informatik, ETH Zürich Mind mapping 14/43 Merkmale um den Begriff "Lebensmittel" zu beschreiben

16 © Departement Informatik, ETH Zürich Concept maps 15/43

17 © Departement Informatik, ETH Zürich Entity-Relationship-Diagramm (Chen Notation) Nahrungsmittel Name AnalyseNährstoffe Typ Masseinheit Name Nährstoff Wert 16/43 Nährstoffe Methode 1 mm 1 Entitätsmenge Beziehung (Relationship) Entitätsmenge Merkmal (Attribut) Beziehungstyp (Kardinalität)

18 © Departement Informatik, ETH Zürich Anwendung des E-R-Modells: Tabellen für Entitätsmengen Nährwerte NameAprikoseKochbutterParanuss CH-Code18.1.2.112.1.2.Z.218.1.6.6 Protein0.80.513 Masseinheitggg Wasser86.7916.65.929 Masseinheitggg Kalium31520680 Masseinheitmg Kohlehydrate12.10.711.8 Masseinheitggg Vitamin E0.71.757 Masseinheitmg Entität Attribut 17/43 Entitätsmenge Attributname

19 © Departement Informatik, ETH Zürich Vereinfachung: Entflechten von Information Nahrungsmittel NameAprikose Bürli CH-Code18.1.2.1 12.1.2.Z.2 Nährstoff_id18084571808457 Menge86.7912.10.439.63248.8022.032 Nährstoffe Nährstoff_id5784180178 Name_dEisenKohlehydrateWasserVitamin K Name_fFerHydrate de carbonEauVitamine K Name_iFerroCarboidratiAcquaVitamina K Masseinheitmggg 18/43 Verbindende Indizes Primärschlüssel Fremdschlüssel

20 © Departement Informatik, ETH Zürich Tabellen für Beziehungen (Relationships) Nahrungsmittel NMittel_id10008421001511 Name_dAprikoseBürli Name_fAbricotBürli Name_iAlbicoccaBürli CH-Code18.1.2.112.1.2.Z.2 Nährstoffe Nährstoff_id1808457178 Name_dWasserKohlehydratEisenVitamin K Name_fEauHydrate de carbonFerVitamine K Name_iAcquaCarboidratiFerroVitamina K Masseinheitggmg Analyse Analyse_id12 NMittel_id10008421001511 Nährstoff_id18084 QuelleCIQUALInst. f. LMW Menge86.7948.802 MethodeunbekanntSummenwert PersonM. RacherS. Jacob 19/43 1 1 m m

21 © Departement Informatik, ETH Zürich 20/43 Zusammenfassung

22 Datenverwaltung Datenmodellierung Pause DatenbankentwurfDatenbankentwurf Relationale Operatoren und SQL Datenschutz: Statistische Datenbanken

23 © Departement Informatik, ETH Zürich Modelle vs. Schemata Modellierung der Daten aus der realen Welt Modellierung der Daten im Rechner Konzeptionelles Schema Entity-Relationship-Modell Relationales Datenmodell 21/43

24 © Departement Informatik, ETH Zürich Grundlagen für den Datenbankentwurf Datenbank Basisdaten Selektive Abfrage Konzeptionelles Schema Internes SchemaExternes Schema Datenstrukturen Datentypen Zugriffsmechanismen Anwendungsspezifische Sicht auf die Daten Logische Gesamtstruktur Eigenschaften der Daten Beziehungen unter den Daten Datenmodell 22/43

25 © 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 23/43

26 © Departement Informatik, ETH Zürich Elemente einer Relation NameCH-CodeWasserMassein h KohlehydMassein h EisenMassein h Aprikose18.1.2.186.79g12.1g0.4mg Bürli12.1.2.Z.239.632g g2.032mg Nährwerte 24/43 Tupel Attribut Relation Attributname Attributwert

27 © Departement Informatik, ETH Zürich Normalisieren: Verteilen von Daten auf mehrere Tabellen NameCH-CodeNährstoff_idMenge Aprikose18.1.2.118086.79 Aprikose18.1.2.18412.1 Aprikose18.1.2.1570.4 Bürli12.1.2.Z.218039.632 Bürli12.1.2.Z.28448.802 Bürli12.1.2.Z.2572.032 Nährstoff_idName_dName_fName_iMasseinh. 57EisenFerFerromg 84KohlehydrateHydrate de carbonCarboidrateg 180WasserEauAcquag Nahrungsmittel Nährstoffe NameCH-CodeWasserMasseinhKohlehydMassein h EisenMassein h Aprikose18.1.2.186.79g12.1g0.4mg Bürli12.1.2.Z.239.632g g2.032mg Nährwerte 25/43

28 Id_NrName_dName_fName_iMasseinh. 57EisenFerFerromg 84KohlehydrateHydrate de carbonCarboidrateg 180WasserEauAcquag © Departement Informatik, ETH Zürich Daten zusammenführen: Nährwerte von Bürli NameCH-CodeNährstoff_idMenge Aprikose18.1.2.118086.79 Aprikose18.1.2.18412.1 Aprikose18.1.2.1570.4 Bürli12.1.2.Z.218039.632 Bürli12.1.2.Z.28448.802 Bürli12.1.2.Z.2572.032 Nahrungsmittel Nährstoffe Nam e Name_dMenge BürliWasser39.632 BürliKohlehydrate48.802 Nährwerte 26/43 NameCH-CodeNährstoff_idMenge Aprikose18.1.2.118086.79 Aprikose18.1.2.18412.1 Aprikose18.1.2.1570.4 Bürli12.1.2.Z.218039.632 Bürli12.1.2.Z.28448.802 Bürli12.1.2.Z.2572.032 Id_NrName_dName_fName_iMasseinh. 57EisenFerFerromg 84KohlehydrateHydrate de carbonCarboidrateg 180WasserEauAcquag

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

30 © Departement Informatik, ETH Zürich 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 27/43

31 © Departement Informatik, ETH Zürich Datenbanken abfragen: SQL "Wieviele Nahrungsmittel enthalten weniger als 50 g Kohlehydrate ?" 28/43 Abfragesprache für Datenbanken z.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

32 © Departement Informatik, ETH Zürich Projection mit dem SQL-Befehl SELECT SELECT CH-Code FROM Nahrungsmittel 29/43 NameCH-CodeNährstoff_idMenge Aprikose18.1.2.118086.79 Aprikose18.1.2.18412.1 Paranuss18.1.6.61805.929 Bürli12.1.2.Z.218039.632 Bürli12.1.2.Z.28448.802 Bürli12.1.2.Z.2572.032 CH-Code 18.1.2.1 18.1.6.6 12.1.2.Z.2 Nahrungsmittel Resultat: Attribut Relation

33 © Departement Informatik, ETH Zürich Selection mit dem SQL-Befehl SELECT SELECT * FROM Nahrungsmittel WHERE Menge < 15 Resultat: 30/43 NameCH-CodeNährstoff_idMenge Aprikose18.1.2.118086.79 Aprikose18.1.2.18412.1 Paranuss18.1.6.61805.929 Bürli12.1.2.Z.218039.632 Bürli12.1.2.Z.28448.802 Bürli12.1.2.Z.2572.032 Nahrungsmittel NameCH-CodeNährstoff_idMenge Aprikose18.1.2.18412.1 Paranuss18.1.6.61805.929 Bürli12.1.2.Z.2572.032 Attributwert

34 © 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_idMenge 8412.1 8448.802 Resultat: 31/43 NameCH-CodeNährstoff_idMenge Aprikose18.1.2.118086.79 Aprikose18.1.2.18412.1 Paranuss18.1.6.61805.929 Bürli12.1.2.Z.218039.632 Bürli12.1.2.Z.28448.802 Bürli12.1.2.Z.2572.032 Nahrungsmittel

35 © 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. 32/43 SELECT Nährstoff_id, Menge FROM Nahrungsmittel WHERE Nährstoff_id = 84

36 © Departement Informatik, ETH Zürich Selection + Projection + Join mit dem SQL-Befehl SELECT NameCH-CodeNährstoff_idMenge Aprikose18.1.2.118086.79 Aprikose18.1.2.18412.1 Aprikose18.1.2.1570.4 Bürli12.1.2.Z.218039.632 Bürli12.1.2.Z.28448.802 Bürli12.1.2.Z.2572.032 Id_NrName_dName_fName_iMasseinh. Hauptkomp. 57EisenFerFerromgja 84KohlehydrateHydrate de carbonCarboidrategja 180WasserEauAcquagja NM NS NM.NameNS.Name_dNM.Menge BürliWasser39.632 BürliKohlehydrate48.802 Resultat: SELECT Name, Name_d, Menge FROM NM, NS WHERE Name = Bürli AND Menge > 30 33/43

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

38 © 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 34/43

39 © Departement Informatik, ETH Zürich Statistische Datenbanken 35/43 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!

40 © Departement Informatik, ETH Zürich Von Urs Schmied (im Bild rechts) wissen wir, dass er 36/43 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

41 © 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ä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: 37/43

42 © 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" 38/43

43 © 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. 39/43

44 © Departement Informatik, ETH Zürich Gewisses Vorwissen erlaubt Rückschlüsse: Beispiel 2 NameGeschlechtBerufSpende (CHF) SchamanskiMJournalist3000 StaubMJournalist500 BertolliMUnternehmer1 OttWJournalist5000 ZwahlenWWissenschaftler1000 KollerMWissenschaftler20000 WaserWArzt2000 SchmidMAnwalt10000 Geheime Wahlspenden n = 8; bei k =2: min. Antwortgrösse = 2, max. Antwortgrösse = 6 40/43

45 © 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) 41/43

46 © 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! 42/43

47 © 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 Deshalb Zugriffe aufzeichnen (threat monitoring) Notwendiger Aufwand für Blossstellungen hoch halten 43/43

48 Wir wünschen Ihnen ein schönes Wochenende


Herunterladen ppt "Agenda für heute, 7. November 2008 DatenverwaltungDatenverwaltung Datenmodellierung Pause Datenbankentwurf Relationale Operatoren und SQL Datenschutz:"

Ähnliche Präsentationen


Google-Anzeigen