Relationale Datenbanken | HUB
| PhilFak
I | IB |
IS
Eingeführt am: 25.06.1998; Letzte Änderung:
11.05.2000 - IS
Relationale
Datenbanksysteme
Relationale Datenbanksysteme
im
einfachsten Sinne Programme, die Daten in Form von Tabellen verwalten (Knorz,
1997, S. 669)
basieren auf dem Relationen-Modell, das Ende der 60er Jahre von E.F. Codd
entwickelt wurde
Terminologie
 |
Relation: eine Tabelle, in der in
zweidimensionaler Anordnung die Datenelemente erfaßt sind, wobei:
-
Bestandsrelation: bildet eine Objektklasse
mit identischen Merkmalen (Feldern) ab
-
Beziehungsrelation: schafft eine Beziehung
zwischen zwei verschiedenen Bestandsrelationen
|
 |
relationale Datenbank: eine aus verschiedenen
Relationen (Bestands- und ggf. Beziehungsrelationen) aufgebaute Datenbank |
 |
Tupel: ein Datensatz bzw. eine einzelne
Zeile in der Tabelle; enthält alle auf ein Objekt bezogenen Feldwerte
bzw. Merkmalsausprägungen |
 |
Attribut: einzelne Spalte in der Tabelle
(Feld von einem bestimmten Datenfeldtyp) |
 |
Domäne: Menge der verschiedenen
Feldwerte eines Attributs |
 |
