32
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

Embed Size (px)

Citation preview

Page 1: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Vorlesung #1

Einführung

Page 2: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

„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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Ü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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Praktikum

scheinpflichtig !!! Einteilung in zwei Gruppen

Gruppe 1: Mi 18:45 – 20:15 (R 1.009A) Gruppe 2: Do 18:45 – 20:15 (R 1.009A)

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

Bedarf und Interesse

Page 8: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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

Motivation und Einführung (1) Datenverarbeitung ohne Datenbanken

!!!Inkonsistenz

Integritätsverletzung

!!!Datenverlust

Keine SicherheitFehlender Zugriff

Kopie

Page 12: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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

Motivation und Einführung (3) Datenverarbeitung ohne Datenbanken

Buchhaltung

ServiceVertrieb

Marketing

Informationsablauf in einem Unternehmen

Page 14: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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

Motivation und Einführung (4) Datenverarbeitung mit Datenbanken

Buchhaltung

Service

Vertrieb

Marketing

Page 15: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Motivation und Einführung (8) Datenbanken als Wirtschaftsfaktor

Der Markt für relationale Datenbanken wurde von Gartner im Jahr 2006 auf ein Volumen von 15,2 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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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

Page 20: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Architektur eines DBMS(Kemper / Eickler)

Logdateien Indexe Datenbasis Datenwörterbuch

Dateiverwaltung

Datenbankmanager Schemaverwaltung

Anfragebearbeitung DBMS

DML-Compiler DDL-Compiler

AnwendungInteraktiveAnfrage

Verwaltungs-werkzeug

Präcompiler

„Naive“Benutzer

FortgeschritteneBenutzer

Anwendungs-Programmierer

Datenbank-administratoren

Mehrbenutzersynchr.

Fehlerbehandlung

Page 25: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Komponenten eines DBMS

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

Page 26: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Speicherstrukturen und Prozesse in Oracle

Page 27: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

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

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 32: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #1 Einführung

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Vorlesung #1

Ende