Übersicht über Datenbanken
Vergleich zwischen „normaler“ Datenorganisation und Datenbanken Definition einer Datenbank
Beispiel (inkl. Zugriff)
Der Datenbankadministrator Relationale Datenbanken Transaktionen
Mehrbenutzerbetrieb mit Datenorganisation
Anwendungs- programm 1
. . . E
n d b e n u t z e r
Anwendungs- programm 2 Anwendungs- programm 3
Anwendungs- programm n
. . .
Datei
Datei
Datei
Datei 1
3
2
m
Dateien mit
Zugriffsstrukturen komplexen
seltene Direktzugriffe
. . .
Schematischer Zugriff auf Datenbanken
Anwendungs- programm 1
. . . E
n d b e n u t z e r
Anwendungs- programm 2 Anwendungs- programm 3
Anwendungs- programm n
. . .
Datei
Datei
Datei
Datei 1
3
2
m . . .
Datenbank
Datenbankverwaltungssystem
Datenbankschnittstelle
Definition einer Datenbank
Definition (Datenbank):
Eine Datenbank ist eine Sammlung von Daten,
die untereinander in einer logischen Beziehung stehen und
die von einem eigenen Datenbankverwaltungssystem (Database Management System, DBMS) verwaltet werden.
Getraenkelager
Nr Sorte Hersteller Typ Anzahl
1 Hell Lammsbräu Träger 12
3 Roggen Thurn und Taxis Träger 10
4 Pils Löwenbräu Träger 22
8 Export Löwenbräu Fass 6
11 Weißbier Paulaner Träger 7
16 Hell Spaten 6er Pack 5
20 Hell Spaten Träger 12
23 Hell EKU Fass 4
24 Starkbier Paulaner Träger 4
26 Dunkel Kneitinger Träger 8
28 Märzen Hofbräu Träger 3
33 Leichtes Weizen Lammsbräu Träger 6 36 Alkoholfreies Pils Löwenbräu 6er Pack 5
39 Weißbier Erdinger Träger 9
47 Pils Bischofshof Fass 3
Zugriffe auf die Getränkedatenbanken
SELECT Sorte, Hersteller, Anzahl FROM Getraenkelager
WHERE Sorte = ‘Weißbier’ ;
INSERT
INTO Getraenkelager
VALUES (43, ‘Dunkel’, ‘Kaltenberg’, Träger, 6) ;
UPDATE Getraenkelager
SET Anzahl = Anzahl +1 WHERE Nr = 11 ;
DELETE
FROM Getraenkelager WHERE Nr = 47 ;
Datenbanken im Überblick
3 Marktführer:
Oracle (Oracle): 30 % DB2 (IBM): 30 %
SQL-Server (Microsoft): 15 %
Verbreitete “einfache” Datenbanken:
MS-Access mySQL
Ocelot
Datenbank-Administrator
Aufgaben des Administrators:
Einrichten einer Datenbank
Betrieb und Kontrolle der Datenbank
Schnittstellen einer Datenbank:
Data Description Langugage (DDL) Kontrollsprache (in DDL integriert) Data Manipulation Language (DML)
Aufgabenteilung:
„Normaler“ Benutzer: DML (Select, Update, Insert, Delete)
Administrator: DDL (Create Table, Drop Table, Grant, Revoke)
Relationale Datenbanken
Relationale Datenbanken
Vorteile leichte Änderbarkeit des Datenbankaufbaus, mathematisch fundiert,
leicht programmierbar und verwaltbar
Nachteile häufig viele Ein-/Ausgaben notwendig,
erfordert eine hohe Rechnerleistung,
erzeugt Redundanz
Objektorientierte Datenbanken
Objektorientierte und -relationale Datenbanken
Vorteile objektorientierter Aufbau, universell einsetzbar,
noch relativ einfach programmierbar und verwaltbar,
(meist) aufwärtskompatibel zu relationalen Datenbanken
Nachteile relativ viele Ein-/Ausgaben notwendig,
erfordert eine relativ hohe Rechnerleistung,
teilweise recht komplexer Aufbau
Hierarchische und netzwerkartige Datenbanken
Hierarchische Datenbank netzwerkartige Datenbank
Transaktionen
Abfrage: Lesezugriff
Mutation: einzelner Schreibzugriff Transaktion: konsistenzerhaltende Operation
Definition: Eine Datenbank heißt in sich konsistent, wenn alle gespeicherten Daten untereinander widerspruchsfrei sind.
Definition: Daten heißen redundant, wenn sie mehr als einmal in einer Datenbank abgespeichert werden, also an sich überflüssig sind.
Beispiel: Eine Firma speichert seid ihres Bestehens alle Lieferungsein- und -ausgänge ab. Ebenso wird der aktuelle Bestand gespeichert. Eines dieser Daten lässt sich aber aus den beiden anderen berechnen. Es liegen redundante Daten vor. Welches dieser Daten sollte dann gelöscht werden?