Databases Reference
In-Depth Information
So werden Prädikate gelegentlich in der Form p ( t )= startsWith ( 0 D 0 , name ) für
Texte genutzt, die genau dann den Wert „wahr“ haben, wenn ein Name mit
„D“ anfängt. Man kann sich vorstellen, dass mit komplexeren Funktionen und
Vergleichsoperatoren auch die Verarbeitungsdauer, die das RDBMS benötigt, zu-
nimmt. Doch sind dies „nur“ praktische Aspekte. Das relationale Modell ist für
beliebige Wertemengen und ihre Vergleichsoperatoren geeignet. Probleme gibt es
nur mit Attributen, deren Werte wieder Relationen sind.
4.12
Wiederholungsgruppen
Bei der aus Westernfilmen bekannten Poker-Variante Five Card Draw hält jeder
Spieler immer genau fünf Karten in der Hand. Einen passenden Relationentyp
können wir folgendermaßen definieren:
spieler( id , name, karte1, karte2, karte3, karte4, karte5)
Wir haben eine solche Lösung mit nur einem Relationentyp und benötigen keine
Joins. Für die Praxis ist die Anwendung dieser Wiederholungsgruppen
(dt. für
repeating groups) allerdings nicht zu empfehlen:
Am offensichtlichsten ist die mangelnde Robustheit: Wenn wir uns doch für
ein anderes Kartenspiel - etwa mit einer variablen Anzahl von Karten je Spie-
ler - interessieren, ist der Typ spieler ungeeignet.
Viel unangenehmer ist es aber, Ausdrücke mit der Relationenalgebra zu for-
mulieren. Der Leser mag sich die Mühe machen und eine Selektion formulie-
ren, die alle Spieler ermittelt, die ein Herz-Ass auf der Hand haben.
Hinweis
Meiden Sie Wiederholungsgruppen.
Anders sieht die Sache aus, wenn sich die Attribute lediglich ähneln, aber doch
eine unterschiedliche Semantik haben. Beim Schach gibt es immer einen Spieler,
der die weißen, und einen Spieler, der die schwarzen Figuren führt. Denkbar wäre
hier der Relationentyp
spiel ( id , spielerweiss, spielerschwarz, zuege )
Ob zwei Attribute semantisch verschieden sind, ist im Allgemeinen sehr vom
Kontext abhängig.
 
Search WWH ::




Custom Search