Einführung in Datenbanken Dozentin: Dr. Brigitte Mathiak ([email protected]) Übungsbetreuung: TBA 1 Warum sollten Sie sich für Datenbanken interessieren? (1 min; Jeder für sich mit Zettel und Stift) 2 Warum sollten Sie sich für Datenbanken interessieren? Daten sind wertvoll 3 Wertvolle Daten Addressdaten Personaldaten Kundendaten (einer Bank…) Umfragedaten Warenbestandsdaten Transaktionsdaten (Telefonanrufe, Einkäufe,…) Konstruktionsdaten (Auto, Motor, Kugellager,…) Geoinformationsdaten (Straßen, Leitungen, Flüsse, Immissionen,…) …. 4 Kosten / Wert 100 Daten Google (Börsenwert 174,8 Mrd $) Google kauft YouTube für 1.6 Mrd $ (2006) für Software (?), die Google selbst hat 10 Software Bekannte Suchalgorithmen + Data Management 1 Hardware 100,000 Rechner a 500 Euro 5 Warum sollten Sie sich für Datenbanken interessieren? Daten sind wertvoll In fast jeder größeren Applikation steckt heutzutage eine Datenbank 6 7 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 … 8 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 9 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 10 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?! 11 Data Engineering Modellierung Prozesse Algorithmen Data Engineering & Management Logik Statistik Systembau 12 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 13 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 MVCFrameworks (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 14 SAP Basis- und DatenbankAdministrator (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. 15 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 JavaProgrammierung 16 Kernfragen Wie verwaltet man Daten? Intuitiv? Konsistent? Effizient? Sicher? Nebenläufig? → Data & Knowledge Engineering 17 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 18 Aufgaben Theoretische Aufgaben Orientiert am Vorlesungsstoff Praktische Aufgaben Erstellen und Benutzen einer DB Umgang mit einfachen Datenmengen Integration mit Anwendungen 19 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 ([email protected]) oder in der Vorlesung an dem Tag 20 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) 21 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 DatenbankManagement-Systeme. Oldenbourg, 2001. 22 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. 23 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. 24 Die Lernampel Sehr prüfungsrelevant! Empfehlenswert Zusatzinformation 25 Jetzt geht’s los! 26