Post on 15-Jan-2016
description
1
Datenbanken für Mathematiker
Dozent: Dr. Brigitte Mathiak (mathiak@gmail.com)
Übungsbetreuung: Lisa Schehlmann
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
4
Wertvolle Daten Addressdaten Personaldaten Kundendaten (einer Bank…) Umfragedaten Warenbestandsdaten Transaktionsdaten (Telefonanrufe, Einkäufe,…) Konstruktionsdaten (Auto, Motor, Kugellager,…) Geoinformationsdaten
(Straßen, Leitungen, Flüsse, Immissionen,…) ….
5
Kosten / Wert
Daten
Software
Hardware
100
10
1
Google (Börsenwert 174,8 Mrd $)
100,000 Rechner a 500 Euro
Bekannte Suchalgorithmen + Data Management
Google kauft YouTube für 1.6 Mrd $
(2006) für Software (?), die Google selbst hat
Warum sollten Sie sich für Datenbanken interessieren?
Daten sind wertvoll
In fast jeder größeren Applikation steckt heutzutage eine Datenbank
6
7
8
Berühmte Systeme Datenbanksysteme:
Oracle DB, IBM DB2, Mysql, Postgres, Microsoft SQL Server, Microsoft Access, etc.
Suchsysteme:Google, Yahoo
Berühmte/interessante Anwendungen:SAP R3Ihr BankkontoIhre HaftpflichtversicherungThe GDB Human Genome Databasewer-kennt-wenFlickr, YouTubeAmazon…
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
10
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
11
Wo benötigt man Methoden des Data Engineering? Desktop
Einloggen (single sign-on) Textverarbeitung Filesystem Addressen
Handy, Smartcards, AutoNein, 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?!
12
Data Engineering
StatistikAlgorithmen
Logik
Modellierung
Systembau
Prozesse
Data Engineering & Management
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
16
Kernfragen Wie verwaltet man Daten?
Intuitiv?Konsistent?Effizient?Sicher?Nebenläufig?
→ Data & Knowledge Engineering
17
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
18
Aufgaben Theoretische Aufgaben
Orientiert am Vorlesungsstoff
Praktische Aufgaben Erstellen und Benutzen einer DB Umgang mit einfachen, aber realistischen Datenmengen Integration mit Anwendungen
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 erfolgreich19
20
Folgendes Buch liegt der Vorlesung zugrunde:
Alfons Kemper und Andre EicklerOldenbourg Verlag, München, 20097. 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)
21
Literatur: A. Kemper , A. Eickler
Datenbanksysteme – Eine Einführung.Oldenbourg Verlag, 2009. 7. Auflage.
A. Silberschatz, H. F. Korth und S. SudarshanDatabase 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 Datenbank-Management-Systeme. Oldenbourg, 2001.
22
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.
23
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.
24
Die Lernampel
Zusatzinformation
Empfehlenswert
Sehr prüfungsrelevant!
25
Jetzt geht’s los!
26
Handhabung der Daten (historisch)
Bänder
Dateisysteme
Satzorientierte Datenmodelle (Codasyl)
Relationale Datenmodelle
PostrelationaleDatenmodelle
90er
80er
70er
60er
50er
Schwerpunkt der Vorlesung
27
Motivation für den Einsatz eines Datenbank-VerwaltungssystemsTypische Probleme:
• Redundanz und Inkonsistenz (Frau Meier wird Frau Meier-Ross)
• 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)
• ......... ?
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
29
Datenbank vs DBMS
Ordner A
Ordner B File 1 File 2Datenbank
DBMS (DB Management-System)
Anwendung
30
Gegenstand der Vorlesung
Wie kann ich DBMS einsetzen?
Data Engineering
Ordner A
Ordner B File 1 File 2
31
Gegenstand der Vorlesung (zum kleineren Teil)
Ordner A
Ordner B File 1 File 2
Ordner A
Ordner B File 1 File 2
Ordner A
Ordner B File 1 File 2
32
Die Abstraktionsebenen des Datenbankentwurfs
Physische Ebene
Logische Ebene
Konzeptuelle Ebene Wie sieht die Welt aus ?
Welche Strukturen werden von der Anwendung manipuliert?
Wie wird gespeichert ?
33
Element mit Matrikel-Nr 1234567 wird abgelegt auf Block 19
1 Tabelle für Uni-Angehörige und 1 Tabelle für Studenten,mit Verbindungen
Studenten sind Personen mit Matrikel-Nr
Die Abstraktionsebenen des Datenbankentwurfs
Physische Ebene
Logische Ebene
Konzeptuelle Ebene
34
Datenmodellierung
Ausschnitt der realen Welt
Konzeptuelles Schema (UML-Modell)
RelationalesSchema
ObjektorientiertesSchema
NetzwerkSchema
IntellektuelleModellierung
Semi-automatischeTransformation
35
Die Abstraktionsebenen eines DBMS
Datenunabhängigkeit:
• physische Unabhängigkeit
• logische Datenunabhängigkeit
Sicht 1 (Verwaltung) Sicht k (Bibliothek)...
Physische Ebene
Logische Ebene
36
Modellierung einer Beispielanwendung
reale Welt: HochschuleStudenten, Prüfungen,
Professoren...
Konzeptuelle Modellierung
Studenten Professoren* hören
Vorlesung
*
37
Logische Datenmodelle
Netzwerkmodell
Hierarchisches Datenmodell
Relationales Datenmodell
Objektorientiertes Datenmodell
Deduktives Datenmodell
38
Das relationale Datenmodell
StudentenMatrN
rName
2612025403
...
FichteJonas
...
hörenMatrN
rVorlNr
2540326120
...
50225001
...
VorlesungenNr Titel
50015022
...
Grundzüge Glaube und Wissen
...Select NameFrom Studenten, hören, VorlesungenWhere Studenten.MatrNr = hören.MatrNr and
hören.VorlNr = Vorlesungen.Nr andVorlesungen.Titel = `Grundzüge´;
update Vorlesungen set Titel = `Grundzüge der
Logik´ where Nr = 5001;
39
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?
a) 7
b) 8
c) 16
d) 256
Kombinationsmöglichkeiten
für 8 Teilmengen:
(0 0 0 0 0 0 0 0)bis
(1 1 1 1 1 1 1 1)
28 = 256
12 3
45
6
78