Datenbanken: Grundlagen und Trends Dr. Patrick Ziegler pziegler@ifi.uzh.ch 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 NName AHV# Gebtag Adresse Geschlecht Salär Vorges Abt Kurt Huesli 5908 30.12.1973 Zürich m 30000 8635 5 Beate Tell 8635 14.01.1970 Küssnacht w 40000 6608 5 Ruedi Becker 6736 24.12.1979 Wallisellen m 25000 9260 4 Boris Frisch 9260 03.06.1981 Zug m 43000 6608 4 Sonja Maradona 7639 11.11.1974 Bern w 38000 8635 5 Guiseppe Wagner 2938 04.03.1979 Zürich m 25000 8635 5 Amando Verdi 4077 19.08.1972 Dübendorf m 25000 9260 4 Mirella Freni 6608 22.06.1968 Dübendorf w 55000 NULL 1 ABTEILUNG AName ANummer Leiter Anfdatum Forschung 5 8635 22.05.2001 Verwaltung 4 9260 01.01.2004 Management 1 6608 19.06.2003 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 ABT_ORT ANummer AOrt 1 Kloten 4 Zürich 5 Zug 5 Baden 5 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 4
Informationsverarbeitung Sachverhalte der Realwelt (Geschäftsprozesse) physische Repräsentation Modellierung (Abstraktion) Daten (Bezeichner) Modelle (Informationen) algorithmische Formulierung Programme Zuordnung (Steuerung) Interpretation Daten (Bezeichner) Eingabe Ausgabe DV-System 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 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
Probleme bei Parallelbetrieb Student: am Bankomat abheben: CHF 100 CHF 919.20 CHF 3019.20 Konto #30501217 Stand CHF 1019.20 Grossmutter: am Schalter einzahlen: + CHF 2000 1019.20 100.00 = 919.20 1019.20 + 2000.00 = 3019.20 korrektes Ergebnis: CHF 2919.20 8
Datenqualitäten (Daten-) Konsistenz: korrekte Wiedergabe der Umweltsachverhalte (Ablauf-) Integrität: Abläufe erhalten Konsistenz Datensicherheit: abgeschlossene Änderungen sind garantiert Transaktionen als Arbeitseinheiten Datenschutz: nur erlaubte Verwendung der DB möglich 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 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 11
Datenmodell/Schema/Datenbank Datenschema (Datentypen & Regeln) Datenbankbetrieb Datenbankentwurf Strukturen & Operationen Datenmodell Typen, Typen, Konstruktoren Konstruktoren Operatoren Operatoren Konsistenzregeln Konsistenzregeln Umweltsachverhalte: Datenbank 12
Datenmodell 13
Schema 14
Datenbank 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 17
Architektur Akquisition Speicherung Zugriff Anfragen & Berichte operative Systeme Extraktion Integration Bereinigung... Data Warehouse Data Marts OLAP Data Mining Simulation externe Quellen... 18
Semistrukturierte Daten strukturierte Daten semistrukturierte Daten unstrukturierte Daten Format fest vollständig einheitlich vorgegeben Format flexibel partiell uneinheitlich evtl. implizit Format --- evtl. inhaltliche Metadaten evtl. inhaltliche Metadaten z.b. typische Geschäftsdaten z.b. Dokumente, content jeder Art z.b. Texte, Bilder, Audio, Video 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??? 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