33
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

Embed Size (px)

Citation preview

Page 1: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Vorlesung #1

Einführung

Page 2: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 2

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Ihr Dozent ...Name: Bojan Milijaš

Ausbildung: Diplom-Informatiker Universität Passau,Vertiefungsgebiet Datenbanken,Prof. Alfons Kemper, Ph.D.

Beschäftigung: Seit 1997 bei ORACLE Deutschland GmbH, derzeit als Senior Business Analyst Sales Operations

Page 3: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 3

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 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

Page 4: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 4

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 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)

Page 5: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 5

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 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 (*)

Page 6: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 6

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Literatur Lehrbücher (Deutsch)

Kemper / Eickler, Datenbanksysteme, Oldenburg Verlag Lehrbücher (Englisch)

Ramakrishnan, Database Management Systems, McGraw-Hill

A. Silberschatz, H. F. Korth und S. Sudarshan, Database System Concepts, McGraw-Hill

C. J. Date: An Introduction to Database Systems. McGraw-Hill

J.D. Ullmann, J. Widom: A First Course in Database Systems, McGraw Hill

Skript von Prof. Schwenkert

Page 7: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 7

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Praktikum scheinpflichtig !!! 2 bis 3 Studenten bilden ein Team Einteilung in zwei Gruppen

Gruppe 1: Fr 17:00 – 18:30 (R 2.008) Gruppe 2: Fr 18:45 – 20:15 (R 2.012)

SQL Abfragen Datenbankprogrammierung JDBC, ODBC, XML, SOA, PHP etc. je nach

Bedarf und Interesse

Page 8: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 8

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

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?

Page 9: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 9

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Was erwartet Sie

(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!!!

Page 10: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 10

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Worauf wird es ankommen 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 (Tabellen-

Aufbau, Indizies etc.)

Page 11: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

11Vorlesung #1 - Einführung© Bojan Milijaš, 02.10.2009

Motivation und Einführung (1) Datenverarbeitung ohne Datenbanken

!!!Inkonsistenz

Integritätsverletzung

!!!Datenverlust

Keine SicherheitFehlender Zugriff

Kopie

Page 12: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

12Vorlesung #1 - Einführung© Bojan Milijaš, 02.10.2009

Motivation und Einführung (2) Datenverarbeitung mit Datenbanken

•adäquaten Zugriff•Mehrbenutzer-Synchronisation•Sicherheit•Recovery

Datenbank sorgt (automatisch) für:•Daten-Konsistenz•Integrität der Daten

Page 13: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

13Vorlesung #1 - Einführung© Bojan Milijaš, 02.10.2009

Motivation und Einführung (3) Datenverarbeitung ohne Datenbanken

Buchhaltung

ServiceVertrieb

Marketing

Informationsablauf in einem Unternehmen

Page 14: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

14Vorlesung #1 - Einführung© Bojan Milijaš, 02.10.2009

Motivation und Einführung (4) Datenverarbeitung mit Datenbanken

Buchhaltung

ServiceVertrieb

Marketing

Page 15: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 15

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Motivation und Einführung (5) Datenverarbeitung ohne Datenbanken 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

Page 16: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 16

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Motivation und Einführung (6) Datenverarbeitung mit Datenbanken 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 Protokoll-Informationen beliebig zeitlich zurückversetzt werden)

Keine Integritätsverletzungen Keine Sicherheitsverletzungen

Page 17: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 17

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Motivation und Einführung (7) Einsatz von Datenbanken 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

Page 18: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 18

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Motivation und Einführung (8) Datenbanken als Wirtschaftsfaktor 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 Software-Plattform einen ähnlichen wenn nicht höheren Stellenwert als Betriebsysteme

Page 19: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 19

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Motivation und Einführung (9) Weltweiter Datenbank-Markt

Page 20: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 20

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

DBMS - Definition 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.

Page 21: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 21

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

DBMS Basis-Architektur 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)

Page 22: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 22

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

DBMS – 3 Abstraktionsebenen

...Externes Schema - Sicht 1

Externes Schema - Sicht 2

Externes Schema - Sicht n

Konzeptionelles Schema

Physische Speicherung – internes Schema

Phy

sisc

he

Ebe

neLo

gisc

he E

bene

Page 23: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 23

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Datenunabhängigkeit 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.

Page 24: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 24

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Architektur eines DBMS(Kemper / Eickler)

Logdateien Indexe Datenbasis Datenwörterbuch

Dateiverwaltung

Datenbankmanager Schemaverwaltung

Anfragebearbeitung DBMS

DML-Compiler DDL-Compiler

Anwendung InteraktiveAnfrage

Verwaltungs-werkzeugPräcompiler

„Naive“Benutzer

FortgeschritteneBenutzer

Anwendungs-Programmierer

Datenbank-administratoren

Mehrbenutzersynchr.

Fehlerbehandlung

Page 25: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 25

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Komponenten eines DBMS

(nach Kemper / Eickler) DML Compiler DDL Compiler Anfragebearbeitung Datenbankmanager Schemaverwaltung Mehrbenutzersynchronisation Fehlerbehandlung

Page 26: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 26

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Speicherstrukturen und Prozesse in Oracle

Page 27: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 27

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Datenbank-Administrator „DBA“ (1) 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

Page 28: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 28

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Datenbank-Administrator „DBA“ (2)

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

Page 29: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 29

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Will jemand DBA werden?

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 ...

Page 30: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 30

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 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.

Page 31: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 31

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Oracle, Oracle, Oracle ...

Meine letzte 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 !

Page 32: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

© Bojan Milijaš, 02.10.2009 Vorlesung #1 - Einführung 32

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Ausblick Vorlesung #2

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.)

Page 33: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #1 Einführung

WS 2009/10Datenbanksysteme

Fr 15:15 – 16:45R 0.006

Vorlesung #1

Ende