Einführung in Datenbanken Dozentin: Dr. Brigitte Mathiak (mathiak@gmail.com) Übungsbetreuung: TBA
Warum sollten Sie sich für Datenbanken interessieren 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 $) Daten 100 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 1 100,000 Rechner a 500 Euro
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 R3 Ihr Bankkonto Ihre Haftpflichtversicherung The GDB Human Genome Database wer-kennt-wen Flickr, YouTube Amazon …
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 & Management 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
Junior Entwickler (w/m) IHR PROFIL Erfolgreich abgeschlossenes Studium der Informatik oder eine vergleichbare Ausbildung Sehr gute Kenntnisse in der objektorientierten Frontendentwicklung mit JSP, ExtJS, CSS, JavaScript und XML Sicherer Umgang mit einem oder mehreren MVC-Frameworks (z. B. jQuery, ExtJS) Kein Muss aber schön wären erste Erfahrungen mit dem JBoss Framework Kenntnisse in Oracle PL SQL, MySQL oder MS SQL Logisches und analytisches Denkvermögen sowie Teamfähigkeit Flüssiges Deutsch und gutes Englisch
SAP Basis- und Datenbank-Administrator (m/w) Sie haben ein abgeschlossenes Studium der Fachrichtung Informatik (UNI, FH, BA) bzw. in einer anderen adäquaten Fachrichtung oder eine vergleichbare Ausbildung mit mehrjähriger Berufserfahrung Ihre praktische Erfahrungen in der Administration von SAP Produkten unter Windows ist umfangreich, die Erfahrung im Betrieb unter UNIX (AIX und Linux) ist stabil Idealerweise haben Sie zudem gute Kenntnisse in der Administration von Oracle-, DB2- , SQL Server und MaxDB Datenbanken. Den Schwerpunkt erwarten wir auf Windows SQL, Erfahrung mit Oracle Datenbanken ist gewünscht.
Systemingenieur /-in Oracle abgeschlossenes Studium der Informatik oder vergleichbare Qualifikation mit IT-Bezug fachlich bezogene Ausbildung bzw. umfangreiche Praxiskenntnisse zu relationalen Datenbanken, fundiertes fachliches Knowhow und einschlägige Betriebserfahrung im Umfeld von Oracle-Datenbanken Grundkenntnisse zu DB2 für LUW oder Microsoft SQL von Vorteil sehr gute Kenntnisse in den Bereichen Unix-Betriebssystemen (Linux, Solaris) und Performance-Analyse (Systeme, Datenbanken) erweitertes Knowhow in der Perl-Programmierung und im Scripting auf Unix-Systemen, Basis-Know-how in Java-Programmierung
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 Datenmengen Integration mit Anwendungen
Wann und wo? Donnerstags Vorlesung in D14/204 von 16.00 bis 17.30 In x-Wochen bis 19.15 3 Übungsgruppen: Do x von 12 bis 13.30 in D14/112 Do y von 12 bis 13.30 in D14/112 Do y von 17.45 bis 19.15 in D15/202 3 Hausaufgaben abzugeben am 10.5., 31.5 und 21.6 Sie müssen alle Hausaufgaben abgeben! Davon maximal eine schlechte Abgabe Am Liebsten per Email (mathiak@gmail.com) oder in der Vorlesung an dem Tag
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 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 Sehr prüfungsrelevant! Empfehlenswert Zusatzinformation
Jetzt geht’s los!