WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 Vorlesung #1 Einführung Ihr Dozent ... Name: Ausbildung: WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 „Fahrplan“ WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Vorlesung WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Übungen WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Literatur WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Praktikum WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 scheinpflichtig !!! 2 bis 3 Studenten bilden ein Team Einteilung in zwei Gruppen Gruppe 1: Do 15:15 – 16:45 (R 2.012) Gruppe 2: Do 18:45 – 20:15 (R 2.009) SQL Abfragen Datenbankprogrammierung JDBC, ODBC, XML, SOA, PHP etc. je nach Bedarf und Interesse © Bojan Milijaš, 10.10.2013 Was erwarten Sie WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Was erwartet Sie WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Worauf wird es ankommen WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 ... also SQL von Kopf bis Fuß © Bojan Milijaš, 10.10.2013 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 Motivation und Einführung (1) Datenverarbeitung ohne Datenbanken !!! Inkonsistenz Integritätsverletzung © Bojan Milijaš, 10.10.2013 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 Motivation und Einführung (3) Datenverarbeitung ohne Datenbanken WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 Informationsablauf in einem Unternehmen Service Vertrieb Marketing © Bojan Milijaš, 10.10.2013 Buchhaltung Motivation und Einführung (4) Datenverarbeitung mit Datenbanken WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 Service Vertrieb Marketing © Bojan Milijaš, 10.10.2013 Buchhaltung Motivation und Einführung (5) Datenverarbeitung ohne Datenbanken WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Motivation und Einführung (6) Datenverarbeitung mit Datenbanken WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Motivation und Einführung (7) Einsatz von Datenbanken WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Motivation und Einführung (8) Datenbanken als Wirtschaftsfaktor WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Motivation und Einführung (9) Weltweiter Datenbank-Markt (Mrd. $) WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 30 25 20 15 10 5 0 2008 © Bojan Milijaš, 10.10.2013 2009 2010 2011 2012 Demotivation (1) Wie fallen die Klausuren aus? © Bojan Milijaš, 10.10.2013 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 Demotivation (1) Wie fallen die Klausuren aus? © Bojan Milijaš, 10.10.2013 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 Demotivation (2) Wie fallen die Klausuren aus? © Bojan Milijaš, 10.10.2013 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 Demotivation (3) Wie fallen die Klausuren aus? © Bojan Milijaš, 10.10.2013 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 Demotivation (4) Und das Praktikum? © Bojan Milijaš, 10.10.2013 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 DBMS - Definition WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 DBMS Basis-Architektur WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Externes Schema - Sicht 1 Physische Ebene Logische Ebene DBMS – 3 Abstraktionsebenen © Bojan Milijaš, 10.10.2013 Externes Schema - Sicht 2 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 ... Konzeptionelles Schema Physische Speicherung – internes Schema Externes Schema - Sicht n Datenunabhängigkeit WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Indexe Datenbasis Datenwörterbuch Komponenten eines DBMS (nach Kemper / Eickler) DML Compiler DDL Compiler Anfragebearbeitung Datenbankmanager Schemaverwaltung Mehrbenutzersynchronisation Fehlerbehandlung © Bojan Milijaš, 10.10.2013 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 Speicherstrukturen und Prozesse in Oracle © Bojan Milijaš, 10.10.2013 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 Datenbank-Administrator „DBA“ (1) WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Datenbank-Administrator „DBA“ (2) WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Will jemand DBA werden? WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Fazit WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Oracle, Oracle, MySQL ... WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 Ausblick Vorlesung #2 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.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š, 10.10.2013 WS 2013/14 Datenbanksysteme Do 15:15 – 16:45 R 1.007 Vorlesung #1 Ende