Vorlesung 1

Werbung
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
Herunterladen