Chapter 1 - BFH-TI Staff

Werbung
Inhalt der Vorlesung
Einleitung
Einleitung
Literatur
Pierre Fierz
Pierre Fierz
Filesysteme
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
• 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.1
Bewertung
1.2
Einleitung
Einleitung
Pierre Fierz
Pierre Fierz
Chapter 1
Filesysteme
• 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%
Filesysteme
Einleitung
Datenbanken
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Datenbanken
Architektur von
Datenbanksystemen
Lecture Datenbanken
14.02.2014
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
Der Datenbank
Administrator (DBA)
Pierre Fierz
Berner Fachhochschule
Technik und Informatik
1.3
1.4
Contents
Einleitung
Einleitung
Outline
Pierre Fierz
Pierre Fierz
Filesysteme
1 Filesysteme
Filesysteme
1 Filesysteme
Datenbanken
Datenbanken
Architektur von
Datenbanksystemen
2 Datenbanken
Physische
Datenunabhängigkeit
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
2 Datenbanken
Der Datenbank
Administrator (DBA)
Der Datenbank
Administrator (DBA)
3 Architektur von Datenbanksystemen
3 Architektur von Datenbanksystemen
4 Physische Datenunabhängigkeit
4 Physische Datenunabhängigkeit
5 Der Datenbank Administrator (DBA)
5 Der Datenbank Administrator (DBA)
1.5
Historisches
Einleitung
1.6
Zugriff auf gemeinsame Daten in einem Filesystem
Pierre Fierz
Pierre Fierz
Filesysteme
Filesysteme
Zugriffsregelung
Datenbanken
• Ab 18. Jhrd.: Lochkarten eingesetzt bei Webstühlen
insbesondere der Jacquard Webstuhl
• 1956: Erfindung der Festplatte erste Filesysteme
Einleitung
Applikation 1
Datenbanken
Architektur von
Datenbanksystemen
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Physische
Datenunabhängigkeit
Applikation 2
Der Datenbank
Administrator (DBA)
Der Datenbank
Administrator (DBA)
• 1968 – 1975: Hierarchisches Datenmodell
• 1970: Edgar Frank Codd: "A Relational Model of Data for
Applikation 3
Large Shared Data Banks".
• 1975 – 1980: Netzwerk Datenmodell
• Ab 1980: Durchbruch des relationalen Datenmodells
Daten
1.7
Gemeinsame Daten
1.8
Eigenschaften des Filesystems
Einleitung
Outline
Pierre Fierz
Pierre Fierz
Filesysteme
Filesysteme
1 Filesysteme
Datenbanken
• Die Applikation regelt den Zugriff auf die Daten selbst
• Daten sind sehr oft redundant
• Das Wiederverwenden der Daten in anderen
Einleitung
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Architektur von
Datenbanksystemen
2 Datenbanken
Der Datenbank
Administrator (DBA)
Applikationen ist schwierig
Datenbanken
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
3 Architektur von Datenbanksystemen
• Die Datenintegrität ist oft nicht gewährleistet
• Auch kleine Änderungen an der Datenstruktur führen zu
4 Physische Datenunabhängigkeit
einem erheblichen Programmieraufwand.
5 Der Datenbank Administrator (DBA)
1.9
Eigenschaften einer Datenbank
Einleitung
1.10
Definition Datenbank
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.
Einleitung
Pierre Fierz
Filesysteme
Filesysteme
Datenbanken
Datenbanken
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
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
• Die Integrität der Daten wird von der Datenbank garantiert
• Dem Datenbank-Management-System, (DBMS) das
gemäss einer vorgegebenen Beschreibung Daten
speichern, suchen, löschen oder ändern kann.
• Die Daten sind zeitlich persistent und nicht an die
Lebensdauer eines Programms gebunden.
• Den verschiedenen Benutzern stehen spezifische
Datensichten zur Verfügung
1.11
1.12
Schematische Darstellung eines Datenbanksystems
Einleitung
Outline
Pierre Fierz
Pierre Fierz
Filesysteme
Filesysteme
1 Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
Applikation1
Daten
Applikation 2
Hilfsdaten
Datenbank−Managementsystem
Datenbank
Einleitung
Physische
Datenunabhängigkeit
Datenbanken
Architektur von
Datenbanksystemen
2 Datenbanken
Der Datenbank
Administrator (DBA)
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
3 Architektur von Datenbanksystemen
Applikation 3
4 Physische Datenunabhängigkeit
5 Der Datenbank Administrator (DBA)
1.13
Einleitung
ANSI-SPARC-Architektur (1)
1.14
ANSI-SPARC-Architektur (2)
Pierre Fierz
Einleitung
Pierre Fierz
• Die logische Ebene (LDS) beschreibt die Struktur der
Daten.
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)
• Zur Beschreibung der Datenstruktur auf dieser Ebene wird
Filesysteme
Datenbanken
meistens das relationale Modell verwendet.
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
Externe Ebene
LDS
Logische Ebene
PDS
Interne Ebene
(Physische Ebene)
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,
Speichermedium
Schnittstellen usw.
• Die Werkzeuge sind hier Views, SQL und Schnittstellen.
1.15
1.16
Outline
Einleitung
Datenabhängige Applikationen (1)
Pierre Fierz
1 Filesysteme
Pierre Fierz
Filesysteme
Filesysteme
Datenbanken
Datenbanken
Architektur von
Datenbanksystemen
2 Datenbanken
Einleitung
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
3 Architektur von Datenbanksystemen
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.
4 Physische Datenunabhängigkeit
get from KUNDE key = ’Meyer’ with index NAME;
5 Der Datenbank Administrator (DBA)
1.17
Datenabhängige Applikationen (2)
Einleitung
1.18
Definition der physischen Datenunabhängigkeit
Pierre Fierz
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
Filesysteme
Datenbanken
Datenbanken
Architektur von
Datenbanksystemen
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
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.19
1.20
Datenunabhängige Applikationen
Einleitung
Datenunabhängigkeit: Fazit
Pierre Fierz
Pierre Fierz
• Beim Suchen eines Kunden wird beim Filesystem der
Filesysteme
Suchen eines Kunden mit SQL
Index angegeben.
Datenbanken
Architektur von
Datenbanksystemen
SELECT *
FROM
KUNDE
WHERE Name = ’Meyer’;
Einleitung
• Wird der Index fallengelassen, so muss das Programm
angepasst werden.
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
• 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)
Auslisten der Kundenumsätze mit SQL
• Wird über den Umsatz ein Index gelegt, so hat dies beim
SELECT
FROM KUNDE
WHERE Umsatz >= Z1 AND Umsatz <= Z2
ORDER BY Umsatz;
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.21
Outline
Einleitung
1.22
Aufgabe des Datenbank Administrators
Pierre Fierz
Pierre Fierz
Filesysteme
1 Filesysteme
DBA
Datenbanken
Filesysteme
Datenbanken
Architektur von
Datenbanksystemen
2 Datenbanken
Einleitung
Physische
Datenunabhängigkeit
Der Datenbank
Administrator (DBA)
3 Architektur von Datenbanksystemen
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
4 Physische Datenunabhängigkeit
• Datenschutz und -sichrheit durch Rechtevergabe
• Datensicherung
5 Der Datenbank Administrator (DBA)
• Leistungsüberwachung mit Hilfe von Statistiken
1.23
1.24
Herunterladen