 
                                WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 Vorlesung #1 Einführung Ihr Dozent ... Name: Ausbildung: WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 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š, 05.10.2012 „Fahrplan“ WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  Organisatorisches     Vorlesungen Übungen Literatur Praktikum  Was erwarten Sie?  Wünsche, Erwartungen, Befürchtungen ...  Was erwartet Sie?  Lehrinhalte, worauf wird es ankommen  Motivation (9), Demotivation(2) und Einführung in Datenbanken (9)  Informationsverarbeitung mit und ohne Datenbanken  Grundlegende Begriffe: DBMS, DBA © Bojan Milijaš, 05.10.2012 Vorlesung WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Übungen WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  Ü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š, 05.10.2012 Literatur WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Praktikum WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Was erwarten Sie WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  ... 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š, 05.10.2012 Was erwartet Sie WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 (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š, 05.10.2012 Worauf wird es ankommen WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Motivation und Einführung (1) Datenverarbeitung ohne Datenbanken !!! Inkonsistenz Integritätsverletzung © Bojan Milijaš, 05.10.2012 WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 !!! Datenverlust Keine Sicherheit Fehlender Zugriff Motivation und Einführung (2) Datenverarbeitung mit Datenbanken Datenbank sorgt (automatisch) für: •Daten-Konsistenz •Integrität der Daten •adäquaten Zugriff •MehrbenutzerSynchronisation •Sicherheit •Recovery © Bojan Milijaš, 05.10.2012 WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 Motivation und Einführung (3) Datenverarbeitung ohne Datenbanken WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 Informationsablauf in einem Unternehmen Service Vertrieb Marketing © Bojan Milijaš, 05.10.2012 Buchhaltung Motivation und Einführung (4) Datenverarbeitung mit Datenbanken WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 Service Vertrieb Marketing © Bojan Milijaš, 05.10.2012 Buchhaltung Motivation und Einführung (5) Datenverarbeitung ohne Datenbanken WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Motivation und Einführung (6) Datenverarbeitung mit Datenbanken WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Motivation und Einführung (7) Einsatz von Datenbanken WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Motivation und Einführung (8) Datenbanken als Wirtschaftsfaktor WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  Der Markt für relationale Datenbanken wurde von Gartner im Jahr 2007 auf ein Volumen von 17 Milliarden $ geschätzt (nur Neulizenzen).  Jahr 2011  24 Mrd. (40% Wachstum), 2016  40  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š, 05.10.2012 Motivation und Einführung (9) Weltweiter Datenbank-Markt (Mrd. $) WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 30 25 20 15 10 5 0 2008 © Bojan Milijaš, 05.10.2012 2009 2010 2011 Demotivation (1) Wie fallen die Klausuren aus? © Bojan Milijaš, 05.10.2012 WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 Demotivation (2) Wie fallen die Klausuren aus? © Bojan Milijaš, 05.10.2012 WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 DBMS - Definition WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 DBMS Basis-Architektur WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Externes Schema - Sicht 1 Physische Ebene Logische Ebene DBMS – 3 Abstraktionsebenen © Bojan Milijaš, 05.10.2012 Externes Schema - Sicht 2 WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 ... Konzeptionelles Schema Physische Speicherung – internes Schema Externes Schema - Sicht n Datenunabhängigkeit   WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 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š, 05.10.2012 WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 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š, 05.10.2012 Indexe Datenbasis Datenwörterbuch Komponenten eines DBMS (nach Kemper / Eickler)  DML Compiler  DDL Compiler  Anfragebearbeitung  Datenbankmanager  Schemaverwaltung  Mehrbenutzersynchronisation  Fehlerbehandlung © Bojan Milijaš, 05.10.2012 WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 Speicherstrukturen und Prozesse in Oracle © Bojan Milijaš, 05.10.2012 WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 Datenbank-Administrator „DBA“ (1) WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Datenbank-Administrator „DBA“ (2) WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Will jemand DBA werden? WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Fazit WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Oracle, Oracle, MySQL ... WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 Ausblick Vorlesung #2 WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007  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š, 05.10.2012 WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R 2.007 Vorlesung #1 Ende