Folie 1 - Lehrstuhl für Angewandte Informatik

Werbung
Technische Universität München
Übung zur Einführung in die Informatik
für Hörer anderer Fachrichtungen
im Sommersemester 2010
Sitzung 6: Datenbanksysteme –
Überblick und Einführung
Jan Herrmann
Lehrstuhl für
Angewandte Informatik /
Kooperative Systeme
*ab Folie 5 angelehnt an Prof. A. Kemper (http://www3.in.tum.de/teaching/ws0910/)
Technische Universität München
Überblick Sitzung 6 bis 13
• Block 1: Programmierung mit Java
• Block 2: Datenbanksysteme
–
–
–
–
–
–
Sitzung 6: Überblick und Einführung (28.06)
Sitzung 7: Relationales Modell, Schemavereinfachung (04.06)
Sitzung 8: Normalformen (11.06)
18.06  keine Zentralübung!
Sitzung 9: SQL - insert, update, delete und einfache select Queries (25.6
Sitzung 10: komplexe Queries, Constraints und Trigger (02.07)
• Block 3: HTML und Webanbindung von Datenbanken
– Sitzung 11: HTML & CSS (09.07)
– Sitzung 12: JDBC, Servlets, JSP (16.07)
• Sitzung 13: Besprechung der Probeklausur, Fragestunde (23.06)
2
Technische Universität München
Allgemeines zum Ablauf
• Zentralübung:
– ergänzender Stoff zur Vorlesung,
– Anmerkungen zur Lösung des Übungsblattes der letzten Woche
• Hausaufgabe:
– Wiederholung Stoff VL und ZÜ
– Bearbeitung der Übungsblätter (nicht nur Nachvollziehen!)
• fachliche Fragen  Forum
• organisatorische Fragen per Mail an mich
3
Technische Universität München
Literatur zum Block 2: Datenbanksysteme
• A. Kemper , A. Eickler
Datenbanksysteme – Eine Einführung.
Oldenbourg Verlag, 2009. 7. Auflage.
• A. Kemper, M. Wimmer
Übungsbuch Datenbanksysteme
Oldenbourg Verlag, 2. Auflage, 2009.
4
Technische Universität München
Motivation für den Einsatz eines
Datenbank-Verwaltungssystems (DBMS)
Typische Probleme bei Informationsverarbeitung ohne DBMS
• Redundanz und Inkonsistenz
• Beschränkte Zugriffsmöglichkeiten
• Probleme beim Mehrbenutzerbetrieb
• Verlust von Daten
• Integritätsverletzung
• Sicherheitsprobleme
• hohe Entwicklungskosten für Anwendungsprogramme
5
Technische Universität München
Die Abstraktionsebenen eines Datenbanksystems
Sicht1
Sicht 2
Sicht 3 ...
Tabelle Student:
MatrNr
VName
NName
…
1234
Hans
Müller
…
…
…
…
…
…
…
…
…
0010101010101010
Logische Ebene
Physische Ebene
Datenunabhängigkeit:
• physische Unabhängigkeit
• logische Datenunabhängigkeit
6
Technische Universität München
Datenmodellierung
Ausschnitt der
Realen
Miniwelt
Manuelle/intellektuelle
Modellierung
Konzeptuelles Schema
(ER-Schema)
Halbautomatische
Transformation
Relationales
Schema
XML
Schema
Netzwerk
Schema
Objektorientiertes
Schema
7
Technische Universität München
Modellierung einer kleinen Beispielanwendung
Studenten
Professoren
Vorlesungen
Reale Welt: Universität
Konzeptuelle Modellierung
MatrNr
Studenten
PersNr
Professoren
Name
hören
Vorlesungen
Name
lesen
VorlNr
Titel
8
Technische Universität München
Logische Datenmodelle
•
•
•
•
•
Netzwerkmodell
Hierarchisches Datenmodell
Relationales Datenmodell
XML Schema
Objektorientiertes Datenmodell
• Objektrelationales Schema
• Deduktives Datenmodell
9
Technische Universität München
Das relationale Datenmodell
Studenten
hören
Vorlesungen
MatrNr
Name
MatrNr
VorlNr
VorlNr
Titel
26120
25403
...
Fichte
Jonas
...
25403
26120
...
5022
5001
...
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.VorlNr and
Vorlesungen.Titel = `Grundzüge´;
update
Vorlesungen
set Titel = `Grundzüge der Logik´
where
VorlNr = 5001;
10
Technische Universität München
Architekturübersicht eines DBMS
„Naive“
Benutzer
Fortgeschrittene AnwendungsBenutzer
Programmierer
Interaktive
Anfrage
Anwendung
Präcompiler
DML-Compiler
Datenbankadministratoren
Verwaltungswerkzeug
DDL-Compiler
DBMS
Anfragebearbeitung
Datenbankmanager
Schemaverwaltung
Dateiverwaltung
Logdateien
Indexe
Datenbasis
Mehrbenutzersynchr.
Fehlerbehandlung
Hintergrundspeicher
Datenwörterbuch
11
Technische Universität München
Datenbankentwurf
Abstraktionsebenen des Datenbankentwurfs
1. Konzeptuelle Ebene
2. Implementationsebene (logische Ebene)
3. Physische Ebene
12
Technische Universität München
Phasen des Datenbankentwurfs
Anforderungsanalyse
Anforderungsspezifikation
Konzeptueller Entwurf
ER Schema
Informationsstruktur
DBMSCharakteristika
Implementationsentwurf
logische DB-Struktur
Physischer Entwurf
Hardware/BSCharakteristika
physische Datenbankstruktur
13
Technische Universität München
Anforderungsanalyse
1. Identifikation von Organisationseinheiten
2. Identifikation der zu unterstützenden Aufgaben
3. Anforderungs-Sammelplan
4. Anforderungs-Sammlung
5. Filterung
6. Klassifikationen
7. Formalisierung
14
Technische Universität München
Objektbeschreibung
• Uni-Angestellte
 Gehalt
- Anzahl: 1000
• Typ: dezimal
- Attribute
• Länge: (8,2)
 PersonalNummer
• Typ: char
• Länge: 9
• Anzahl Wiederholung: 0
• Identifizierend: nein
 Rang
• Wertebereich:
0...999.999.999
• Typ: String
• Anzahl Wiederholungen: 0
• Anzahl Wiederholung: 0
• Identifizierend: ja
• Identifizierend: nein
• Länge: 4
15
Technische Universität München
Beziehungsbeschreibung: prüfen
• Beteiligte Objekte:
- Professor als Prüfer
- Student als Prüfling
- Vorlesung als Prüfungsstoff
• Attribute der Beziehung:
- Datum
- Uhrzeit
- Note
• Anzahl: 300 000 pro Jahr
16
Technische Universität München
Prozeßbeschreibungen
• Prozeßbeschreibung: Zeugnisausstellung
- Häufigkeit: halbjährlich
- benötigte Daten
 Prüfungen
 Studienordnungen
 Studenteninformation
 ...
- Priorität: hoch
- Zu verarbeitende Datenmenge
 3000 Studenten, 3000 Prüfungen
 10 Studienordnungen
17
Technische Universität München
Phasen des Datenbankentwurfs
Anforderungsanalyse
Anforderungsspezifikation
Konzeptueller Entwurf
ER Schema
Informationsstruktur
DBMSCharakteristika
Implementationsentwurf
logische DB-Struktur
Physischer Entwurf
Hardware/BSCharakteristika
physische Datenbankstruktur
18
Technische Universität München
Entity/Relationship-Modellierung
• Entity (Gegenstandstyp)
MatrNr
• Relationship (Beziehungstyp)
Name
Semester
Student
Hörer
• Attribut (Eigenschaft)
hören
• Schlüssel (Identifikation)
Lehrveranstaltung
• Rolle
Vorlesung
VorlNr
Titel
SWS
19
Technische Universität München
Universitätsschema
MatrNr
Name
Student
voraussetzen
NachVorgänger
folger
hören
Vorlesung
Note
lesen
prüfen
PersNr
Fachgebiet
SWS
Titel
Semester
Name
VorlNr
Rang
Assistent
arbeitenFür
Professor
PersNr
Name
Raum
20
Technische Universität München
Funktionalitäten
1
z.B. verheiratet
1
R
E1 (z.B. Männer)
E2 (z.B. Frauen)
R  E1 x E2
1:1
N:1
E1
E2
1:N
N:M
21
Technische Universität München
Funktionalitäten
1
z.B. MdL
N
R
E1 (z.B. BL)
E2 (z.B. Mensch)
R  E1 x E2
1:1
N:1
E1
E2
1:N
N:M
22
Herunterladen