Die Entwicklung einer Definition zum Begriff „Rechnerarchitektur“

Werbung
Otto-Nagel-Gymnasium
Fachbereich Informatik
O. Wagner
INFORMATIK BASISKURS
Datenbanken und Datenschutz
4) Daten im Relationenmodell
Entwicklung der Datenmodelle
Das älteste Datenmodell ist das „hierarchische Datenmodell“, das
in den 50er und 60er Jahren aus den Informations-ManagementSystemen der frühen Jahre der Informatik hervorging. Besonders
Banken und Versicherrungen setzten dieses Datenmodell in ihren
Großrechenanlagen ein – zum Teil existieren diese auch heute
noch, da die Übertragung der Daten in ein neues System hohe
Kosten verursachen kann. Im hierarchischen Datenmodell werden
alle Entitäten in Datensätzen zusammengefasst. Alle Beziehungen
zwischen den Daten werden in hierarchischen Baumstrukturen
dargestellt, d.h. es werden „Parent-Child Relationships (PCR)“ zu
Grunde gelegt. Dadurch sind nur 1:1 und 1:n Beziehungen
möglich. Die wichtigen n:m Beziehungen müssen durch Redundanzen oder „virtuelle PCRs“ erzeugt
werden, was eine Schwäche dieses Modells darstellt. Die Verarbeitung der Daten erfolgt dann durch
die „Navigation“ von einem Datensatz zum nächsten über die Referenzen.
Verglichen damit ist das Anfang der 70er Jahre entwickelte „relationale Datenmodell“ sehr einfach
strukturiert. Es besteht im Wesentlichen nur aus zweidimensionalen Tabellen, in deren Zeilen die
Datensätze eingetragen sind. Mathematisch gesehen ist eine Tabelle die Beschreibung einer
Relation: Die eingetragenen Daten stehen „in Relation“ zueinander (=“sie stehen in der gleichen
Zeile“). Die in den Tabellen (Relationen) gespeicherten Daten werden durch entsprechende
Operatoren nach den Gesetzen der mathematischen Mengenlehre verarbeitet. Beziehungen zwischen
den Tabellen werden ebenfalls in Tabellen abgelegt, in denen nur die Schlüsselwerte der zu
verknüpfenden Datensätze abgelegt werden. Dadurch sind alle Beziehungstypen möglich.
Die meisten in der Praxis eingesetzten DBMS sind für relationale Datenbanken konzipiert („relationale
Datenbankmanagementsysteme“, RDBMS). Im allgemeinen Sprachgebrauch ist deshalb in der Regel
eine relationale Datenbank bzw. ein RDBMS gemeint, wenn von Datenbanken die Rede ist. Für
relationale Datenbanken gibt es mit SQL eine verbreitete und größtenteils standardisierte
Abfragesprache.
Vom ERM in eine relationale Datenbank
Das ER-Modell besitzt zwei grundlegende Strukturelemente: Entitäten und Beziehungen. Dem steht
im relationalen Modell nur ein Strukturierungskonzept (Relation bzw. Tabelle) gegenüber. Also werden
Entitäten und Beziehungstypen jeweils auf eine Relation abgebildet.
1) Relationale Darstellung von Entitäten
Entitäten werden mit der Gesamtheit ihrer Attribute in eine Relation überführt: Jedes Attribut wird zu
einer Spalte der Tabelle, wobei die Spaltenreihenfolge irrelevant ist. Es ist aber üblich, mit dem oder
den Schlüsselattributen zu beginnen.
Mitgliedsnr
Spieler
Vorname
Mitgliedsnr
Vorname
Name
Position
714
Maria
Stambo
Vorstopper
901
Carola
Figero
Torhüter
1803
Franzi
Herke
Rechtsaußen
…
…
…
…
Spieler
Name
Position
-1-
Otto-Nagel-Gymnasium
Fachbereich Informatik
O. Wagner
INFORMATIK BASISKURS
Datenbanken und Datenschutz
4) Daten im Relationenmodell
2) Relationale Darstellung von Beziehungstypen
Im ersten Entwurf wird man für jeden Beziehungstyp eine eigene Relation definieren, einige dieser
Relationen können später noch mit anderen Relationen zusammengefasst werden.
Ganz allgemein gilt: Relationen bilden sich ab aus
1. den Primärschlüsseln aller beteiligten Entitäten
2. den der Relation zugeordneten Attributen
Durch die Primärschlüssel wird festgehalten, welche Datensätze zueinander in Beziehung stehen und
die Attribute verhalten sich wie die der Entitäten. Wieder ist die Reihenfolge der Spalten irrelevant,
aber es ist üblich, mit den Schlüsseln zu beginnen:
A1
Beziehung
A2
E1
S (E1)
E3
Beziehung
S (E2)
S (E3)
A1
A2
E2
Die Schlüssel der beteiligten Entitäten, S(E1) S(E2) S(E3), werden als Fremdschlüssel bezeichnet.
Zur Verdeutlichung ein vorläufiges Beispiel:
Mannschaft
Spieler
trainiert
Trainer
Mitgliedsnr
714
901
1803
…
trainiert
Personalnr
Mannschaft
10013
Damen Fußball D Jugend
10017
Damen Fußball A Jugend
10013
Damen Fußball D Jugend
…
…
Die Relation trainiert benötigt nur den Primärschlüssel der beteiligten Entitäten, alle weiteren Daten
(d.h. deren übrigen Attribute) können dann den Tabellen der Entitäten entnommen werden. Das
Attribut der Beziehung ist hingegen in dieser Tabelle vorhanden.
Es kann notwendig sein, dass man einige der aus den Entitäten übernommenen Attributnamen (auch
Primärschlüssel sind Attribute!) umbenennen muss. Das ist einmal zwingend notwendig, wenn die
Attribute der unterschiedlichen Entitäten gleich benannt sind und zum anderen sinnvoll, um die
Bedeutung als Fremdschlüssel deutlich zu machen.
-2-
Otto-Nagel-Gymnasium
Fachbereich Informatik
O. Wagner
INFORMATIK BASISKURS
Datenbanken und Datenschutz
4) Daten im Relationenmodell
In diesem Beispiel wurden die Kardinalitäten noch nicht beachtet, bei denen wir unterschiedliche Fälle
zu berücksichtigen haben:
Fallunterscheidungen für verschiedene Kardinalitäten
Auch in den Tabellen, die Beziehungen darstellen, müssen Schüssel definiert werden, mit dem jeder
Eintrag eindeutig gekennzeichnet ist, d.h. nur Spalten, in denen keine Duplikate einer Ausprägung
auftreten können, können als Schlüssel verwendet werden. Bei der Übertragung vom ERM in das
Relationenmodell müssen eine oder mehrere Spalten als Schlüssel festgelegt werden.
1 : n – Beziehung
Der Schlüssel der „n-Seite“ bildet den Schlüssel der Relation, da er bereits eindeutig identifizierend ist.
Beispiel: In einem Sportverein hat jede Sportstätte genau einen Hauptverantwortlichen zugeteilt
bekommen, diese können aber für mehrere Hallen oder Sportplätze verantwortlich sein (1:n
Beziehung). Überträgt man diese Beziehung in eine Tabelle, so ergeben sich mehrere Zeilen mit dem
gleichen Platzwart, aber jede Sportstätte taucht maximal einmal auf:
1
Platzwart
Sportstätte
Name
AÖL-Arena
AÖL-Halle
Tennis-Platz
Fitness-Haus
…
1
verantwortlich
verantwortlich
Platzwart
Anwesenheitszeiten
Personalnr
10116
Mo-Fr 9:00-13:00
10116
Mo-Fr 14:00-18:00
10118
Mo-Sa 11:00-17:30
10119
Mo-Fr 10:00-18:30
…
…
1
n
Sportstätte
Anwesenheitszeiten
Der Fremdschlüssel der Entität Platzwart (Name) ist kein Schlüssel in der Tabelle verantwortlich, da er
mehrfach auftreten kann. Der Name der Sportstätten hingegen („n-Seite“ der Beziehung), kann nur
einmal auftreten. Dieser Fremdschlüssel ist also gleichzeitig Schlüssel in der Tabelle verantwortlich.
Verfeinerung der 1 : n – Beziehung
Aus einer 1:n Beziehung und den beiden beteiligten Entitäten werden folglich drei Tabellen (denn jede
Entität wird zu einer eigenen Tabelle). Diese drei Tabellen lassen sich in einem weiteren Schritt zu
zwei Tabellen zusammenfassen, indem die Tabelle der Beziehung an die Entitätstabelle der „n-Seite“
angegliedert wird:
Platzwart
Sportstätte
Personalnr
Name
Name …
Platzwart
Durchwahl
Anwesenheitszeiten
Personalnr
10116
Schmidt …
AÖL-Arena
10116
-970
Mo-Fr 9:00-13:00
10117
Herberg …
AÖL-Halle
10116
-980
Mo-Fr 14:00-18:00
10118
Becker
…
Tennis-Platz
10118
-910
Mo-Sa 11:00-17:30
10119
Krause
…
Fitness-Haus
10119
-930
Mo-Fr 10:00-18:30
…
…
…
…
…
…
…
Die Tabelle Platzwart („1-Seite“) bleibt unverändert. Ihr Primärschlüssel, der zuvor in die Tabelle der
Beziehung verantwortlich übernommen wurde (und dort ein Fremdschlüssel war), erscheint nun wie
ein weiteres Attribut in der Tabelle Sportstätte (wieder als Fremdschlüssel). In dieser Tabelle kann
eine bestimmte Ausprägung jedoch mehrfach erscheinen, daher ist „Personalnr“ kein Schlüssel der
Tabelle Sportstätte!
Das Attribut der Beziehung verantwortlich erscheint ebenfalls als weiteres Attribut der „n-Seite“.
-3-
…
…
…
…
…
Otto-Nagel-Gymnasium
Fachbereich Informatik
O. Wagner
INFORMATIK BASISKURS
Datenbanken und Datenschutz
4) Daten im Relationenmodell
n : m – Beziehung
In einer n:m Beziehung bilden beide Fremdschlüssel bilden den Schlüssel der Relation:
1
Mitglieder
Mitgliedsnr
1003
2123
2123
1522
…
n
1
Ist aktiv in
ist aktiv in
Sportarten
Bemerkung
22
Landesauswahl-Spieler
22
14
MVP Preis Saison 2005
14
…
…
m
Sportarten
Bemerkung
1 : 1 – Beziehung
In einer 1:1 Beziehung ergeben sich theoretisch drei Tabellen. Wenn in einem Sportverein jedem
Mitarbeiter ein Büro zugeteilt wird, entsteht das folgende ERM:
1
Mitarbeiter
1
1
arbeitet in
Übersetzt man dieses in Tabellen, so ergibt sich:
Mitarbeiter
arbeitet in
Personalnr
Personalnr
Raumnr
Name …
10001
Beck
…
10001
422
10002
Krone …
10002
517
…
…
…
…
…
1
Büro
Raumnr
422
517
…
Büro
Durchwahl
-516
-810
…
…
…
…
…
Verfeinerung der 1:1 - Beziehung
Wie man leicht sieht, lassen sich diese Tabellen auch zusammenfassen, entweder Büro als
zusätzliches Attribut zu Mitarbeiter oder anders herum. Bei der Entscheidung sollte man beachten,
dass so wenige Nullwerte wie möglich entstehen. In diesem Beispiel würde man, wenn es viele
Mitarbeiter ohne Büros gibt (z.B. Trainer), die Tabelle Büro um ein Attribut Mitarbeiter ergänzen. Für
den Fall, dass es viele Räume ohne Arbeitsplätze gibt, würde man die Tabelle Mitarbeiter um das
Attribut Büro ergänzen:
Personalnr
10001
10002
10013
10017
…
Name
Beck
Krone
Mangat
Höner
…
Mitarbeiter
Funktion
Geschäftsführerin
Sportlicher Leiter
Jugendtrainer
Jugendtrainerin
…
Büroraum
422
517
Durchwahl
-516
-810
…
…
…
…
…
…
…
…
Quellen


A. Kemper, A. Eickler: Datenbanksysteme. Eine Einführung, München 20045.
www.wikipedia.org (Schlagworte: Hierarchisches Datenmodell, relationale Datenbank)
-4-
Herunterladen