Schlüsselfeld: dient der eindeutigen
Identifikation eines Tupels in einer Relation und der Herstellung von Beziehungen
zwischen verschiedenen Relationen |
Struktur
einer relationalen Datenbank
Aufbau
einer Relation (Bestandsrelation zur Abbildung einer Objektklasse):
| Kunden- nummer |
Firma |
Ort |
Umsatz |
| 10010 |
Müller |
München |
175.000 |
| 10011 |
Maier |
Hamburg |
100.000 |
| 10012 |
Adams |
Köln |
125.000 |
| 10013 |
Kaiser |
Zürich |
110.000 |
| 10014 |
Weber |
Innsbruck |
185.000 |
Beziehungen
zwischen Objekten verschiedener Objektklassen
-
können in folgenden Verhältnissen auftreten:
-
1 : 1 (Beispiel: Firmen - Firmenchefs)
-
1 : n (Beispiel: Firmen - Niederlassungen)
-
m : n (Beispiel: Firmen - Produkte)
-
werden über Schlüsselfelder
hergestellt, wobei
-
das Schlüsselfeld der einen Relation als
Fremdschlüssel in die andere aufgenommen (bei 1:1 und 1:n-Beziehungen)
wird, oder
-
eine Beziehungsrelation gebildet wird, in der
die Schlüsselfelder der Ausgangsrelationen Fremdschlüssel in
dieser neuen Relation sind. Diese Beziehungsrelation erhält entweder
ein eigenes Schlüsselfeld oder aber die beiden Fremdschlüssel
bilden gemeinsam den "Zusammengesetzten Schlüssel".
-
Beispiel für eine direkte 1:n-Beziehung
(Michelson):
Artikel n : 1 Artikelgruppe
Relation "Artikel"
Relation "Artikelgruppe"
| Artnr |
Name |
Möbelart |
Artgrnr |
|
Artgrnr |
Bezeichnung |
Lagerort |
| 110 |
Felix |
Stuhl |
M10 |
|
M10 |
Eßmöbel |
A25 |
| 120 |
Bruno |
Tisch |
M10 |
|
M15 |
Kleinmöbel |
B13 |
| 125 |
Pascha |
Sessel |
M37 |
|
M16 |
Gartenmöbel |
C12 |
Zur
Realisierung der Beziehung zwischen beiden Relationen wird der Schlüssel
"Artgrnr" von "Artikelgruppe" als Fremdschlüssel in "Artikel" aufgenommen.
Ist
eine m:n-Beziehung vorhanden, so muß ausgehend von zwei Relationen
eine neue Relation, eine Beziehungsrelation, hergestellt werden. Diese
kann weitere Informationen enthalten.
Verknüpfung der Bestandsdateien "Kunde" und "Artikel" in
der Datenbank eines Handelsunternehmens zur Registrierung der Bestellungen
(-> Datei "Aufträge")
Will
man nun die Bestellung eines Artikels durch einen Kunden registrieren,
kann man nicht einfach einen Schlüssel der einen Relation in die andere
übernehmen: Ein Kunde kann verschiedene Artikel bestellen, ein Artikel
kann von verschiedenen Kunden bestellt werden. Um also Mehrfacheinträge
zu vermeiden, wird eine dritte Relation, "Auftrag", gebildet, die
eine Beziehungsrelation (im Gegensatz zu den Bestandsrelationen "Kunde"
und "Artikel" darstellt:
Relation KUNDE
| Kundennr. |
Firma |
Adresse |
Kreditlimit |
Rabatt |
| 100010 |
Müller |
München |
10000 |
25% |
| 100011 |
Maier |
Hamburg |
20000 |
14% |
| 100012 |
Adams |
Köln |
11000 |
10% |
| 100013 |
Kaiser |
Zürich |
17000 |
25% |
| 100014 |
Weber |
Bern |
22000 |
30% |
Relation ARTIKEL
| Artikelnr. |
Bezeichnung |
Lagerbestd. |
Verk.-Preis |
| A10101 |
10 Disketten3,5 |
10.000 |
05,50 |
| A10102 |
10 Disketten5,25 |
02.000 |
04,17 |
| D20103 |
Farbband 22S |
01.500 |
27,75 |
| D20104 |
Endlospapier |
01.000 |
15,10 |
Relation AUFTRAG
| Kundennr. |
Artikelnr. |
Menge |
Datum |
Netto-Wert |
| 100013 |
D20103 |
1000 |
10.2.92 |
20612,5 |
| 100012 |
D20104 |
1000 |
10.2.92 |
12966,0 |
| 100010 |
A10101 |
1100 |
11.2.92 |
04537,5 |
| 100013 |
A10101 |
1400 |
11.2.92 |
05775,0 |
Die
Fremdschlüssel "Kundennummer" und "Artikelnummer" bilden
die Beziehung und in der neuen Relation den zusammengesetzten Schlüssel.
Zwischen den Bestandsrelationen "Kunde" bzw. "Artikel" und
der Beziehungsrelation "Auftrag" besteht logischerweise eine 1 :
n - Beziehung. Auch bei einer 1:1 - oder einer 1 : n - Beziehung ist die
Einrichtung einer Beziehungsrelation zulässig und manchmal auch sinnvoll.
Bei einer m : n - Beziehung ist eine Beziehungsrelation zwingend.
Relationenmodell
-
wurde von E.F. Codd 1970 begründet
-
Grundbegriffe: der mathematische Begriff Relation
und der Begriff Schlüssel
-
verbunden mit dem Begriff der Normalisierung
(Ziel: Schaffung von Redundanzfreiheit)
Normalformenlehre
-
bestimmt allgemein, welche Abhängigkeiten
zwischen Attributen zulässig sind. Eine Relation genügt einer
bestimmten Normalform, wenn sie keine Abhängigkeiten aufweist, die
darin nicht zulässig sind. Insgesamt sind bisher fünf Normalformen
definiert. Normalisierungen geschehen immer durch Aufspalten einer Relation
in zwei oder drei Relationen.
-
umfaßt folgende Stufen:
-
Ausgangspunkt ist die unnormalisierte Form
bzw. eine einzige umfassende Relation (universial relation)
-
enthält alle Merkmale bzw. Attribute der
Objekte, die in die Datenbank aufgenommen werden sollen
-
beschreibt die Attribute einer Relation per Definition
und durch Angabe eines Datentyps bzw. Wertebereichs
-
gängige Datentypen
-
string (fixed, variable)
-
integer (fixed, floating point)
-
date
-
enumerative (red, yellow, green ...)
-
logic (yes/no)
-
muß in den folgenden Stufen so in weitere
Relationen zerlegt werden, daß keine Redundanzen (Mehrfachinformationen)
und Datenabhängigkeiten mehr auftreten
-
Erste Normalform
-
beseitigt Hierarchien und löst mehrwertige
Attribute auf
-
Probleme (bzw. Anomalien), die eine Überführung
der Relation in die Zweite und Dritte Normalform erforderlich machen (s.a.
Knorz,
Abb. 4.1):
-
Mehrfachspeicherung von Attributwerten bedingt
erhöhten Aufwand bei Änderungen oder aber Inkonsistenzen (nach
Codd: "update dependency")
-
Neuerfassungen von Datensätzen sind erst
möglich, wenn der Schlüssel eines Datensatzes vorliegt (nach
Codd: "insertion dependency")
-
Löschungen von Datensätzen können
dazu führen, daß Informationsverluste eintreten (nach Codd:
"deletion dependency")
-
Zweite Normalform
-
schafft sinnvolle Teiltabellen, wobei ein Attribut
zum Schlüssel der Relation bestimmt wird. Die Angabe des Schlüssels
ist für jede Relation obligatorisch.
-
In der 2. Normalform ist jedes Nichtschlüsselattribut
voll funktional vom Schlüssel abhängig, nicht von Teilen des
Schlüssels und auch von keinem anderen Nichtschlüsselattribut.
Zudem ist die Erste NF erfüllt.
-
Dritte Normalform
-
In der 3. Normalform wird die transitive Abhängigkeit
aller Nichtschlüsselattribute von Schlüsselattributen, d.h. die
Abhängigkeit über ein anderes Attribut, beseitigt. Auch hier
sind die Erste NF und die Zweite NF erfüllt.
Beispiel für eine Normalisierung:
Datenbankbeschreibungen (s.a. Datensätze
aus Gale
Directory of ... databases bei DIALOG).
Relationaler Datenbankentwurf
| Aufgabe bzw. Problem |
Daten sollen verwaltet werden |
| Werkzeug (nicht Lösung!) |
ein verfügbares Datenbankmanagementsystem
(DBMS) |
| Ziel |
eine Datenbank, die die Struktur des Weltausschnitts
sinnvoll widerspiegelt (repräsentiert), so daß die in diesem
Ausschnitt anfallenden Daten so gespeichert und verwendet werden können,
wie es aus Nutzungs- bzw. Anwendungssicht erforderlich ist |
"Diese Struktur ist nicht einfach gegeben, sie
muß z.T. entdeckt und z.T. konstruktiv entworfen werden, und zwar
beim konzeptionellen Datenbankentwurf" (Knorz, S. 665).
DBMS:
-
die Software, welche
-
die von den Anwendungsprogrammen verlangten Zugriffe
wie Lesen, Ändern, Einfügen und Löschen von Daten auf die
Datenbank ausführt
-
die für die Ausführung der Zugriffswünsche
notwendigen Operationen auf der physischen Ebene veranlaßt und dafür
sorgt, daß die Daten in der im externen Schema festgelegten Form
an den Anwender abgegeben werden
-
vermittelt zwischen folgenden Schichten bzw.
Abstraktionsniveaus (Schichtenmodell):
-
physische Schicht
-
legt fest, wie die Daten auf dem Datenträger
abgelegt werden (physischen Speicherstrukturen) und welche Zugriffsmethoden
gegeben sein sollen
-
wird als Schnittstelle zum DBMS vorausgesetzt,
so daß Geräteunabhängigkeit gegeben ist
-
interne Schicht
-
schafft Unabhängigkeit von Zugriffspfaden
und Speicherstrukturen
-
bietet u.a. Möglichkeiten zur Darstellung
aller Informationen über den Aufbau der abgespeicherten Daten, die
Speicherung der Daten usw.
-
wird realisiert über Dateien, Sätze,
Felder, Indexing-Techniken, Datenkompression, Pointer etc.
-
konzeptionelle Schicht
-
beschreibt die Struktur der Datenbank (logische
Datenorganisation) und schafft damit Datenunabhängigkeit
-
externe Schichten bzw. Schemata
-
definieren für die einzelnen Nutzungsanwendungen
individuelle Sichten auf die Datenbank
-
sind also die Anwendungsprogramme, wobei jede
Anwendung den Eindruck haben soll, als sei die Datenbank einzig und ausschließlich
für ihre Zwecke definiert.
Diese Schnittstellenhierarchie ist insbesondere
seit den entsprechenden Empfehlungen des Standards Planing and Requirement
Commitee (SPARC) des American National Standards Committee on Computers
and Information Processing (ANSI/X3-SPARC-Report) zum Ausgangspunkt der
Datenbanksystem-Architektur geworden (Langendörffer, S. 13).
Schritte, die notwendig sind, wenn ein Anwendungsprogramm
einen Datensatz lesen will (Langendörffer, 1979, S.15):
-
Das Anwendungsprogramm ruft das DBMS auf.
-
Das DBMS wertet das vom Anwenderprogramm verwendete
externe Schema aus, entnimmt diesem also die Beschreibung der verlangten
Daten.
-
Das DBMS greift auf das konzeptuelle Schema
zu und besorgt für die in Frage kommenden Daten die entsprechenden
Teile dieser Schicht.
-
Das DBMS verschafft sich die benötigten
Teile des internen Modells, ermittelt, welche physischen Sätze
zu lesen sind, und legt die ggf. auszunutzenden Zugriffspfade fest.
-
Das DBMS übergibt dem Betriebssystem (physische
Schicht) die Nummern der zu lesenden Speicherblöcke.
-
Das Betriebssystem übergibt die verlangten
Blöcke dem DBMS in einem Pufferspeicher (Cache).
-
Alle erforderlichen Datenumformungen, die durch
Unterschiede zwischen konzeptuellem und externem Schema bedingt
sind, werden vom DBMS durchgeführt.
-
Das DBMS überträgt die Daten vom Systempuffer
in den Arbeitsspeicher des Anwendungsprogramms, wo sie dann weiterverarbeitet
werden können.
Entsprechend dem auf der konzeptionellen Ebene
angebotenen Datenmodell spricht man von einem Hierarchischen, Netzwerk-
oder relationalen Datenbanksystem.
Im relationalen Modell besteht das konzeptionelle
Schema aus einer Menge von Relationen, die Objekte und Beziehungen zwischen
Objektklassen repräsentieren.
Anwendungsbereiche für DBMS:
-
Abgrenzbarkeit von Datenelementen (gleicher Merkmale
von Objekten) aus dem abzubildenden Weltausschnitt und Identifikation festumrissener
Repräsentationsmöglichkeiten gleichartiger Datenelemente (Objekte
einer Klasse)
-
Notwendigkeit, dieselben Daten unterschiedlich
zusammenzustellen, also aus verschiedenen Perspektiven (Sichten) zu betrachten
Relationaler Datenbankentwurf nach der Coddschen
Normalformenlehre
| Normalformenlehre |
d.i. formale Entwurfsmethode für relationale
Datenbanken
bietet Regeln zur Optimierung des Datenmodells |
| relationaler Datenbankentwurf |
d.h. benötigte Relationen im Einzelnen
festlegen |
| relationale DBMS |
stellen für die spätere Nutzung
ein klar umrissenes Inventar an Operationen zur Verfügung, mit dem
sich als Ergebnis einer Anfrage neue Sichten auf den Datenbestand aus den
vorhandenen Relationen ableiten lassen. |
Zum Entwurf
"Die Gründe für den Erfolg des
relationalen Datenbank-Konzeptes sind ein überzeugender Beleg für
die Behauptung, derzufolge "nichts so praktisch ist wie eine gute Theorie"
:-))))) (Knorz, S. 669).
Merkmale
relationaler Datenbanken im Vergleich zu Datenbanken unter IRS
Quellen:
Datenbanken
(Skript für Studenten der Wirtschaftsinformatik an der TU Berlin)
Hüther, H.: Das Relationenmodell und
seine Möglichkeiten für Retrievalsysteme im Bereich der Informationswissenschaft.
- In: Datenbasen, Datenbanken, Netzwerke : Praxis des Information Retrieval
/ hrsg. von Rainer Kuhlen. - München (u.a.) : Saur. - Bd. 2: Konzepte
von Datenbanken. - 1979. - S. 59-84
Knorz, G.: Datenbank-Entwurfsmethoden. - In:
Grundlagen der praktischen Information und Dokumentation. - 4. Ausg., 1997.
- S. 664-687.
Langendörffer, H.: Datenmodelle und die
Anwendung eines CODASYL-artigen Datenbanksystems auf ein Dokument-Retrieval-System.
- In: Datenbasen, Datenbanken, Netzwerke : Praxis des Information Retrieval
/ hrsg. von Rainer Kuhlen. - München (u.a.) : Saur. - Bd. 2: Konzepte
von Datenbanken. - 1979. - S. 11-58
Michelson,
M.:
Aufbau von Datenbanken
Umstätter: Rolle der Digitalen Bibliothek
im Wissensmanagement : Einige grundlegende Gedanken. - In: Informations-
und Wissenstransfer in der Medizin und im Gesundheitswesen / Hrsg. K.-H.
Kaltenborn. - (ZfBB Sonderheft ; 72)
rel-db2.htm