Datenbanken: Grundlagen und Trends Dr. Patrick Ziegler [email protected] http://www.ifi.uzh.ch/dbtg/ Inhalt Grundlagen & Zusammenhänge Was ist eine Datenbank, was ist ein Datenbanksystem, wozu das alles? Aufgaben von Datenbankverwaltungssystemen, Grundbegriffe, Arbeitsweise Trends Welche aktuellen Forschungsrichtungen gibt es im Datenbankbereich? 2 Beispieldatenbank ANGESTELLTER VName Kurt Beate Ruedi Boris Sonja Guiseppe Amando Mirella ABTEILUNG NName AHV# Gebtag Adresse Geschlecht Salär Vorges Abt Huesli 5908 30.12.1973 Zürich m 30000 8635 5 Tell 8635 14.01.1970 Küssnacht w 40000 6608 5 Becker 6736 24.12.1979 Wallisellen m 25000 9260 4 Frisch 9260 03.06.1981 Zug m 43000 6608 4 Maradona 7639 11.11.1974 Bern w 38000 8635 5 Wagner 2938 04.03.1979 Zürich m 25000 8635 5 Verdi 4077 19.08.1972 Dübendorf m 25000 9260 4 Freni 6608 22.06.1968 Dübendorf w 55000 NULL 1 AName Forschung Verwaltung Management ANummer 5 4 1 Leiter 8635 9260 6608 PROJEKT PName PNummer POrt Abt ProduktX 1 Zug 5 ProduktY 2 Baden 5 ProduktZ 3 Kloten 5 Informatik 10 Zürich 4 Reorganisation 20 Kloten 1 Soziales 30 Zürich 4 Anfdatum 22.05.2001 01.01.2004 19.06.2003 ABT_ORT ANummer 1 4 5 5 5 © Prof. Dr. Klaus R. Dittrich AOrt Kloten Zürich Zug Baden Kloten 3 Verwendung der Beispieldatenbank Daten abfragen – Alle Angestellten – Name und Vorname aller Angestellten, die mehr als 30'000 verdienen – Name des Abteilungsleiters der Verwaltung Neue Daten eingeben – Gründung der Marketing-Abteilung, Leitung Maradona Daten ändern – Frau Maradonas Gehalt um 3'000 erhöhen Daten löschen – Herr Wagner hat gekündigt © Prof. Dr. Klaus R. Dittrich 4 Informationsverarbeitung Sachverhalte der Realwelt (Geschäftsprozesse) Zuordnung (Steuerung) Modellierung (Abstraktion) Modelle (Informationen) algorithmische Formulierung physische Repräsentation Daten (Bezeichner) Interpretation Daten Programme Eingabe (Bezeichner) Ausgabe DV-System © Prof. Dr. Klaus R. Dittrich 5 Datenbank (DB) eine Menge zusammengehörender Daten mit folgenden Eigenschaften: dauerhaft verfügbar („Persistenz“) potentiell gross integriert verwendbar unabhängig vom Erzeugungsprogramm mehrfachbenutzbar („parallel zugreifbar”) konsistent, integer, sicher („Datenqualität”) bequem, flexibel und effizient handhabbar evtl. verteilt im Rechnernetz © Prof. Dr. Klaus R. Dittrich 6 Datenmodell (eigentlich: ein Metamodell) Menge von Konzepten zur Beschreibung der Struktur einer Datenbank ( ... der interessierenden Umwelt; <––> DDL) Data Definition Language + Operatoren zum Umgang mit entsprechender Datenbank (einfügen, ändern, löschen, wiederfinden; <––> DML) Data Manipulation Language Struktur: elementare Datenelemente zusammengesetzte Datenelemente Beziehungen zwischen Datenelementen 7 Konsistenzregeln © Prof. Dr. Klaus R. Dittrich Probleme bei Parallelbetrieb CHF 919.20 Student: am Bankomat abheben: – CHF 100 CHF 3019.20 Konto #30501217 Stand CHF 1019.20 Grossmutter: am Schalter einzahlen: + CHF 2000 1019.20 – 100.00 1019.20 + 2000.00 = 919.20 = 3019.20 korrektes Ergebnis: CHF 2919.20 © Prof. Dr. Klaus R. Dittrich 8 Datenqualitäten (Daten-) Konsistenz: korrekte Wiedergabe der Umweltsachverhalte (Ablauf-) Integrität: Abläufe erhalten Konsistenz Datensicherheit: abgeschlossene Änderungen sind garantiert z Transaktionen als Arbeitseinheiten Datenschutz: nur erlaubte Verwendung der DB möglich © Prof. Dr. Klaus R. Dittrich 9 Handhabbarkeit von Datenbanken gewünscht: bequem – flexibel – effizient „welche Daten sind gefragt?“, nicht „wie finde ich sie?“ (assoziativer Zugriff) beliebige Daten/Kombinationen auswählbar keine Kenntnisse über Geräte, Speicherung etc. notwendig keine Kenntnisse über Buchführung notwendig © Prof. Dr. Klaus R. Dittrich 10 Datenbankverwaltungssystem (Database Management System; DBMS) Software zu Betrieb und Verwaltung von Datenbanken mit den genannten Eigenschaften; realisiert insbesondere ein Datenmodell (zur Beschreibung der Daten, Umgang damit: DDL, DML; Schema) eine Anfragesprache ein Transaktionskonzept Zugriffsschutz effiziente Hintergrundspeicherverwaltung evtl. Verteilung © Prof. Dr. Klaus R. Dittrich 11 Datenmodell/Schema/Datenbank Datenschema (Datentypen & Regeln) DatenbankDatenbankentwurf entwurf Umweltsachverhalte: Strukturen & Operationen Datenbankbetrieb Datenmodell Datenmodell –– Typen, Typen,Konstruktoren Konstruktoren –– Operatoren Operatoren –– Konsistenzregeln Konsistenzregeln Datenbank © Prof. Dr. Klaus R. Dittrich 12 „Datenmodell“ © Prof. Dr. Klaus R. Dittrich 13 „Schema“ © Prof. Dr. Klaus R. Dittrich 14 „Datenbank“ © Prof. Dr. Klaus R. Dittrich 15 Inhalt Grundlagen & Zusammenhänge Was ist eine Datenbank, was ist ein Datenbanksystem, wozu das alles? Aufgaben von Datenbankverwaltungssystemen, Grundbegriffe, Arbeitsweise Trends Welche aktuellen Forschungsrichtungen gibt es im Datenbankbereich? 16 Data Warehouses Ausgangslage (die übliche Sichtweise von Datenbanken): – Datenbank ist Menge von Fakten – Benutzung: Auffinden bestimmter Fakten(mengen), allenfalls einfache Korrelationen, Bearbeitung der Ergebnisse (verändern, löschen, ...) … zur Erledigung operativer Aufgaben (OLTP) aber: – ist das allein schon eine optimale Nutzung ? – Datenbanken enthalten (meist implizit) wesentlich mehr Informationen, als durch obige Arbeitsweise ausgenutzt wird (Daten ≠ Informationen!) – dies gilt insbesondere bei zunehmend umfangreicheren Datenbanken (mehr Fakten über Unternehmen etc. in DB vorhanden) – diese Informationen können insbesondere der Entscheidungsfindung im Unternehmen dienen („decision support”) und stellen somit eine höchst wertvolle Ressource dar © Prof. Dr. Klaus R. Dittrich 17 Architektur Akquisition Speicherung Zugriff Anfragen & Berichte Data Warehouse operative Systeme Extraktion Integration Bereinigung ... Data Marts OLAP Data Mining Simulation externe Quellen ... © Prof. Dr. Klaus R. Dittrich 18 Semistrukturierte Daten strukturierte Daten semistrukturierte Daten Format Format Format • • • • • • • • • --- fest vollständig einheitlich vorgegeben z.B. typische Geschäftsdaten flexibel partiell uneinheitlich evtl. implizit unstrukturierte Daten evtl. inhaltliche Metadaten evtl. inhaltliche Metadaten z.B. Dokumente, „content” jeder Art z.B. Texte, Bilder, Audio, Video © Prof. Dr. Klaus R. Dittrich 19 Vorteile von Struktur bietet Rückgrat für Anfragen (Explizität, Einheitlichkeit, Präzision, ... ——> SQL) vereinfacht Speicherverwaltung vereinfacht Entwurf (?) jedoch auch: Bedarf nach „unscharfen” Anfragen, Variabilität, ... ... wie all das für Daten „ohne Struktur” ??? © Prof. Dr. Klaus R. Dittrich 20 Zusammenfassung Datenbanken sind Mengen zusammengehörender Daten mit bestimmten Eigenschaften – – – – – – – dauerhaft verfügbar potentiell gross integriert, verwendbar unabhängig vom Erzeugungsprogramm mehrfachbenutzbar konsistent, integer, sicher bequem, flexibel und effizient handhabbar evtl. verteilt im Rechnernetz ––> höhere Dienstqualitäten als bei Verwendung von Dateien Datenbankverwaltungssysteme (DBMS) für Betrieb und Verwaltung von Datenbanken; realisieren – – – – – – ein Datenmodell eine Anfragesprache ein Transaktionskonzept Zugriffsschutz effiziente Hintergrundspeicherverwaltung evtl. Verteilung Viele aktuelle Forschungsrichtungen, u.a. – Data Warehouses, semistrukturierte Daten 21 Weiterführende Referenzen R. Elmasri, S.B. Navathe: Grundlagen von Datenbanksystemen. Pearson, 2005 (Fundamentals of Database Systems. Addison-Wesley, 2006). A. Kemper, A. Eickler: Datenbanksysteme. Eine Einführung. Oldenbourg, 2006. G. Saake, K. Sattler, A. Heuer: Datenbanken, Konzepte und Sprachen. Mitp, 2008. Installationshinweise MySQL: http://arvo.ifi.uzh.ch/dbtg/Events/Lehrerfortbildung/Installationshinweise.pdf Beispieldatenbank: http://arvo.ifi.uzh.ch/dbtg/Events/Lehrerfortbildung/Beispieldatenbank.sql 22