Agenda für heute, 20. November 2009 Daten verwalten (2): Drei Stufen der Datenverwaltung • Daten verwalten (2) • Logische Verknüpfungen als Grundlage für die Informationsgewinnung • Werte von Aussagen: Wahrheitstabellen • Grafische vs. formale Darstellung von Abfragen • Boolesche Algebra Anwendung Informatik • Daten organisieren g • Entity-Relationship-Modell y p • Daten speichern • Datenbanken • Daten wieder gewinnen • Abfragen (z.B. mit SQL) • Daten reorganisieren • Logische Verknüpfungen • Daten austauschen • Datenformate • Daten umformen • Standards 2/25 © Departement Informatik, ETH Zürich Daten organisieren, Daten speichern: Relationale Datenbank Ursprüngliche Information • Normalisieren Daten verwalten (2) • Logische Verknüpfungen als Grundlage für die Informationsgewinnung • Werte von Aussagen: Wahrheitstabellen • Grafische vs. formale Darstellung von Abfragen • Boolesche Algebra R l ti Relationen Relationale Operatoren (Select, Project, Join) Umstrukturierte Information 3/25 © Departement Informatik, ETH Zürich Wiedergewinnen von Information: Aussagenlogik Elemente der Aussagenlogik Welche Nahrungsmittel enthalten weniger als 2 mg Eisen? • Eine Aussage hat einen Wahrheitswert ("wahr", "falsch") • Aussagen können aus Teilaussagen zusammengesetzt sein Datenbankabfrage Nährstoff = Eisen Name in Nahrungsmittel mit Nährstoff = Eisen und Menge < 2 Nährstoff = Eisen ausgewertet mit Tupel einer Datenbank wahr falsch (z.B. 3.4mg Eisen) ( B 1.7mg (z.B. 17 K Kalzium) l i ) 4/25 Menge < 2 • Diese Teilaussagen sind durch logische Operatoren verknüpft Aussage (z.B. 1.7mg Eisen) und and Menge < 2 Der Wahrheitswert einer zusammengesetzten Aussage ist vollständig durch die Wahrheitswerte der Teilaussagen und die Art der Verknüpfung gegeben. 5/25 © Departement Informatik, ETH Zürich © Departement Informatik, ETH Zürich Logische Operatoren p und q sind Teilaussagen (logische Operanden) z.B. p steht für: Nährstoff = Eisen q steht für: Menge < 2 • Daten verwalten (2) • L i h V Logische Verknüpfungen k ü f als l G Grundlage dl fü für di die IInformationsgewinnung f ti i • Werte von Aussagen: Wahrheitstabellen • UND Konjunktion: "sowohl p als auch q" p and q • ODER Disjunktion: "entweder p oder q" p or q • NICHT Negation: N ti " i ht p"" "nicht not p 6/25 © Departement Informatik, ETH Zürich • Grafische vs. formale Darstellung von Abfragen • Boolesche Algebra Werte von Aussagen: Wahrheitstabellen Wahrheitstabelle für die Konjunktion • Logische L i h V Verknüpfungen k ü f anschaulich h li h spezifizieren ifi i Symbole: und, and, •, ∩ g Kombination von Wahrheitswerten wird • Für jjede mögliche das Resultat der Verküpfung aufgelistet p q p and q p q Verknüpfung von p mit q w w w w w x w f f w f x f w f f w x f f f f f x Die erste Zeile ist eine Kurzform für: "Falls p wahr ist und q wahr ist, dann ist p and q wahr Für alle Zeilen: wenn p dann q sonst falsch w = wahr, f = falsch 7/25 Wahrheitstabelle für die Disjunktion q p or q w w w w f w f w w f f f Beachte: B ht p or q ist i t nur dann d ffalsch l h wenn beide Teilaussagen falsch sind Für alle: wenn p dann wahr sonst q 9/25 © Departement Informatik, ETH Zürich Beispiele Symbole: oder, or, +, ∪ p 8/25 © Departement Informatik, ETH Zürich © Departement Informatik, ETH Zürich Eisen ist magnetisch and Gold ist gelb ist wahr wahr and wahr Eisen ist magnetisch and Gold ist magnetisch ist falsch wahr and falsch Eisen ist magnetisch or Gold ist gelb ist wahr wahr or wahr Eisen ist magnetisch or Gold ist magnetisch wahr or falsch ist wahr Eisen ist gelb or Gold ist magnetisch ist falsch 10/25 falsch or falsch © Departement Informatik, ETH Zürich Wahrheitstabelle für die Negation Bemerkungen zur Disjunktion Umgangssprachlich bedeutet "oder" meistens: p oder q oder beide (sie ist intelligent oder sie studiert jede Nacht) Symbole: nicht, not, ¬ p not p w f f w p or q bedeutet immer "p oder q oder beide" (siehe Wahrheitstabelle) manchmal bedeutet "oder" oder jedoch: p oder q aber nicht beide (sie telefoniert aus Basel oder aus Genf) fü di für diese B Bedeutung d t wird i d di die exklusive kl i Di Disjunktion j kti (xor) ( ) angewandt dt Vorrangregelung der logischen Operatoren : 1. not 2. and 3. or 4. Vergleiche p or q and r Kann durch Setzen von Klammern Kl aufgehoben werden ≠ (p or q) and r 11/25 p q p xor q w w f w f w f w w f f f 12/25 © Departement Informatik, ETH Zürich Disjunktion oder exklusive Disjunktion? Beachte: p xor q ist dann falsch wenn beide Teilaussagen entweder falsch oder richtig sind. Das neue Plakat Genauer: drink xor drive Aber stimmt das? Genauer: drink and < 1 Glas xor drive Stimmts jetzt? Genauer: (drink and ≤ 1 Glas and drive) or (drink and > 1 Glas and not drive) 13/25 © Departement Informatik, ETH Zürich © Departement Informatik, ETH Zürich © Raphael Theiler 14/25 © Departement Informatik, ETH Zürich Ein paar Spezialfälle Logische Äquivalenzen not p or not q ≡ not ( p and q ) not p and not q ≡ not ( p or q ) ((de Morgan) g ) Tautologie Widerspruch p or not p p and not p • L i h V Logische Verknüpfungen k ü f als l G Grundlage dl fü für di die IInformationsgewinnung f ti i • Werete von Aussagen: Wahrheitstabellen • Boolesche Algebra not p p or not p p not p p and not p w f w w f f f w w f w f © Departement Informatik, ETH Zürich Grafische vs. formale Darstellung logischer Verknüpfungen W l h Nahrungsmittel Welche N h itt l enthalten th lt weniger i als l 2 mg Eisen oder Zink? Mengendiagramme Daten verwalten (2) • Grafische G fi h vs. formale f l Darstellung D t ll von Abfragen Abf p 15/25 • Grafische vs. formale Darstellung logischer Verknüpfungen (Menge < 2 mg) and (Nährstoff = Eisen) or (Nährstoff = Zink) Alle Nahrungsmittel mit Zink Alle Nahrungsmittel mit Eisen Menge and Eisen Eisen Alle Nahrungsmittel mit Menge < 2 mg Logischer Ausdruck Zink Menge (Menge < 2 mg) and (Nährstoff = Eisen) or (Nährstoff = Zink) 16/25 © Departement Informatik, ETH Zürich 17/25 © Departement Informatik, ETH Zürich Grafische vs. formale Darstellung logischer Verknüpfungen W l h Nahrungsmittel Welche N h itt l enthalten th lt weniger i als l 2 mg Eisen oder weniger als 2 mg Zink? Wahrheitstabellen für die Analyse logischer Ausdrücke (M (Menge < 2 mg)) and (( Nährstoff Näh t ff = Eisen) Ei ) or (Nährstoff (Näh t ff = Zi Zink)) k)) Logischer Ausdruck (Nährstoff = Eisen) and (Menge < 2 mg) or (Nährstoff = Zink) and (Menge < 2 mg) 18/25 < 2 mg Eisen Zink Eisen or Zink (Eisen or Zink) and < 2 mg W W W W W W W F W W W F W W W W F F F F F W W W F F W F W F F F W W F F F F F F 19/25 © Departement Informatik, ETH Zürich © Departement Informatik, ETH Zürich Wahrheitstabellen für die Analyse logischer Ausdrücke (Menge < 2 mg) and ( Nährstoff = Eisen) or (Nährstoff = Zink) < 2 mg Eisen Zink < 2 mg and Eisen • Daten verwalten (2) < 2 mg and Eisen or Zink • L i h V Logische Verknüpfungen k ü f als l G Grundlage dl fü für di die IInformationsgewinnung f ti i • Werte von Aussagen: Wahrheitstabellen Grafische vs vs. formale Darstellung von Abfragen W W W W W • W W F W W • Boolesche Algebra W F W F W W F F F F F W W F W F W F F F F F W F W F F F F F 20/25 © Departement Informatik, ETH Zürich Boolesche Algebra Boolesche Algebra Eine Menge M mit zwei Verknüpfungen "•" und "+" heisst Boolesche* Algebra, wenn für alle x, y, z ∈ M gilt: (1) x • (y ( • z)) = (x ( • y)) • z; A Assoziativ i i (2) x + (y + z) = (x + y) + z; Assoziativ (3) x • y = y • x; Kommutativ (4) x + y = y + x; Kommutativ (5) x • (x + y) = x; Absorption (6) x + (x • y) = x; Absorption (8) x • (y + z) = (x • y) + (x • z); Distributiv ((8)) x + (y • z)) = ((x + y) • ((x + z); ) Distributiv (9) es gibt ein Element 0 ∈ M mit 0 • x = 0 und 0 + x = x für alle x ∈ M ; N t l El Neutrales Elementt (10) es gibt ein Element 1 ∈ M mit 1 • x = x und 1 + x = x für alle x ∈ M ; N t l El Neutrales Elementt (11) zu jedem x ∈ M existiert genau ein y ∈ M mit x • y = 0 und x + y = 1; Komplementäres Element Wir ersetzen "wahr" wahr mit "1" 1 und "falsch" falsch mit "0" 0 und wenden die Boolesche Algebra auf logische Ausdrücke an. * nach George Boole Boole, englischer Mathematiker Mathematiker, 1815 – 1864 21/25 22/25 © Departement Informatik, ETH Zürich Vereinfachung logischer Ausdrücke © Departement Informatik, ETH Zürich Vereinfachung logischer Ausdrücke Wir möchten einen Fruchtsalat mit Ananas und Bananen oder mit Ananas und keinen Bananen oder mit keinen Ananas und keinen Bananen. Bananen Können wir das einfacher sagen? Was sagen wir überhaupt? Ananas und Banane oder Ananas und keine Banane oder keine Ananas und keine Banane Ananas und Banane oder Ananas und keine Banane oder keine Ananas und keine Banane 1. 2. 3. 4. 5. 6. 7 7. (A • B) + (A • ¬B) + (¬A • ¬B) [A • (B + ¬B)] + (¬A • ¬B) (A • 1) + (¬A • ¬B) A + (¬A • ¬B) (A + ¬A) A) • (A + ¬B) B) 1 • (A + ¬B) A + ¬B B Distributivgesetz komplementäres Element bez. + neutrales Element bez. • Di ib i Distributivgesetz komplementäres Element bez. + ne trales Element be neutrales bez. • Ananas oder keine Banane Aber . . . sind der 1. und der 7. Ausdruck auch äquivalent? 23/25 © Departement Informatik, ETH Zürich 24/25 © Departement Informatik, ETH Zürich Verifizierung logischer Ausdrücke 1. Ausdruck: A B ((A • B) + (A • ¬B)) + (¬A • ¬B) 1 1 1 1 1 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 Schritt: 1 2 1 5 1 3 1 6 1 4 1 7. Ausdruck: Reihenfolge: 1. Aussage g 2. Logischer Ausdruck (Symbole) 3. Boolesche Algebra 4 Ausdruck evaluieren 4. 25/25 A B A + ¬B 1 1 1 1 0 1 0 1 1 1 0 1 0 0 0 0 0 0 1 1 Schritt: 1 2 1 © Departement Informatik, ETH Zürich