Inhalt der Vorlesung 1 Datenmodellierung (Entity

Werbung
Inhalt der Vorlesung
Einleitung
Pierre Fierz
Filesysteme
1
Datenmodellierung (Entity-Relationship Modell)
Datenbanken
2
Das relationale Modell
Architektur von
Datenbanksystemen
3
Relationenalgebra
Physische
Datenunabhängigkeit
4
Datenbanksprache (SQL)
Der Datenbank
Administrator (DBA)
5
Normalisierung
6
Vom ERM zum Datenbankschema
7
Routinen und Trigger
8
SQL in Programmiersprachen
9
Transaktionstheorie
10
Java Persistence API
1.1
Literatur
Einleitung
Pierre Fierz
• Original Artikel
• E.F. Codd. A relational model for large shared data banks.
Communications of the ACM, 13(6):9–36, Juni 1970.
• P.P. Chen. The entity-relationship model – towards a unified
view of data. ACM Transactions on Datbase Systems,
1(1):9–36, 1976.
Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
• Bücher
• R. Elmasri and S.B. Navathe. Fundamentals of Database
Systems. Addison Wesley, 5 edition, 2007. ISBN
0-321-41506-X.
• G. Vossen. Datenmodelle, Datenbanksprachen und
Datenbankmanagementsysteme. Oldenburg Verlag,
München Wien, 5 edition, 2008.
• SQL:2011 ISO/IEC 9075:2011 ist die aktuelle Revision
des SQL-Standards.
1.2
Bewertung
Einleitung
Pierre Fierz
Filesysteme
Datenbanken
• Prüfung während des Semesters
Dauer:
90 Minuten
Hilfsmittel: Skript, Slides und eigene Notizen
Gewicht:
25%
• Schlussprüfung
Dauer:
120 Minuten
Hilfsmittel: Skript, Slides und eigene Notizen
Gewicht:
75%
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
1.3
Einleitung
Pierre Fierz
Chapter 1
Filesysteme
Einleitung
Datenbanken
Architektur von
Datenbanksystemen
Lecture Datenbanken
14.02.2014
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
Pierre Fierz
Berner Fachhochschule
Technik und Informatik
1.4
Contents
Einleitung
Pierre Fierz
Filesysteme
1 Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
2 Datenbanken
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
3 Architektur von Datenbanksystemen
4 Physische Datenunabhängigkeit
5 Der Datenbank Administrator (DBA)
1.5
Outline
Einleitung
Pierre Fierz
Filesysteme
1 Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
2 Datenbanken
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
3 Architektur von Datenbanksystemen
4 Physische Datenunabhängigkeit
5 Der Datenbank Administrator (DBA)
1.6
Historisches
Einleitung
Pierre Fierz
Filesysteme
Datenbanken
• Ab 18. Jhrd.: Lochkarten eingesetzt bei Webstühlen
insbesondere der Jacquard Webstuhl
• 1956: Erfindung der Festplatte erste Filesysteme
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
• 1968 – 1975: Hierarchisches Datenmodell
• 1970: Edgar Frank Codd: "A Relational Model of Data for
Large Shared Data Banks".
• 1975 – 1980: Netzwerk Datenmodell
• Ab 1980: Durchbruch des relationalen Datenmodells
1.7
Zugriff auf gemeinsame Daten in einem Filesystem
Einleitung
Pierre Fierz
Filesysteme
Zugriffsregelung
Applikation 1
Datenbanken
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Applikation 2
Der Datenbank
Administrator (DBA)
Applikation 3
Daten
Gemeinsame Daten
1.8
Eigenschaften des Filesystems
Einleitung
Pierre Fierz
Filesysteme
Datenbanken
• Die Applikation regelt den Zugriff auf die Daten selbst
• Daten sind sehr oft redundant
• Das Wiederverwenden der Daten in anderen
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
Applikationen ist schwierig
• Die Datenintegrität ist oft nicht gewährleistet
• Auch kleine Änderungen an der Datenstruktur führen zu
einem erheblichen Programmieraufwand.
1.9
Outline
Einleitung
Pierre Fierz
Filesysteme
1 Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
2 Datenbanken
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
3 Architektur von Datenbanksystemen
4 Physische Datenunabhängigkeit
5 Der Datenbank Administrator (DBA)
1.10
Eigenschaften einer Datenbank
Einleitung
Pierre Fierz
• Die Daten werden klar strukturiert. Es gibt keine
Redundanz
• Die Datenstruktur wird zentral gespeichert und ist
unabhängig von der Applikation.
- Die Anwendungsprogramme sind “datenunabhängig”, d.h.
interne Reorganisationen innerhalb des Datenbanksystems
tangieren die Anwendungsprogramme nicht.
- Die Datenbank ist leicht erweiterbar.
Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
• Die Integrität der Daten wird von der Datenbank garantiert
• Die Daten sind zeitlich persistent und nicht an die
Lebensdauer eines Programms gebunden.
• Den verschiedenen Benutzern stehen spezifische
Datensichten zur Verfügung
1.11
Definition Datenbank
Einleitung
Pierre Fierz
Filesysteme
Datenbanken
Definition
Eine Datenbank ist ein System zur Beschreibung, Speicherung
und Wiedergewinnung von umfangreichen Datenmengen, die
von mehreren Anwendungen (– gleichzeitig –) benutzt werden
können. Sie besteht aus zwei Hauptteilen:
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
• Den eigentlichen Daten und
• Dem Datenbank-Management-System, (DBMS) das
gemäss einer vorgegebenen Beschreibung Daten
speichern, suchen, löschen oder ändern kann.
1.12
Schematische Darstellung eines Datenbanksystems
Einleitung
Pierre Fierz
Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
Applikation1
Daten
Hilfsdaten
Datenbank−Managementsystem
Datenbank
Applikation 2
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
Applikation 3
1.13
Outline
Einleitung
Pierre Fierz
Filesysteme
1 Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
2 Datenbanken
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
3 Architektur von Datenbanksystemen
4 Physische Datenunabhängigkeit
5 Der Datenbank Administrator (DBA)
1.14
Einleitung
ANSI-SPARC-Architektur (1)
Pierre Fierz
Im Jahre 1975 veröffentlichte das American National Standard
Institut (ANSI) eine Studie bezüglich der Architektur eines
Datenbanksystems. Das vorgeschlagene Konzept ist unter
dem Namen 3-Schemen-Architektur bekannt
DBMS
EDS
(View)
Die Welt
(Realität)
EDS
(View)
EDS
(View)
Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
Externe Ebene
LDS
Logische Ebene
PDS
Interne Ebene
(Physische Ebene)
Speichermedium
1.15
ANSI-SPARC-Architektur (2)
Einleitung
Pierre Fierz
• Die logische Ebene (LDS) beschreibt die Struktur der
Daten.
• Zur Beschreibung der Datenstruktur auf dieser Ebene wird
meistens das relationale Modell verwendet.
Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
• Auf der internen Ebene wird die physische Datenstruktur
(PDS) der Daten auf externen Speichermedien
festgehalten.
• Die physische Datenstruktur wird von der logischen
Datenstruktur abgeleitet.
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
• Die auf dieser Ebene eingesetzten Strukturarten sind
Files, B-Trees, Hashtabellen usw.
• Die externe Ebene stellt den einzelnen Benutzern und
Anwendungen individuelle Benutzersichten zur Verfügung.
• Beispiele sind: Formulare, Masken-Layouts, Listen,
Schnittstellen usw.
• Die Werkzeuge sind hier Views, SQL und Schnittstellen.
1.16
Outline
Einleitung
Pierre Fierz
Filesysteme
1 Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
2 Datenbanken
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
3 Architektur von Datenbanksystemen
4 Physische Datenunabhängigkeit
5 Der Datenbank Administrator (DBA)
1.17
Datenabhängige Applikationen (1)
Einleitung
Pierre Fierz
Filesysteme
Datenbanken
In einer datenabhängigen Applikation, sind Organisation und
Zugriff auf die Daten in der Logik der Programme eingebaut.
Zugriff auf Kunden
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
Wir nehmen an, dass über das Feld Name des Kundenfiles
einen B-Tree existiert. Will man den Kunden “Meyer” suchen,
so wird man diese Tatsache ausnutzen und ein Befehl der
folgenden Form schreiben.
get from KUNDE key = ’Meyer’ with index NAME;
1.18
Datenabhängige Applikationen (2)
Einleitung
Pierre Fierz
Anzeigen des Umsatzes der Kunden
Eine weitere Aufgabe ist das Auslisten aller Kunden mit einem
Umsatz, der zwischen zwei gegebenen Zahlen Z1 und Z2 liegt.
Die Kunden sollen nach Umsatz sortiert ausgegeben werden.
Der folgende Pseudocode löst diese Aufgabe in einem
Filesystem.
getfirst from KUNDE;
while (EOF == false) {
if (Umsatz >= Z1 && Umsatz <= Z2) put to TMP;
getnext from KUNDE;
}
sort TMP;
getfirst from TMP;
while (EOF == false) {
print(info);
getnext from TMP;
}
Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
1.19
Definition der physischen Datenunabhängigkeit
Einleitung
Pierre Fierz
Filesysteme
Datenbanken
Definition
Datenunabhängigkeit (engl.: data independence) beschreibt,
zu welchem Grad ein Benutzer oder ein Programm auf die
Daten eines Datenbanksystems zugreifen kann, ohne Details
der systemtechnischen Realisierung der Datenspeicherung
und des Datenzugriffs zu kennen.
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
Änderungen an der physischen Organisation der Daten führen
nicht zu Änderungen in der Software. Was ändern kann ist die
Zugriffsgeschwindigkeit auf die Daten.
1.20
Datenunabhängige Applikationen
Einleitung
Pierre Fierz
Filesysteme
Suchen eines Kunden mit SQL
Datenbanken
Architektur von
Datenbanksystemen
SELECT *
FROM
KUNDE
WHERE Name = ’Meyer’;
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
Auslisten der Kundenumsätze mit SQL
SELECT
FROM KUNDE
WHERE Umsatz >= Z1 AND Umsatz <= Z2
ORDER BY Umsatz;
1.21
Datenunabhängigkeit: Fazit
Einleitung
Pierre Fierz
• Beim Suchen eines Kunden wird beim Filesystem der
Index angegeben.
• Wird der Index fallengelassen, so muss das Programm
angepasst werden.
• In der SQL-Version wird der “Optimizer” entscheiden, wie
die Daten gefunden werden (über den Index oder
sequentiell)
Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
• Wird über den Umsatz ein Index gelegt, so hat dies beim
Filesystem nur einen Einfluss, wenn der Code im
Programm entsprechend angepasst wird.
• Bei der SQL-Version wird wieder der Optimizer
entscheiden, ob ein Index ausgenutzt werden kann. Der
Code muss nicht angepasst werden.
1.22
Outline
Einleitung
Pierre Fierz
Filesysteme
1 Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
2 Datenbanken
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
3 Architektur von Datenbanksystemen
4 Physische Datenunabhängigkeit
5 Der Datenbank Administrator (DBA)
1.23
Aufgabe des Datenbank Administrators
Einleitung
Pierre Fierz
DBA
Filesysteme
Datenbanken
Bei grösseren Datenbanken ist eine Stelle notwendig, die die
zentralen Wartungsaufgaben des Datenbanksystems
wahrnimmt: der Datenbankadministrator.
Datenbankadministrator ist dabei als Rolle zu verstehen – es
muss sich dabei nicht um eine Person handeln. Der
Datenbankadministrator hat die folgenden Aufgaben:
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
• Erstellen und warten der logischen Datenstrukturen
• Definieren und warten der physischen Datenstrukturen
• Datenschutz und -sichrheit durch Rechtevergabe
• Datensicherung
• Leistungsüberwachung mit Hilfe von Statistiken
1.24
Herunterladen