WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Ihr Dozent ... Name: Ausbildung: Bojan Milijaš Diplom-Informatiker Universität Passau, Vertiefungsgebiet Datenbanken, Prof. Alfons Kemper, Ph.D. Beschäftigung: Seit 1997 bei ORACLE Deutschland GmbH, Business Development Representative bei Oracle Sales © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 2 WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 „Fahrplan“ Organisatorisches Vorlesungen Übungen Literatur Praktikum Was erwarten Sie? Wünsche, Erwartungen, Befürchtungen ... Was erwartet Sie? Lehrinhalte, worauf wird es ankommen Motivation und Einführung in Datenbanken Informationsverarbeitung mit und ohne Datenbanken Grundlegende Begriffe: DBMS, DBA © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 3 WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung Einteilung Besprechung der Übungsaufgaben „Fahrplan“ (kann u.U. verändert werden) Vorstellung des Lehrstoffs Fazit und Ausblick für die nächste Vorlesung Spielregeln Lösungen zu Übungsaufgaben werden von Studenten präsentiert Fragen sind jederzeit erlaubt und willkommen (sowohl vom Dozent als auch von Studenten) © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 4 WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Übungen Übungsblätter werden nach jeder Vorlesung verteilt ... nicht korrigiert ... in der darauffolgenden Vorlesung besprochen wichtig als Selbstkontrolle und Selbsteinschätzung Vorbereitung für die Klausur enthalten zugelassen Hilfsmitteln und Sternaufgaben (*) © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 5 WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Literatur Lehrbücher (Deutsch) Kemper / Eickler, Datenbanksysteme, Oldenburg Verlag Lehrbücher (Englisch) Ramakrishnan, Database Management Systems, McGrawHill A. Silberschatz, H. F. Korth und S. Sudarshan, Database System Concepts, McGraw-Hill C. J. Date: An Introduction to Database Systems. McGrawHill J.D. Ullmann, J. Widom: A First Course in Database Systems, McGraw Hill Skript von Prof. Schwenkert, Materialien Prof. Staudt ! Internet: Wikipedia, White Papers, Blogs, Posts, ... © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 6 WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Praktikum scheinpflichtig !!! 2 bis 3 Studenten bilden ein Team Einteilung in zwei Gruppen Gruppe 1: Fr 17:00 – 18:30 (R 2.009) Gruppe 2: Fr 18:45 – 20:15 (R 2.009) SQL Abfragen Datenbankprogrammierung JDBC, ODBC, XML, SOA, PHP etc. je nach Bedarf und Interesse © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 7 Was erwarten Sie WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 ... von dieser Vorlesung? 1. 2. 3. Nach dem Studium-Abschluss? 1. Finde ich einen Job? 2. Welche Tätigkeit werde ich ausüben? 3. Wie hoch wird mein Einstiegsgehalt? © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 8 Was erwartet Sie WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 (in dieser Vorlesung) Standard- Datenbankstoff, wie in jedem Datenbank-Einführungsbuch der neueren Ausgabe (siehe Literatur), Ausgenommen: ER-Modellierung, Normalformen Beispiele, die zeit- und praxisnah sind!!! © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 9 Worauf wird es ankommen WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Motivation ist die Voraussetzung Relationales Modell, Relationale Algebra, SQL, SQL, SQL SQL Abfragen Daten-Manipulation mit SQL (DML – data manipulation language) Daten-Definition mit SQL (DDL – data definition language) Embedded SQL Weitere Datenbank-Schnittstellen (ODBC, JDBC etc.) Physische Datenbank-Organisation (TabellenAufbau, Indizies etc.) © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 10 Motivation und Einführung (1) Datenverarbeitung ohne Datenbanken !!! Inkonsistenz Integritätsverletzung © Bojan Milijaš, 07.11.2011 WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 !!! Datenverlust Keine Sicherheit Fehlender Zugriff Vorlesung #1 - Einführung 11 Motivation und Einführung (2) Datenverarbeitung mit Datenbanken WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Datenbank sorgt (automatisch) für: •Daten-Konsistenz •Integrität der Daten •adäquaten Zugriff •MehrbenutzerSynchronisation •Sicherheit •Recovery © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 12 Motivation und Einführung (3) Datenverarbeitung ohne Datenbanken WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Informationsablauf in einem Unternehmen Service Vertrieb Marketing © Bojan Milijaš, 07.11.2011 Buchhaltung Vorlesung #1 - Einführung 13 Motivation und Einführung (4) Datenverarbeitung mit Datenbanken WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Service Vertrieb Buchhaltung Marketing © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 14 Motivation und Einführung (5) Datenverarbeitung ohne Datenbanken WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Unkontrollierte Redundanzen und daraus resultierende Inkonsistenzen Beschränkte Zugriffsmöglichkeiten bzw. fehlender Zugriff Probleme des Mehrbenutzerbetriebes Datenverluste während der Bearbeitung (in Dateisystemen ist nur ein Recovery bis zum letzten Backup möglich) Integritätsverletzungen Sicherheitsverletzungen © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 15 Motivation und Einführung (6) Datenverarbeitung mit Datenbanken WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Kontrollierte Redundanzen und somit keine Inkonsistenzen Unbeschränkte Zugriffsmöglichkeiten bzw. kein fehlender Zugriff Reibungsloser Mehrbenutzerbetrieb Keine Datenverluste während der Bearbeitung (eine Datenbank kann dank umfangreichen ProtokollInformationen beliebig zeitlich zurückversetzt werden) Keine Integritätsverletzungen Keine Sicherheitsverletzungen © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 16 Motivation und Einführung (7) Einsatz von Datenbanken WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Jedes (erfolgreiche) Unternehmen, Behörde oder Krankenhaus auf unserem Planet setzt mindestens eine Datenbank ein Kein Unternehmen, Behörde oder Krankenhaus hat seine komplette Datenverarbeitung in eine Datenbank integriert Daraus ergibt sich ein Riesen-Potential für Fachkräfte mit fundierten Datenbank-Kenntnissen, bestehende Datenbankanwendungen zu pflegen, warten und weiter zu entwickeln bzw. DV-Abläufe auf Basis von Datenbank-Technologie zu vereinheitlichen und zu optimieren © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 17 Motivation und Einführung (8) Datenbanken als Wirtschaftsfaktor WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Der Markt für relationale Datenbanken wurde von Gartner im Jahr 2007 auf ein Volumen von 17 Milliarden $ geschätzt (nur Neulizenzen) Dazu kommen noch Support, Schulung, Beratung,... Anwendungen: CRM und ERP, Decission Support und Data Warehouse, OLAP und OLTP, Data Mining eBusiness und Navigationssysteme, all das ist auf einer Datenbank aufgesetzt Datenbanken sind die Grundlage jeglicher Datenverarbeitung und haben somit als SoftwarePlattform einen ähnlichen wenn nicht höheren Stellenwert als Betriebsysteme © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 18 Motivation und Einführung (9) Weltweiter Datenbank-Markt © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 19 DBMS - Definition WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Database Management System (DBMS) - auf Deutsch Datenbankverwaltungssystem - besteht aus Datenbasis – Menge aller gespeicherten Daten Verwaltungssystem - Gesamtheit aller Programme, die den Zugriff, die Einhaltung von Konsistenz und die Modifikation der Daten regeln Man bezeichnet oft umgangsprachlich das DBMS als „die Datenbank“ Einige DBMS Systeme / Datenbanken Oracle, IBM DB2, Microsoft SQL Server, Adabas, SAPDB, Sybase, Microsoft Access, MySQL usw. © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 20 DBMS Basis-Architektur WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Das Ziel: Datenintegration bei gleichzeitiger Datenunabhängigkeit, d.h. Daten sollen von Anwendungsprogrammen unabhängig sein und auch unabhängig von der Art und Weise der physikalischen Speicherung ANSI SPARC Architektur – 3 Abstraktionsebenen Externes Schema (auch Anwendungs-Sichten oder Views, bzw. externe Ebene genannt) Konzeptionelles Schema (auch Implementations- oder konzeptionelle Ebene) Internes Schema (auch interne Ebene oder Physische Ebene genannt) © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 21 Externes Schema - Sicht 1 Physische Ebene Logische Ebene DBMS – 3 Abstraktionsebenen © Bojan Milijaš, 07.11.2011 Externes Schema - Sicht 2 WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 ... Externes Schema - Sicht n Konzeptionelles Schema Physische Speicherung – internes Schema Vorlesung #1 - Einführung 22 Datenunabhängigkeit WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Physische Datenunabhängigkeit Datenbank Schema und Datenbank-Anwendungen sind von der physischen Speicherung der Daten entkoppelt. Änderungen auf der physische Ebene beeinträchtigen nicht die logische Ebene. Sie haben i.a. schnellere Zugriffszeiten oder höhere Ausfallsicherheit als Ziel. Logische Datenunabhängigkeit Änderungen des Datenbankschema sollen nicht Änderungen in allen Anwendungen (Sichten) hervorrufen. Beispiele: Hinzufügen neuer Attribute zu einer Relation, Aufspalten oder Zusammenfügen von Relationen. In heutigen Datenbanken nur bedingt möglich. © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 23 WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Architektur eines DBMS (Kemper / Eickler) „Naive“ Benutzer Anwendung Fortgeschrittene AnwendungsBenutzer Programmierer Interaktive Präcompiler Anfrage DML-Compiler Datenbankadministratoren Verwaltungswerkzeug DDL-Compiler Anfragebearbeitung Mehrbenutzersynchr. Datenbankmanager Fehlerbehandlung DBMS Schemaverwaltung Dateiverwaltung Logdateien © Bojan Milijaš, 07.11.2011 Indexe Datenbasis Vorlesung #1 - Einführung Datenwörterbuch 24 Komponenten eines DBMS WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 (nach Kemper / Eickler) DML Compiler DDL Compiler Anfragebearbeitung Datenbankmanager Schemaverwaltung Mehrbenutzersynchronisation Fehlerbehandlung © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 25 Speicherstrukturen und Prozesse in Oracle © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 26 Datenbank-Administrator „DBA“ (1) WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Person / Gruppe von Personen, die für die Datenbank verantwortlich ist / sind DBA - Aufgaben Installation einer Datenbank (Software-Auswahl, Bestimmung technischer Parameter etc.) Durchführung von Reorganisationen auf der physischen Ebene (Indexpflege, Änderungen der Speicherparameter von Tabellen, sowie notwendige Aktionen, die sich aus Betriebsystem oder Hardware-Änderungen ergeben) Durchführung von Sicherungen (Backup & Recovery), Sicherstellung des störungsfreien Betriebes 5*8 oder 24*7 Monitoring - Überwachung von Auslastung und Laufzeitverhalten (Performance) des Systems © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 27 Datenbank-Administrator „DBA“ (2) WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 DBA Aufgaben (fortgesetzt) Tuning – Optimierung und Verbesserung der Performance Planung und Durchführung der Wartungsarbeiten (Online und Offline Betrieb) Einspielen von Software-Erneuerungen (Patches, Upgrades), Kontakt zum Hersteller und Vertreiber des DBMS Laden von großen Datenmengen (Daten-Export und Import) Datenbank-Migrationen (Überführung der Datenbanken von einem kommerziellen System in das andere) In der Regel keine Aufgabe des/r DBA(s) Entwurf des logischen Datenbankschemas, geht bei der meist eingesetzten Standardsoftware gar nicht, zu komplex bzw. Produkt- und Firmengeheimnisse © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 28 Will jemand DBA werden? WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Sonstige „Datenbank“-Berufe Datenbank-Consulting Datenbank-Vertrieb Datenbank-Support Datenbank-Schulung Berufe, die Datenbankkenntnisse voraussetzen (Schnittstellen, Funktionsweise) Programmierung, Software Development Software-Architects, CIOs, Senior Management Analyse und Beratung im BI, Data Warehouse, Data Mining Umfeld ... © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 29 WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Fazit Datenbanken sind wichtig! Datenbanken sind geil! Ich werde Datenbanken beherrschen und damit später einen Job finden, der interessant und gut bezahlt ist. Ich weiß in etwa, wozu ein DBMS gut ist und was es tun sollte. Ich habe einen Überblick über Berufe, die etwas mit Datenbanken zu tun haben. © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 30 Oracle, Oracle, MySQL ... WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Oracle ist der RDBMS-Marktführer mit mehr Marktanteile als 4 weitere Wettbewerber zusammen MySQL verzeichnet mehr Downloads als alle andere Anbieter zusammen Ich habe bereits Bachelor-Arbeiten betreut, die in Microsoft SQL Server implementiert wurden ... Es gibt einen Fachkräftemangel vor allem bei „Nichen“-RDBMS Produkten Hier geht es um Datenbanken und Standards, nicht (nur) um Oracle oder MySQL !!! Sie können auch fürs Praktikum gerne jede SQL-92 oder SQL-99 kompatible Datenbank nehmen ! © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 31 Ausblick Vorlesung #2 WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Das relationale Modell Relationale Modellierung von 1:1, 1:n, n:m Beziehungen, Generalisierung, schwachen Entity-Typen etc. Die Relationale Algebra (Selektion, Projektion, Vereinigung, relationale Division, Mengendurchschnitt, Joins, kartesisches Produkt etc.) © Bojan Milijaš, 07.11.2011 Vorlesung #1 - Einführung 32 WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Ende