Transcript Kapitel 1
Datenbanken für Mathematiker
Dozent: Dr. Brigitte Mathiak ([email protected])
Übungsbetreuung: Lisa Schehlmann
1
Warum sollten Sie
sich für Datenbanken
interessieren?
(1 min; Jeder für sich mit Zettel und Stift)
2
Warum sollten Sie sich für
Datenbanken interessieren?
Daten sind wertvoll
3
Wertvolle Daten
Addressdaten
Personaldaten
Kundendaten (einer Bank…)
Umfragedaten
Warenbestandsdaten
Transaktionsdaten (Telefonanrufe, Einkäufe,…)
Konstruktionsdaten (Auto, Motor, Kugellager,…)
Geoinformationsdaten
(Straßen, Leitungen, Flüsse, Immissionen,…)
….
4
Kosten / Wert
100
Daten
Google
(Börsenwert
174,8 Mrd $)
Google kauft YouTube
für 1.6 Mrd $
(2006) für Software (?),
die Google selbst hat
10
Software
Bekannte
Suchalgorithmen +
Data Management
1
Hardware
100,000 Rechner
a 500 Euro
5
Warum sollten Sie sich für
Datenbanken interessieren?
Daten sind wertvoll
In fast jeder größeren Applikation steckt heutzutage
eine Datenbank
6
7
Berühmte Systeme
Datenbanksysteme:
Oracle DB, IBM DB2, Mysql, Postgres, Microsoft SQL Server,
Microsoft Access, etc.
Suchsysteme:
Google, Yahoo
Berühmte/interessante Anwendungen:
SAP R3
Ihr Bankkonto
Ihre Haftpflichtversicherung
The GDB Human Genome Database
wer-kennt-wen
Flickr, YouTube
Amazon
…
8
Warum sollten Sie sich für
Datenbanken interessieren?
Daten sind wertvoll
In fast jeder größeren Applikation steckt heutzutage eine
Datenbank
Datenmodellierung ist ein wichtiges Thema
9
Daten – Information – Wissen
Wissen:
Vorlesung „Datenbanken für Mathematik“
am 5. Oktober 2011, Block 3 in C10 8.02
Informationen:
„5. Oktober 2011, Block 3“, ….
Daten:
„2011100503C108.02“,…
Kein Wissen ohne Daten
Übergang vom Daten- zum Wissensmanagement ist nahtlos
10
Wo benötigt man Methoden
des Data Engineering?
Desktop
Einloggen (single sign-on)
Textverarbeitung
Filesystem
Addressen
Handy, Smartcards, Auto
Nein, aber oft schmerzlich vermisst!
→ Neuere Entwickungen:
Eingebettete Datenbanken (z.B. für Smartcards)
Banken
Telekom
…
Besser wäre die Frage:
Wo benötigt man keine Methoden des Data Engineering?!
11
Data Engineering
Modellierung
Prozesse
Algorithmen Data Engineering
& Management
Logik
Statistik
Systembau
12
Warum sollten Sie sich für
Datenbanken interessieren?
Daten sind wichtig!
In fast jeder größeren Applikation steckt heutzutage eine
Datenbank
Datenmodellierung ist ein wichtiges Thema
Bei vielen Arbeitgebern und vielen Arbeitsfeldern ein
Muss
13
Berater (mw)
Naturwissenschaftler (mw), Mathematiker (m/w), …
Sie sind eine kommunikationsstarke Persönlichkeit mit
fundiertem IT-Know-How und Erfahrung im Infrastruktur
Projektumfeld. Wünschenswert sind entsprechende
Erfahrungen in den folgenden Bereichen:Schnittstellen- u.
Systemintegrationslösungen
Programmiersprachen: Java/J2EE, C/C++, VB, C#
Skriptsprachen: UNIX-Shells, Perl, Python,Tcl/Tk
RDBMS: MS-SQL Server, Sybase, Oracle
…
14
Hochschulabsolvent(inn) mit
Schwerpunkt Mathematik, Physik,
Geographie, Informatik oder
Betriebswirtschaft
Ihr Profil:
Naturwissenschaftliches bzw. technisches Studium,
beispielsweise mit Schwerpunkt Mathematik, Physik,
Geographie oder Informatik, oder Betriebswirtschaftliches
Studium
Technische Affinität sowie sehr gute Kenntnisse des MS Office
Paketes
Idealerweise erste Erfahrung mit Datenbanken (SQL-Server)
und/oder Programmierung (v.a. C#)
Sehr gute analytische Fähigkeiten
…
15
Kernfragen
Wie verwaltet man Daten?
Intuitiv?
Konsistent?
Effizient?
Sicher?
Nebenläufig?
→ Data & Knowledge Engineering
16
Ziele der Vorlesung
Analytisches Verständnis des Data Engineering
Kenntnisse verschiedener Datenbankparadigmen
Erweiterte Kenntnisse der Standard-Datenbankanfragesprache
SQL
Didaktische Methoden
Vorlesung (v.a. sinnvoll durch mitdenken und fragen!)
Papierübung: analytisches Verständnis
Praxisübung: Umgang mit praktischen Problemen
Arbeit in mehreren Teams
Übernahme von Verantwortung für die Arbeit anderer
17
Aufgaben
Theoretische Aufgaben
Orientiert am Vorlesungsstoff
Praktische Aufgaben
Erstellen und Benutzen einer DB
Umgang mit einfachen, aber realistischen Datenmengen
Integration mit Anwendungen
18
Wann und wo?
Mittwochs Vorlesung im Block 3 in C10 8.02
14-tägig Vorlesung auch schon im Block 2
19.10, 2.11, 16.11, 30.11, 14.12, 11.1, 25.1
Labore direkt im Anschluss in den Blöcken 4 und 5 in D15 202
Sie sind aufgeteilt in insgesamt 4 Gruppen, also für Sie jeweils
ein Übungsblock alle 14 Tage
Es gibt 6 Aufgabenblätter, diese sind schriftlich zu bearbeiten
Sie müssen alle abgeben und davon 5 erfolgreich
19
Folgendes Buch liegt der Vorlesung zugrunde:
Alfons Kemper und Andre Eickler
Oldenbourg Verlag, München, 2009
7. aktualisierte und erweiterte Auflage
Die Folien wurden weitgehend von den Autoren übernommen.
(Siehe auch http://www-db.in.tum.de/research/publications/books/DBMSeinf)
Weitere Folien und Ideen stammen von Sergej Sikov, York Sure-Vetter, Donald
Kossmann und dem Internet (insbesondere Wikipedia)
20
Literatur:
A. Kemper , A. Eickler
Datenbanksysteme – Eine Einführung.
Oldenbourg Verlag, 2009. 7. Auflage.
A. Silberschatz, H. F. Korth und S. Sudarshan
Database System Concepts, 4. Auflage, McGraw-Hill Book Co.,
2002.
R. Elmasri, S.B. Navathe: Fundamentals of Database Systems,
Benjamin Cummings,
Redwood City, Ca, USA, 2. Auflage,
1994
R. Ramakrishnan, J. Gehrke: Database Management Systems,
3. Auflage, 2003.
G. Vossen : Datenmodelle, Datenbanksprachen und DatenbankManagement-Systeme. Oldenbourg, 2001.
21
D. Maier: The Theory of Relational Databases. Computer
Science Press. 1983.
S. M. Lang, P.C. Lockemann: Datenbankeinsatz. Springer
Verlage, 1995.
C. Batini, S. Ceri, S.B. Navathe: Conceptual Database Design,
Benjamin Cummings,
Redwood City, Ca, USA, 1992.
C. J. Date: An Introduction to Database Systems. McGraw-Hill,
8. Aufl., 2003.
J.D. Ullmann, J. Widom: A First Course in Database Systems,
McGraw Hill, 2. Auflage, 2001.
22
A. Kemper, G. Moerkotte: Object-Oriented Database
Management: Applications in Engineering and Computer
Science, Prentice Hall, 1994
E. Rahm: Mehrrechner-Datenbanksyseme. Addison-Wesley,
1994.
P. Dadam: Verteilte Datenbanken und Client/Server Systeme.
Springer Verlag, 1996
G. Weikum, G. Vossen: Transactional Information Systems:
Theory, Algorithms, and the Practice of Concurrency Control.
Morgan Kaufmann, 2001.
T. Härder, E. Rahm: Datenbanksysteme – Konzepte und
Techniken der Implementierung, 2001.
23
Die Lernampel
Sehr prüfungsrelevant!
Empfehlenswert
Zusatzinformation
24
Jetzt geht’s los!
25
Handhabung der Daten (historisch)
Schwerpunkt
der Vorlesung
Postrelationale
Datenmodelle
90er
Relationale Datenmodelle
80er
Satzorientierte
Datenmodelle (Codasyl)
70er
Dateisysteme
60er
Bänder
50er
26
Motivation für den Einsatz eines
Datenbank-Verwaltungssystems
Typische Probleme:
• Redundanz und Inkonsistenz (Frau Meier wird Frau MeierRoss)
• Beschränkte Zugriffsmöglichkeiten (alle 100 Eigenschaften von
Frau Meier lesen, um ihre Telefonnummer zu sehen?)
• Probleme beim Mehrbenutzerbetrieb (zwei Überweisungen
gleichzeitig?)
• Sicherheitsprobleme (jeder Mitarbeiter darf jedes Gehalt
sehen?)
• hohe Entwicklungskosten für Anwendungsprogramme (k * 100
PersJahre)
• ......... ?
27
Warum Datenbanken als separates
Stück Software?
Diese Probleme treten in sehr vielen Applikationen auf
Sie sind sehr komplex, wenn man sie sauber lösen will
Eine spezialisierte Software nimmt dem Programmierer die
Arbeit ab und vermeidet so Fehler und Aufwand
Nach fast 30 Jahren Entwicklung sind relationale Datenbanken
das wohl ausgereifteste Stück Software das es weltweit gibt
Trotzdem gibt es aktive Forschung und Entwicklung auf dem
Gebiet um noch etwas schneller, noch besser auf neue
Datenformen und Schnittstellen angepasst zu sein
28
Datenbank vs DBMS
Anwendung
DBMS
(DB ManagementSystem)
Ordner A
Datenbank
Ordner B
File 1
File 2
29
Gegenstand der Vorlesung
Wie kann ich DBMS
einsetzen?
Data Engineering
Ordner A
Ordner B
File 1
File 2
30
Gegenstand der Vorlesung
(zum kleineren Teil)
Ordner A
Ordner B
File 1
File 2
Ordner A
Ordner A
Ordner B
File 1
File 2
Ordner B
File 1
File 2
31
Die Abstraktionsebenen des
Datenbankentwurfs
Konzeptuelle Ebene
Logische Ebene
Physische Ebene
Wie sieht die Welt aus ?
Welche Strukturen
werden von der
Anwendung
manipuliert?
Wie wird gespeichert ?
32
Die Abstraktionsebenen des
Datenbankentwurfs
Konzeptuelle Ebene
Logische Ebene
Physische Ebene
Studenten sind Personen
mit Matrikel-Nr
1 Tabelle für Uni-Angehörige
und 1 Tabelle für Studenten,
mit Verbindungen
Element mit Matrikel-Nr
1234567 wird abgelegt auf
Block 19
33
Datenmodellierung
Ausschnitt der
realen Welt
Intellektuelle
Modellierung
Konzeptuelles Schema
(UML-Modell)
Relationales
Schema
Objektorientiertes
Schema
Semi-automatische
Transformation
Netzwerk
Schema
34
Die Abstraktionsebenen eines
DBMS
Sicht 1 (Verwaltung)
...
Sicht k (Bibliothek)
Logische Ebene
Datenunabhängigkeit:
Physische Ebene
• physische Unabhängigkeit
• logische Datenunabhängigkeit
35
Modellierung einer Beispielanwendung
reale Welt: Hochschule
Studenten, Prüfungen,
Professoren...
Konzeptuelle Modellierung
Studenten
*
hören
*
Professoren
Vorlesung
36
Logische Datenmodelle
Netzwerkmodell
Hierarchisches Datenmodell
Relationales Datenmodell
Objektorientiertes Datenmodell
Deduktives Datenmodell
37
Das relationale Datenmodell
Studenten
MatrNr Name
26120 Fichte
25403 Jonas
...
...
hören
MatrNr VorlNr
25403 5022
26120 5001
...
...
Vorlesungen
Nr
Titel
5001 Grundzüge
5022 Glaube und Wissen
...
...
Select Name
From Studenten, hören, Vorlesungen
Where Studenten.MatrNr = hören.MatrNr and
hören.VorlNr = Vorlesungen.Nr and
Vorlesungen.Titel = `Grundzüge´;
update
set
where
Vorlesungen
Titel = `Grundzüge der Logik´
Nr = 5001;
38
DB-Anfragen: Flexibilität
Eine Bedingung spezifiziert die entsprechende Teilmenge der
Treffer (Tupeln, Dokumente, …) in der Datenbank.
Boolsche Operationen (AND; OR; NOT) werden verwendet, um
Bedingungen / Treffermengen zu kombinieren.
Wieviele unterschiedliche Teilmengen der Datensammlung lassen
sich mit 3 unterschiedlichen Bedingungen spezifizieren?
Kombinationsmöglichkeiten
für 8 Teilmengen:
a) 7
b) 8
c) 16
d) 256
2
1
5
4
7
3
(0 0 0 0 0 0 0 0)
bis
(1 1 1 1 1 1 1 1)
6
8
28 = 256
39