Tach!
Vor einigen Jahren habe ich eine Tabelle für Handies gemacht. Diese Produktgruppe zeichnet sich dadurch aus, dass sie unbekannte Eigenschaften hat. Zum Beispiel Flugfähigkeit und Geruchsfernsehen, zur Zeit noch unbekannt.
Am Ende ist das aber immer noch ein Produkt, das mit diesen Eigenschaften daherkommt. Man kann sich als Kunde nicht aussuchen, welche Features man haben möchte, sondern kann nur ein komplettes Produkt wählen. Etwas anders ist die Sachlage, wenn man zwischen Ausstattungsmerkmalen wählen kann, also zum Beispiel 16 oder 32 GB Speicher. Das sieht für den Kunden wie ein Produkt in mehreren Varianten aus. Aus der Sicht des Verkäufers sind es aber verschiedene Artikel. Der greift einmal ins Regal und packt die fertige Variante - sprich: den eigenständigen Artikel - ins Paket.
Da hat man also drei Tabellen: 'produkte', 'produkt-Eigenschaften' und 'eigenschaften_zu_produkte'.
Kann man so machen. Das ist im Prinzip das EAV-Muster (Entity-Attribute-Value).
Bekannte Eigenschaften von Schuhen wären die Größen und die Farben. Vielleicht kommt später was hinzu, etwas das Material der Laufsohle.
Größe und Farbe sind Varianten, die eigenständige Artikel ergeben. Materialien hingegen sind lediglich beschreibende Eigenschaften eines Artikels.
Dies Konzept könnte sogar erweitert werden, indem in der 'eigenschaften_zu_produkte' der Warenbestand geführt wird.
Das wäre teilweise unsinnig, solange es sich um Varianten definierende Eigenschaften der Artikel handelt. Die beiden Mobiltelefon-Varianten mit 16 und 32 GB Speicher bilden eigene Warenbestände. Beide haben aber ein buntes Display und Stiftbedienung. Diese Eigenschaften sind für den Bestand irrelevant.
dedlfix.