Rolf B: Entscheidungsschwäche

Beitrag lesen

Liebe Frau Zurbel,

Herr Zwirbel möchte da widersprechen, denn dann hätte er ja letztlich für ein Produkt zwei Tabellen. Auch sein Freund, Bäckermeister Bock, hat nur eine Warentabelle, nicht je eine für Torten und eine für Törtchen, eine für Brot und eine für Brötchen.

Nun ja, der gute Herr Zwirbel modelliert ja hauptberuflich Gartenzwerge. Würde er öfter Datenbanken modellieren, sähe er das bestimmt anders. Das knackige Fräulein Zwo aus der EDV weiß das sicherlich auch. Der Vergleich mit dem Bock, den er zum Gärtner Bäcker gemacht hat, ist da nicht sehr hilfreich, weil Torte und Törtchen bzw. Brot und Brötchen nicht Grundform und Variante sind.

Wenn man ein Datenmodell erstellt, tut man gut daran, scheinbar ähnliche Entitäten nicht zu vermischen. Zwerg und Zwergvariante sind ähnlich, aber nicht gleich; sie unterscheiden sich klar durch die Relation Variante->Zwerg. Darüber hinaus ist ein Zwerg eigenständig verkaufbar, eine Variante aber nur zusammen mit einer Grundform sinnvoll. Es sind verschiedene Entitäten und darum gehören sie konzeptionell in verschiedene Relationen (technisch: Tabellen). Unter gewissen Umständen ist es sinnvoll, ähnliche Relationen gemeinsam in einer Tabelle zu speichern. Das ist eine technische Optimierung, die man betreiben kann, wenn man damit Probleme löst. Im vorliegenden Fall löst man aber keine Probleme, sondern schafft welche, nämlich eine rekursive Beziehung, zu deren Auflösung der Zwerver mehr Daten verarbeiten muss als nötig, weshalb es ihn auch aus den Performance-Socken haut..

Übrigens hat mein Vorschlag den Abverkauf der Grundversionen durchaus berücksichtigt. Sowohl beim Hinweg (alle Zwerge mit ihren Varianten, 1. Query in meinem Posting), als auch beim Rückweg (ordne einem Preis das Produkt oder die Produktvariante zu, 2. Query in meinem Posting).

Ein Lücke hatte mein Vorschlag tatsächlich: Ich ging davon aus, dass ein Zwerg entweder variantenfrei ist, oder dass er Varianten hat und dann immer als Variante verkauft wird. Einen Bierzwerg ohne Einliter- oder Zweiliter-Krug zu verkaufen, das kam mir nicht in den Sinn. Ich habe ja auch nicht den Geschäftssinn des Herrn Zurbel und kein Zwergen-Zimborium. Das kann man aber lösen, wenn man dem Bierzwerg eine dritte Variante verpasst: „ohne Krug“. Damit erledigt man auch das Problem, dass es Zwergengrundformen geben könnte, deren Abverkauf nur zusammen mit einer Variante möglich ist. Ich denke da an den Trumpzwerg, den es in den Varianten „Dickkopf“, „Dummkopf“, „Laberkopf“ und „Querkopf“ gibt. Aber einen kopflosen Trumpzwerg - den hat man noch nicht gesehen!

Wenn Sie das knackige Fräulein Zwo aus Ihrer EDV da vielleicht einmal zu Rate ziehen möchten? Bestimmt versteht die diese Queries und sagt dann: „Oh, so funzt das ja. Und sogar schnell!“. Aber, hm, wenn Fräulein Zwo dieses Modell ursprünglich erstellt hat, sollte man sie nicht zu Rate, sondern an den Ohren ziehen und ihr sagen: „Nun gucken Sie mal, SO geht das!“

Rolf

--
sumpsi - posui - clusi