Vorlesung 1

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