WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Vorlesung #1 Einführung 1 WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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 B.V. & Co. KG derzeit als Senior Business Analyst Sales Operations © Bojan Milijaš 08.10.2010 Vorlesung #1 - Einführung 2 WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 „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š 08.10.2010 Vorlesung #1 - Einführung 3 Vorlesung WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 4 Übungen WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Ü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š 08.10.2010 Vorlesung #1 - Einführung 5 WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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 © Bojan Milijaš 08.10.2010 Vorlesung #1 - Einführung 6 Praktikum WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 7 WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Was erwarten Sie ... 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š 08.10.2010 Vorlesung #1 - Einführung 8 Was erwartet Sie WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 (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š 08.10.2010 Vorlesung #1 - Einführung 9 Worauf wird es ankommen WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 10 Motivation und Einführung (1) Datenverarbeitung ohne Datenbanken !!! Inkonsistenz Integritätsverletzung WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 !!! Datenverlust Keine Sicherheit Fehlender Zugriff ie p o K © Bojan Milijaš, 08.10.2010 © Bojan Milijaš 08.10.2010 Vorlesung #1 - Einführung 11 11 Motivation und Einführung (2) Datenverarbeitung mit Datenbanken WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Datenbank sorgt (automatisch) für: •Daten-Konsistenz •Integrität der Daten •adäquaten Zugriff •MehrbenutzerSynchronisation •Sicherheit •Recovery © Bojan Milijaš, 08.10.2010 © Bojan Milijaš 08.10.2010 Vorlesung #1 - Einführung 12 12 Motivation und Einführung (3) Datenverarbeitung ohne Datenbanken WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Informationsablauf in einem Unternehmen Service Vertrieb Marketing © Bojan Milijaš, 08.10.2010 © Bojan Milijaš 08.10.2010 Buchhaltung Vorlesung #1 - Einführung 13 13 Motivation und Einführung (4) Datenverarbeitung mit Datenbanken WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Service Vertrieb Marketing © Bojan Milijaš, 08.10.2010 © Bojan Milijaš 08.10.2010 Buchhaltung Vorlesung #1 - Einführung 14 14 Motivation und Einführung (5) Datenverarbeitung ohne Datenbanken WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 15 Motivation und Einführung (6) Datenverarbeitung mit Datenbanken WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 16 Motivation und Einführung (7) Einsatz von Datenbanken WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 17 Motivation und Einführung (8) Datenbanken als Wirtschaftsfaktor WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Der Markt für relationale Datenbanken wurde von Gartner im Jahr 2007 auf ein Volumen von 17 Milliarden $ geschätzt (nur Neulizenzen). IDC schätzt es auf 20 Mrd $ für 2008 und 28 Mrd $ für 2013 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š 08.10.2010 Vorlesung #1 - Einführung 18 Motivation und Einführung (9) Weltweiter Datenbank-Markt © Bojan Milijaš 08.10.2010 WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Vorlesung #1 - Einführung 19 Motivation und Einführung (9) Weltweiter Datenbank-Markt 2 © Bojan Milijaš 08.10.2010 WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Vorlesung #1 - Einführung 20 Motivation und Einführung (9) Weltweiter Datenbank-Markt 3 © Bojan Milijaš 08.10.2010 WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Vorlesung #1 - Einführung 21 DBMS - Definition WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 22 DBMS Basis-Architektur WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 23 Physische Ebene Logische Ebene DBMS – 3 Abstraktionsebenen Externes Schema - Sicht 1 Externes Schema - Sicht 2 WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 ... Externes Schema - Sicht n Konzeptionelles Schema Physische Speicherung – internes Schema © Bojan Milijaš 08.10.2010 Vorlesung #1 - Einführung 24 Datenunabhängigkeit WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 25 Architektur eines DBMS (Kemper / Eickler) „Naive“ Benutzer Anwendung WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Fortgeschrittene AnwendungsBenutzer Programmierer Interaktive Präcompiler Anfrage DML-Compiler Datenbankadministratoren Verwaltungswerkzeug DDL-Compiler Anfragebearbeitung Mehrbenutzersynchr. Datenbankmanager Fehlerbehandlung DBMS Schemaverwaltung Dateiverwaltung Logdateien © Bojan Milijaš 08.10.2010 Indexe Datenbasis Datenwörterbuch Vorlesung #1 - Einführung 26 Komponenten eines DBMS WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 (nach Kemper / Eickler) DML Compiler DDL Compiler Anfragebearbeitung Datenbankmanager Schemaverwaltung Mehrbenutzersynchronisation Fehlerbehandlung © Bojan Milijaš 08.10.2010 Vorlesung #1 - Einführung 27 Speicherstrukturen und Prozesse in Oracle © Bojan Milijaš 08.10.2010 WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Vorlesung #1 - Einführung 28 Datenbank-Administrator „DBA“ (1) WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 29 Datenbank-Administrator „DBA“ (2) WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 30 Will jemand DBA werden? WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 31 Fazit WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 32 Oracle, Oracle, Oracle ... WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Eine von mir betreute Bachelor-Arbeit war eine Implementierung von Leasingverwaltung in einer Microsoft SQL Server Datenbank Der B.Sc., der sie geschrieben hat, arbeitet jetzt bei einer Firma, deren Produkte ausschließlich auf Microsoft SQL Server laufen Hier geht es um Datenbanken und Standards, nicht (nur) um Oracle !!! Sie können auch fürs Praktikum gerne jede SQL-92 oder SQL-99 kompatible Datenbank nehmen ! Insbesondere MySQL :-) © Bojan Milijaš 08.10.2010 Vorlesung #1 - Einführung 33 Ausblick Vorlesung #2 WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 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š 08.10.2010 Vorlesung #1 - Einführung 34 WS 2010/11 Datenbanksysteme Fr 15:15 – 16:45 R 1.008 Vorlesung #1 Ende © Bojan Milijaš 08.10.2010 Vorlesung #1 - Einführung 35