400 likes | 564 Views
Datenbanken für Mathematiker. Dozent: Dr. Brigitte Mathiak (mathiak@gmail.com) Übungsbetreuung: Lisa Schehlmann. Warum sollten Sie sich für Datenbanken interessieren? (1 min; Jeder für sich mit Zettel und Stift). Warum sollten Sie sich für Datenbanken interessieren?. Daten sind wertvoll.
E N D
Datenbanken für Mathematiker Dozent: Dr. Brigitte Mathiak (mathiak@gmail.com) Übungsbetreuung: Lisa Schehlmann
Warum sollten Sie sich für Datenbanken interessieren? (1 min; Jeder für sich mit Zettel und Stift)
Warum sollten Sie sich für Datenbanken interessieren? • Daten sind wertvoll
Wertvolle Daten • Addressdaten • Personaldaten • Kundendaten (einer Bank…) • Umfragedaten • Warenbestandsdaten • Transaktionsdaten (Telefonanrufe, Einkäufe,…) • Konstruktionsdaten (Auto, Motor, Kugellager,…) • Geoinformationsdaten (Straßen, Leitungen, Flüsse, Immissionen,…) • ….
Kosten / Wert Google (Börsenwert 174,8 Mrd $) Google kauft YouTube für 1.6 Mrd $ (2006) für Software (?), die Google selbst hat Daten 100 Software Bekannte Suchalgorithmen + Data Management 10 Hardware 100,000 Rechner a 500 Euro 1
Warum sollten Sie sich für Datenbanken interessieren? • Daten sind wertvoll • In fast jeder größeren Applikation steckt heutzutage eine Datenbank
Berühmte Systeme • Datenbanksysteme: Oracle DB, IBM DB2, Mysql, Postgres, Microsoft SQL Server, Microsoft Access, etc. • Suchsysteme:Google, Yahoo • Berühmte/interessante Anwendungen:SAP R3Ihr BankkontoIhre HaftpflichtversicherungThe GDB Human Genome Databasewer-kennt-wenFlickr, YouTubeAmazon…
Warum sollten Sie sich für Datenbanken interessieren? • Daten sind wertvoll • In fast jeder größeren Applikation steckt heutzutage eine Datenbank • Datenmodellierung ist ein wichtiges Thema
Daten – Information – Wissen • Wissen: Vorlesung „Datenbanken für Mathematik“ am 5. Oktober 2011, Block 3 in C10 8.02 • Informationen: „5. Oktober 2011, Block 3“, …. • Daten: „2011100503C108.02“,… Kein Wissen ohne Daten Übergang vom Daten- zum Wissensmanagement ist nahtlos
Wo benötigt man Methoden des Data Engineering? • Desktop • Einloggen (single sign-on) • Textverarbeitung • Filesystem • Addressen • Handy, Smartcards, Auto • Nein, aber oft schmerzlich vermisst! → Neuere Entwickungen:Eingebettete Datenbanken (z.B. für Smartcards) • Banken • Telekom • … • Besser wäre die Frage: Wo benötigt man keine Methoden des Data Engineering?!
Data Engineering Prozesse Modellierung Data Engineering & Management Statistik Algorithmen Logik Systembau
Warum sollten Sie sich für Datenbanken interessieren? • Daten sind wichtig! • In fast jeder größeren Applikation steckt heutzutage eine Datenbank • Datenmodellierung ist ein wichtiges Thema • Bei vielen Arbeitgebern und vielen Arbeitsfeldern ein Muss
Berater (mw) • Naturwissenschaftler (mw), Mathematiker (m/w), … • Sie sind eine kommunikationsstarke Persönlichkeit mit fundiertem IT-Know-How und Erfahrung im Infrastruktur Projektumfeld. Wünschenswert sind entsprechende Erfahrungen in den folgenden Bereichen:Schnittstellen- u. Systemintegrationslösungen • Programmiersprachen: Java/J2EE, C/C++, VB, C# • Skriptsprachen: UNIX-Shells, Perl, Python,Tcl/Tk • RDBMS: MS-SQL Server, Sybase, Oracle • …
Hochschulabsolvent(inn) mit Schwerpunkt Mathematik, Physik, Geographie, Informatik oder Betriebswirtschaft • Ihr Profil: • Naturwissenschaftliches bzw. technisches Studium, beispielsweise mit Schwerpunkt Mathematik, Physik, Geographie oder Informatik, oder Betriebswirtschaftliches Studium • Technische Affinität sowie sehr gute Kenntnisse des MS Office Paketes • Idealerweise erste Erfahrung mit Datenbanken (SQL-Server) und/oder Programmierung (v.a. C#) • Sehr gute analytische Fähigkeiten • …
Kernfragen • Wie verwaltet man Daten? • Intuitiv? • Konsistent? • Effizient? • Sicher? • Nebenläufig? → Data & Knowledge Engineering
Ziele der Vorlesung • Analytisches Verständnis des Data Engineering • Kenntnisse verschiedener Datenbankparadigmen • Erweiterte Kenntnisse der Standard-Datenbankanfragesprache SQL Didaktische Methoden • Vorlesung (v.a. sinnvoll durch mitdenken und fragen!) • Papierübung: analytisches Verständnis • Praxisübung: Umgang mit praktischen Problemen • Arbeit in mehreren Teams • Übernahme von Verantwortung für die Arbeit anderer
Aufgaben • Theoretische Aufgaben • Orientiert am Vorlesungsstoff • Praktische Aufgaben • Erstellen und Benutzen einer DB • Umgang mit einfachen, aber realistischen Datenmengen • Integration mit Anwendungen
Wann und wo? • Mittwochs Vorlesung im Block 3 in C10 8.02 • 14-tägig Vorlesung auch schon im Block 2 • 19.10, 2.11, 16.11, 30.11, 14.12, 11.1, 25.1 • Labore direkt im Anschluss in den Blöcken 4 und 5 in D15 202 • Sie sind aufgeteilt in insgesamt 4 Gruppen, also für Sie jeweils ein Übungsblock alle 14 Tage • Es gibt 6 Aufgabenblätter, diese sind schriftlich zu bearbeiten • Sie müssen alle abgeben und davon 5 erfolgreich
Folgendes Buch liegt der Vorlesung zugrunde: Alfons Kemper und Andre Eickler Oldenbourg Verlag, München, 2009 7. aktualisierte und erweiterte Auflage Die Folien wurden weitgehend von den Autoren übernommen. (Siehe auch http://www-db.in.tum.de/research/publications/books/DBMSeinf) Weitere Folien und Ideen stammen von Sergej Sikov, York Sure-Vetter, Donald Kossmann und dem Internet (insbesondere Wikipedia)
Literatur: • A. Kemper , A. Eickler Datenbanksysteme – Eine Einführung. Oldenbourg Verlag, 2009. 7. Auflage. • A. Silberschatz, H. F. Korth und S. Sudarshan Database System Concepts, 4. Auflage, McGraw-Hill Book Co., 2002. • R. Elmasri, S.B. Navathe: Fundamentals of Database Systems, Benjamin Cummings, Redwood City, Ca, USA, 2. Auflage, 1994 • R. Ramakrishnan, J. Gehrke: Database Management Systems, 3. Auflage, 2003. • G. Vossen : Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme. Oldenbourg, 2001.
D. Maier: The Theory of Relational Databases. Computer Science Press. 1983. S. M. Lang, P.C. Lockemann: Datenbankeinsatz. Springer Verlage, 1995. C. Batini, S. Ceri, S.B. Navathe: Conceptual Database Design, Benjamin Cummings, Redwood City, Ca, USA, 1992. C. J. Date: An Introduction to Database Systems. McGraw-Hill, 8. Aufl., 2003. J.D. Ullmann, J. Widom: A First Course in Database Systems, McGraw Hill, 2. Auflage, 2001.
A. Kemper, G. Moerkotte: Object-Oriented Database Management: Applications in Engineering and Computer Science, Prentice Hall, 1994 E. Rahm: Mehrrechner-Datenbanksyseme. Addison-Wesley, 1994. P. Dadam: Verteilte Datenbanken und Client/Server Systeme. Springer Verlag, 1996 G. Weikum, G. Vossen: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control. Morgan Kaufmann, 2001. T. Härder, E. Rahm: Datenbanksysteme – Konzepte und Techniken der Implementierung, 2001.
Die Lernampel Zusatzinformation Empfehlenswert Sehr prüfungsrelevant!
Handhabung der Daten (historisch) Schwerpunkt der Vorlesung PostrelationaleDatenmodelle 90er Relationale Datenmodelle 80er Satzorientierte Datenmodelle (Codasyl) 70er Dateisysteme 60er Bänder 50er
Motivation für den Einsatz eines Datenbank-Verwaltungssystems • 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) • ......... ?
Warum Datenbanken als separates Stück Software? • Diese Probleme treten in sehr vielen Applikationen auf • Sie sind sehr komplex, wenn man sie sauber lösen will • Eine spezialisierte Software nimmt dem Programmierer die Arbeit ab und vermeidet so Fehler und Aufwand • Nach fast 30 Jahren Entwicklung sind relationale Datenbanken das wohl ausgereifteste Stück Software das es weltweit gibt • Trotzdem gibt es aktive Forschung und Entwicklung auf dem Gebiet um noch etwas schneller, noch besser auf neue Datenformen und Schnittstellen angepasst zu sein
Datenbank vs DBMS Anwendung DBMS (DB Management-System) Datenbank
Gegenstand der Vorlesung Wie kann ich DBMS einsetzen? Data Engineering
Die Abstraktionsebenen des Datenbankentwurfs Konzeptuelle Ebene Wie sieht die Welt aus ? Welche Strukturen werden von der Anwendung manipuliert? Logische Ebene Physische Ebene Wie wird gespeichert ?
Die Abstraktionsebenen des Datenbankentwurfs Studenten sind Personen mit Matrikel-Nr Konzeptuelle Ebene 1 Tabelle für Uni-Angehörige und 1 Tabelle für Studenten, mit Verbindungen Logische Ebene Physische Ebene Element mit Matrikel-Nr 1234567 wird abgelegt auf Block 19
Datenmodellierung Ausschnitt der realen Welt Intellektuelle Modellierung Konzeptuelles Schema (UML-Modell) Semi-automatische Transformation Relationales Schema Objektorientiertes Schema Netzwerk Schema
Die Abstraktionsebenen eines DBMS ... Sicht 1 (Verwaltung) Sicht k (Bibliothek) Logische Ebene Physische Ebene • Datenunabhängigkeit: • physische Unabhängigkeit • logische Datenunabhängigkeit
Modellierung einer Beispielanwendung reale Welt: Hochschule Studenten, Prüfungen, Professoren... Konzeptuelle Modellierung hören * * Studenten Professoren Vorlesung
Logische Datenmodelle • Netzwerkmodell • Hierarchisches Datenmodell • Relationales Datenmodell • Objektorientiertes Datenmodell • Deduktives Datenmodell
Das relationale Datenmodell 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;
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? a) 7 b) 8 c) 16 d) 256 2 3 1 5 6 4 8 7 Kombinationsmöglichkeiten für 8 Teilmengen: (0 0 0 0 0 0 0 0) bis (1 1 1 1 1 1 1 1) 28 = 256