Institute for Web Science & Technologies WeST Grundlagen der Datenbanken und Überblick Dr. Thomas Gottron Wintersemester 2012/13
Frage an das Publikum... Welche Erfahrungen gibt es mit Datenbanken? Systeme? Art der Verwendung? Warum auf Datenbank zurückgegriffen? Thomas Gottron GLDB 2012/13 2
Motivation Warum Datenbanken? Praxisrelevanz! Überall Daten Bankkonten Krankenakten Soziale Netzwerke Anmeldungen zu Vorlesung, Übung, Prüfung Buchbestand einer Bibliothek Forschungsdaten (Umfragen, Messergebnisse,...) Straßenkarten Einsatz von Informationssystemen Thomas Gottron GLDB 2012/13 3
4 Thomas Gottron GLDB 2012/13 4
Kernfragen Wie verwaltet man Daten? Intuitiv? Konsistent? Effizient? Sicher? Nebenläufig? Data & Knowledge Engineering Thomas Gottron GLDB 2012/13 5
Data Engineering Thomas Gottron GLDB 2012/13 6
Daten Information Wissen Daten: 201210171415, Informationen: 17. Oktober 2012, 14.15 Uhr,. Wissen: Vorlesung Grundlagen der Datenbanken am 17. Oktober 2012, 14.15 Uhr in E-011 Kein Wissen ohne Daten Übergang vom Daten- zum Wissensmanagement ist nahtlos Thomas Gottron GLDB 2012/13 7
Was ist Data Engineering? Systematische Vorgehensweise zum Umgang mit Daten In der Forschung Design Entwicklung Verwaltung, Evaluation von Informationssystemen In der Praxis Planung Analyse Entwurf Realisierung von Informationssystemen Thomas Gottron GLDB 2012/13 8
Was gehört zum Data Engineering? Modellierung Prozesse Algorithmen Data Engineering & Management Statistik Logik Systembau Thomas Gottron GLDB 2012/13 9
Wo benötigt man Methoden des Data Engineering? Desktop Einloggen (single sign-on) Textverarbeitung Filesystem Addressen Handy, Smartcards, Auto Eingebettete Datenbanken (z.b. für Smartcards) Banken Telekom Besser wäre die Frage: Wo benötigt man keine Methoden des Data Engineering?! Thomas Gottron GLDB 2012/13 10
Motivation für den Einsatz von Datenbank-Verwaltungssystemen Typische Probleme: Redundanz und Inkonsistenz (Frau Meier wird Frau Meier- Ross) Beschränkte Zugriffsmöglichkeiten (alle 100 Eigenschaften von Frau Meier lesen, um ihre Telefonnummer zu sehen?) Probleme beim Mehrbenutzerbetrieb (zwei Überweisungen gleichzeitig?) Sicherheitsprobleme (jeder Mitarbeiter darf jedes Gehalt sehen?) hohe Entwicklungskosten für Anwendungsprogramme (k * 100 PersJahre)...? Thomas Gottron GLDB 2012/13 11
Handhabung der Daten (historisch) Schwerpunkt der Vorlesung Postrelationale Datenmodelle Relationale Datenmodelle Satzorientierte Datenmodelle Hierarchisch / Netzwerk 90er 80er 70er Dateisysteme 60er Bänder 50er Thomas Gottron GLDB 2012/13 12
Berühmte Systeme Datenbanksysteme: Oracle DB, IBM DB2, Mysql, Postgres, Microsoft SQL Server, Microsoft Access, etc. Suchsysteme: Google, Yahoo Berühmte/interessante Anwendungen: SAP R3 Ihr Bankkonto Ihre Haftpflichtversicherung The GDB Human Genome Database wer-kennt-wen Flickr, YouTube Amazon Thomas Gottron GLDB 2012/13 13
DBMS Thomas Gottron GLDB 2012/13 14
Datenbank vs DBMS Geschäftslogik Anwendung DBMS (DB Management- System) Programme für Zugriff, Kontrolle, Konsistenz, Modifikation Datenbank Enthält Datenbasis Thomas Gottron GLDB 2012/13 15
Gegenstand der Vorlesung Wie kann ich DBMS einsetzen? Data Engineering Ordner A Ordner B File 1 File 2 Thomas Gottron GLDB 2012/13 16
Gegenstand der Vorlesung (zum kleineren Teil) O r dner A O r dner B File 1 File 2 O r dner A O r dner B File 1 File 2 Ordner A Ordner B File 1 File 2 Thomas Gottron GLDB 2012/13 17
Architekturübersicht eines DBMS Naive Nutzer Fortgeschrittene Nutzer Anwendungsprogrammierer Datenbankadministratoren Anwendung Interaktive Anfrage Präcompiler Verwaltungswerkzeug DML Compiler DDL Compiler Anfragebearbeitung Datenbankmanager Schemaverwaltung Mehrbenutzersynchronisation Fehlerbehandlung DBMS Dateiverwaltung Logdateien Indizes Datenbasis Datenwörterbuch Thomas Gottron GLDB 2012/13 18
Datenbankentwurf und Abstraktion Thomas Gottron GLDB 2012/13 19
Die Abstraktionsebenen des Datenbankentwurfs Konzeptuelle Ebene Wie sieht die Welt aus? Logische Ebene Welche Strukturen werden von der Anwendung manipuliert? Physische Ebene Wie wird gespeichert? Thomas Gottron GLDB 2012/13 20
Die Abstraktionsebenen des Datenbankentwurfs Konzeptuelle Ebene Logische Ebene Studenten sind Personen mit Matrikel-Nr 1 Tabelle für Uni-Angehörige und 1 Tabelle für Studenten, mit Verbindungen Physische Ebene Element mit Matrikel-Nr 1234567 wird abgelegt auf Block 19 Thomas Gottron GLDB 2012/13 21
Die Abstraktionsebenen eines DBMS Sicht 1 (Verwaltung)... Sicht k (Bibliothek) Logische Ebene Datenunabhängigkeit: physische Unabhängigkeit logische Datenunabhängigkeit Physische Ebene Thomas Gottron GLDB 2012/13 22
Datenmodellierung Ausschnitt der realen Welt Intellektuelle Modellierung Konzeptuelles Schema (ER-Modell) Relationales Schema Objektorientiertes Schema Semi-automatische Transformation Netzwerk Schema Thomas Gottron GLDB 2012/13 23
Logische Datenmodelle Netzwerkmodell Hierarchisches Datenmodell Relationales Datenmodell Objektorientiertes Datenmodell Deduktives Datenmodell 24 Thomas Gottron GLDB 2012/13 24
Modellierung einer Beispielanwendung Studenten Vorlesungen Dozenten Welche Eigenschaften? Welche Beziehungen? Welche weiteren wichtigen Objekte? Thomas Gottron GLDB 2012/13 25
Modellierung einer Beispielanwendung reale Welt: Hochschule Studenten, Vorlesungen, Professoren... Konzeptuelle Modellierung MatrNr Name Semester Studenten Professoren hören lesen VorlNr Vorlesungen Titel PersNr Name SWS Thomas Gottron GLDB 2012/13 26
Das relationale Datenmodell Studenten MatrNr Name 26120 25403... Fichte Jonas... hören MatrNr VorlNr 25403 5022 26120 5001...... Nr 5001 5022... Vorlesungen Titel Grundzüge Glaube und Wissen... Select Name From Studenten, hören, Vorlesungen Where Studenten.MatrNr = hören.matrnr and hören.vorlnr = Vorlesungen.Nr and Vorlesungen.Titel = `Grundzüge ; update Vorlesungen set Titel = `Grundzüge der Logik where Nr = 5001; Thomas Gottron GLDB 2012/13 27
DB-Anfragen: Flexibilität Eine Bedingung spezifiziert die entsprechende Teilmenge der Treffer (Tupeln, Dokumente, ) in der Datenbank. Boolsche Operationen (AND; OR; NOT) werden verwendet, um Bedingungen / Treffermengen zu kombinieren. Wieviele unterschiedliche Teilmengen der Datensammlung lassen sich mit 3 unterschiedlichen Bedingungen spezifizieren? Kombinationsmöglichkeiten a) 7 b) 8 c) 16 d) 256 1 4 2 3 5 6 7 8 für 8 Teilmengen: (0 0 0 0 0 0 0 0) bis (1 1 1 1 1 1 1 1) 2 8 = 256 Thomas Gottron GLDB 2012/13 28
Lernziele Die Studierenden verstehen die Arbeitsweise relationaler Datenbankverwaltungssysteme. Sie können den Einsatz eines solchen Systems konzipieren und realisieren. Sie können aufgrund ihres Wissens zur Arbeitsweise relationaler Datenbanksysteme mögliche auftretende Engpässe im Verhalten eines Datenbankmanagementsystems analysieren und vermeiden oder umgehen. Sie sind in der Lage Methoden aus dem Datenmanagement in ihre eigenen Systeme zu übernehmen und diese Methoden sowie das System Relationale Datenbankverwaltung in der Praxis einzusetzen. Thomas Gottron GLDB 2012/13 29
Zusammenfassung Informationssysteme haben hohe Praxisrelevanz Helfen typische Problemstellungen zu bewältigen Datenbank DBMS Vorteile durch Abstraktion in Modellierung SQL als Standard -Sprache Thomas Gottron GLDB 2012/13 30
Fragen? gottron@uni-koblenz.de http://west.uni-koblenz.de/teaching/ws1213/datenbanken Thomas Gottron GLDB 2012/13 31