4
|
Fachwörterbuch Relationale Datenbanken
Technische Hinweise
Technische Fragen im Hinblick auf die Darstellung der Begriffe,
Konzepte und Beispiele in diesem Fachwörterbuch werden im Fol-
genden aufgelistet:
1.
Schlüsselwörter, Variablennamen und dergleichen werden kom-
plett in Großbuchstaben geschrieben.
2.
Codebeispiele werden (meistens) in einer Sprache namens
Tutorial D angegeben. Ich denke zwar, dass die Beispiele sich
im Großen und Ganzen von selbst erklären, doch auch die Ele-
mente von Tutorial D werden in diesem Fachwörterbuch unter
den Einträgen für die diversen relationalen Operatoren (Union,
Join, Restriktion usw.) definiert. Eine vollständige Beschrei-
bung dieser Sprache finden Sie in dem Buch Databases, Types,
and the Relational Model: The Third Manifesto, dritte Auflage,
von C. J. Date und Hugh Darwen (Addison-Wesley). Hinweis:
Wie der Untertitel schon sagt, enthält dieses Buch auch eine
Einführung in das Dritte Manifest, eine präzise, allerdings sehr
formale Definition des relationalen Modells und eine Typen-
theorie (einschließlich eines umfassenden Modells der Typver-
erbung). Der Name D wird als generischer Name für jede
Abbildung 1: Die Lieferanten-und-Teile-Datenbank: Beispielwerte
S1
S2
S3
S4
S5
S#
Smith
Jones
Blake
Clark
Adams
SNAME
20
10
30
20
30
STATUS CITY
London
Paris
Paris
London
Athens
S
P1
P2
P3
P4
P5
P6
P#
Nut
Bolt
Screw
Screw
Cam
Cog
PNAME
Red
Green
Blue
Red
Blue
Red
COLOR WEIGHT
12.0
17.0
17.0
14.0
12.0
19.0
P
CITY
London
Paris
Oslo
London
Paris
London
S1
S1
S1
S1
S1
S1
S2
S2
S3
S4
S4
S4
S# P#
300
200
400
200
100
100
300
400
200
200
300
400
QTY
SP
P1
P2
P3
P4
P5
P6
P1
P2
P2
P2
P4
P5
Einleitung
|
5
Sprache benutzt, die sich an die Prinzipien des Dritten Mani-
fests hält. Theoretisch können beliebig viele unterschiedliche
Sprachen gültiges D sein, doch leider gehört SQL nicht dazu.
Aus diesem Grund werden die Beispiele in diesem Fachwörter-
buch in Tutorial D und nicht in SQL angegeben. (Tutorial D
ist natürlich eine gültige D-Sprache.)
3.
Auch alle relationalen Definitionen in diesem Fachwörterbuch
sollen dem im Dritten Manifest dargestellten relationalen
Modell voll und ganz entsprechen. Es kann also passieren,
dass gewisse Aspekte dieser Definitionen für Sie etwas überra-
schend sind, wie etwa im Eintrag für verzögerte Prüfung die
Behauptung, dass die Logik dieser Prüfung fehlerhaft ist. Wie
ich bereits sagte: Dieses Fachwörterbuch bezieht Stellung.
4.
In der Branche ist es mittlerweile üblich, Begriffe wie Projek-
tion und Join (und so weiter) in zweierlei Sinn zu benutzen:
nämlich als Namen für die betreffenden Operatoren und als
Namen für die Ergebnisse eines Aufrufes dieser Operatoren.
Gelegentlich bin ich in diesem Fachwörterbuch ebenso verfah-
ren. Hoffentlich stürzt das niemanden in Verwirrung.
5.
Darüber hinaus werden die Begriffe Projektion und Join (und
so weiter) ebenfalls nach Branchenstandard noch in einem wei-
teren Sinne benutzt: Per Definition sind diese Operatoren spe-
zifisch für Relationswerte, insbesondere natürlich für diejenigen,
die gerade die aktuellen Werte von Relvars sind. Also ist es bei-
spielsweise absolut vernünftig, von der Projektion von Relvar
R auf Attribut A zu sprechen und damit die Relation zu mei-
nen, die dabei herauskommt, wenn man den aktuellen Wert r
dieses Relvars R auf dieses Attribut A projiziert. In manchen
Zusammenhängen (beispielsweise bei der Normalisierung) ist
es einfacher, Ausdrücke wie »Projektion von Relvar R auf
Attribut A« in einem etwas anderen Sinne zu verwenden. So
könnte man – etwas ungenau, aber sehr passend – sagen, dass
ein Relvar (z.B. RA) die Projektion von Relvar R auf Attribut A
ist, und damit meinen, dass der Wert von RA in dem gegebe-
nen Zeitraum zu jedem Zeitpunkt die Projektion des Werts
von R auf A ist. In gewissem Sinne können wir also von Projek-
6
|
Fachwörterbuch Relationale Datenbanken
tionen der eigentlichen Relvars sprechen und nicht nur von
Projektionen der aktuellen Werte dieser Relvars. Analog gilt
dies übrigens für alle relationalen Operationen.
6.
Bestimmte Definitionen (bestimmter Operatoren zum Bei-
spiel) erfordern es, dass bestimmte Werte spezifische Typen
haben müssen. Der Einfachheit halber sage ich das nicht jedes
Mal explizit, sondern setze an gegebener Stelle voraus, dass
diese Bedingung erfüllt ist.
7.
Einige Definitionen und Beispiele verwenden eine vereinfachte
Notation für Tupel. Ein Beispiel ist das SP-Tupel in Abbildung 1
für Lieferant S1 und Teil P1. Eine formale Darstellung dieses
Tupels in Tutorial D würde wie folgt aussehen:
TUPLE { S# S#('S1'), P# P#('P1'), QTY QTY(300) }
In der vereinfachten Notation würde dasselbe Tupel folgender-
maßen dargestellt:
<S1,P1,300>
8.
Der Begriff einer Menge ist im Datenbankumfeld allgegenwär-
tig. Auf Papier wird eine Menge normalerweise als kommage-
trennte Liste von Symbolen (den Elementen) dargestellt, die in
geschweifte Klammern eingefasst sind, etwa wie in: {a,b,c}.
Daher werde ich im Folgenden kommagetrennte Listen in
geschweiften Klammern verwenden, wenn diese Listen Ele-
mente einer Menge enthalten. Das impliziert unter anderem,
dass (a) die Reihenfolge der Elemente in der Liste keine Bedeu-
tung hat und (b) ein Element, das mehrmals auftritt, behan-
delt wird, als träte es nur einmal auf.
9.
Auch auf den Begriff Logik trifft man im Datenbankumfeld
überall. Besonders das relationale Modell basiert auf Logik,
genauer gesagt, auf der konventionellen zweiwertigen Prädika-
tenlogik, hier abgekürzt als 2VL (siehe dort). Wann immer in
diesem Fachwörterbuch von Logik die Rede ist und der Kon-
text nichts anderes verlangt, ist diese spezifische Logik damit
gemeint.
10.
Viele Einträge in diesem Fachwörterbuch haben mit Konzep-
ten aus der Logik zu tun. Doch leider sind sich Autoren und

Get Fachwörterbuch Relationale Datenbanken kurz & gut now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.