Kapitel 2: Datenbanken

Werbung
2.1 Von Dateien zu Datenbanken
Persistente Datenhaltung in Dateien
Praxis-Anforderungen:
 Integrierte Datenverwaltung innerhalb eines Anwendungsbereichs oder Unternehmens
 Datenbeschreibungen unabhängig von den Programmen speichern (WARUM / WOZU?)
Datenbanksystem:
DBS
sorgt für
dauerhafte
zuverlässige
(von Programmen) unabhängige Verwaltung
sowie komfortable (leicht benutzbare)
flexible (leicht zu ändern)
geschützte Verwendung (Zugriffsrechte)
von großen
integrierten
mehrfach benutzbaren Datenbanken.
Datenfile:
Gegenteil von DB: Wenn Zugriff, dann auf alle Daten
Datenbank:
DB
in sich abgeschlossener Datenbestand
(nicht notwendig sequentieller) Zugriff auf Daten
einheitliche Schnittstelle SQL
Zugriffsrechte
Data Dicionary:
DD
Beschreibungen der Daten in der DB
enthält die Definition der DB, Zugriffsrechte usw.
enthält Pfad zu den Daten
Datenbankmanagementsystem:
Datenbanksystem:
DBMS
beinhaltet die Schnittstelle nach aussen
Programme, mit denen man auf die DB zugreifen kann
legt Reihenfolge der Benutzer fest (Schedule)
verwaltet Zugriff (Rechte und Zeitpunkte), Problem: Schreibzugriffe
'repariert' Inkonsistenzen (z.B. Rechnerabsturz, Stromausfall), letzter
aktueller Stand muss bei Systemcrash verfügbar sein
lädt Daten auf Hauptspeicher
'guckt' ins DD, ob Zugriff erlaubt. Falls ja, 'guckt' in DBs.
DBS = DBMS + DD + n x DB
DBSystem
mehrere Datenbanken
enthält Data Dictionary
enthält Datenbankmanagementsystem
Eigenschaften des DBS:
Verwaltung ist zuverlässig
und unabhängig
Verwendung ist
konsistente Datenbestände
Unversehrtheit der Daten (z.B. bei Stromausfall)
Daten und Programme getrennt
Programmiersprache ungleich 'Datensprache' (d.h. DD ist
unabhängig von Programmiersprache)
komfortabel (Standard SQL)
flexibel (schnelle (Such-)Ergebnisse)
geschützt (Zugriffsrechte)
Größe i.d.R. terrabyte, d.h. zu groß für Hauptspeicher
Integrierte DB:
Redundanzarm (redundanzfrei wäre ideal)
Views zeigen nur relevante Teile
effektive Suche
Mehrfache Benutzung problemlos: durch mehrere Programme
von mehreren Benutzern
Datenmodell-Festlegung mittels
Definitionssprache DL
Charakterisierung der Datenelemente durch
Eigenschaften
Struktur der Datenelemente (Bäume, Tabellen etc.)
Konsistenzbedingungen (z.B. PLZ fünfstellig)
Data Definition Language DDL
zum Aufbau der DB: create...
Manipulationssprache ML erlaubte Operationen:
Speichern
Finden / Sortieren
Ändern
Löschen
Erzeugen / Neueintrag
graphisches Auswerten
Data Manipulating Language DML
DB-Schema: Beschreibung einer konkreten DB, d.h. Anwendung des Datenmodells
Datenmodelle:
Relational (Tabellenform, Kollektion von Relationen)
Hierarchisch (Baumstruktur, Speicherung lineare Liste effizient)
Objektorientiert (Klassendiagramm, Vererbung, vgl. Kap 9)
Netzwerk (Graph als grundlegende Struktur)
2.2 RDBS
Logisches Schema:
Definition der Datenstrukturen durch Tabellen
Structured Query Language: SQL ist eine Data Definition Language (DDL)
1. Generation: Maschinensprache (absolutes Adressieren)
2. Generation: Assemblersprachen (symbolisches Adressieren)
prozessorabhängig
3. Generation: Höhere Programmiersprache (Pascal, C, Fortran)
4. Generation: Nichtprozedurale Sprachen (deskriptive Sprachen)
prozessorunabhängig
besteht nur aus Datenbank-Abfragesprachen
Externes Schema:
erzeugt eine Sicht
create view Umsatzliste
as select PersNr, Name, Umsatz
from Kunde.
Datensatz-Eingabe:
insert into Firma values
('Softtech', 'Softtech GmbH', 'Bochum').
Ausgabe einer Liste: select * from Kunde
where Adresse = 'Dortmund'
and Umsatz > 5000.
Herunterladen