übrigens zu der frage unbgrenzter für den lagerbestand bedeutender optionen: es muss ja eine tabelle bestehen, die die möglichen optionen als fremdschlüssel enthält und dann noch den aktuellen lagerbestand. das problem ist nun das, dass ich bei der definition der tabellen wissen muss, wieviele fremdschlüssel vorzusehen sind. egal wieviele es sind: die zahl ist begrenzt.
die einzige möglichkeit, dieses problem zu umgehen, wäre, die schlüssel der optionen in jeder denkbaren weise mit einander zu kombinieren (=kartesianisches produkt), zu sortieren, duplikate auszuschliessen und mit dem so erstellten neuen zusammengesetzten schlüssel den lagerbestand zu verknüpfen. eine direkte abfrage, ohne zuvor den zusammengesetzten schlüssel jedesmal auf genau diese weise wieder herzustellen, wäre dann völlig unmöglich.
in der folge treten folgende zwei probleme auf:
- die performance leidet stark und mit zunehmender anzahl produkte und optionen immer mehr
- ein import oder ein bezug auf die daten von einer anderen anwendung ohne interface ist nahezu unmöglich
ich hoffe, dass die im erd integrierten zwei optionen (für den lagerbestand) sowie daneben der unbegrenzten anzahl freier optionen für die anwendung als shop ausreichend sind.
als beispiel. es wäre jetzt (mit obigen erd) möglich, bei einem kleidungsstück sowohl die farbe als auch die grösse zu wählen und den aktuellen lagerbestand zu sehen. eine dritte, vierte und fünfte option könnte ohne weiteres ebenfalls angegeben werden. für diese und die daraus entstehenden kombinationsmöglichkeiten könnte allerdings einfach kein lagerbestandswert aufgenommen werden.
allerdings muss man sich bei allen einschränkungen, die diese lösung sicher mit sich bringt, auch eines bewusst sein (oder bewusst machen): man könnte im extrem fall verlangen, dass ein shop mit nur einem einzigen produkt auskommen muss und alle denkbaren kombinationen einfach aus optionen zusammen zu stellen. dieses beispiel ist nicht so absurd, wie es vielleicht den anschein haben mag. gehen wir zum beispiel von 2 optionen und je 10 verschiedene werten aus, die jede option haben kann, dann ergeben sich bereits 100 verschiedene lagerbestände. bei drei optionen und gleicher anzahl werte sind es bereits 1000. und nehmen wir bei gleicher annahme (10 werte je option) an, es gäbe zum beispiel 5 optionen, dann sind wir bereits bei 100'000 kombinationen. ich denke, das ist auch für einen grossen shop viel, sehr viel sogar.
oder ein anschauliches beispiel. ein kleiderhersteller hat ein und dasselbe kleidungsstück in z.b. 10 farben, 7 verschiedenen grössen, in 5 verschiedenen stoffen und 6 aktuellen schnitten an lager (das sind gerade mal 4 optionen). das wären dann bereits schlappe 2100 verschiedene kombinationen. ich gehe mal davon aus, dass in solchen fällen (bei einer grossen anzahl kombinationsmöglichkeiten) kein lagerbestand mehr vorgenommen werden würde. wenn wir davon ausgehen, dass der shop vielleicht 1000 verschiedene artikel enthält, dann müsste dieser shop (wir sprechen von einem shop in contenido, nicht vergessen!) 2.1 millionen kleidungsstücke wenigstens je einmal an lager halten (und fortwerfen, wenn er sie nicht verkaufen kann). und wiederum: er wird jedes stück mehr als einmal an lager halten wollen, sonst lohnt sich lagerhaltung nicht. sagen wir z.b. er hält 50 stück an lager: wir sind inzwischen bei 105 millionen artikel angelangt...
