Tutorial: Optionen und Attribute in Datenbank

Aus Wiki | modified eCommerce Shopsoftware
Zur Navigation springenZur Suche springen

(by Hendrik Koch, 08.2009)

Optionen und Attribute in der Datenbank der modified eCommerce Shopsoftware

Im folgenden wird die Datenbankstruktur von Attributen und Optionen schrittweise an Beispielen erklärt.

Ein Shop verkauft Fernseher, diese gibt es in 2 Gehäusefarben, Silber und Anthrazit. Weiterhin besteht das Angebot eines Vorort-Reparaturservices für eine Wählbare Laufzeit 12 bis 36 Monate.

Optionen und Attribute. Definition[Bearbeiten]

Für die Fernseherbaureihe gibt es die 2 Optionen (options).

1.	24h-Service
2.	Gehäusefarbe

Diese Optionen sind gespeichert in der Tabelle products_options.

Tutorial options image001.gif

Wir tragen die Optionen in eine leere modified eCommerce Shopsoftware-Installation ein. In Tabelle products_options liegen nun 2 Einträge.

Tutorial options image002.gif

Nun gibt es zu den Optionen Werte (options_values). Wir haben 6 Optionswerte. 4x Service und 2x Farbe

1.	kein Service
2.	12 Monate Service
3.	24 Monate Service
4.	36 Monate Service
5.	Anthrazit
6.	Silber

Diese Optionswerte sind unabhängig in eine weitere Tabelle eingetragen. Tabelle products_options_values.

Tutorial options image003.gif Tutorial options image004.gif

Die language_id lautet stets 2 für Deutsch. Dazu später mehr.

Wie erfolgt nun die Zuordnung Optionen – Optionswerte?

Dies geschieht über eine weitere Zuordnungstabelle products_options_values_to_products_options


Tutorial options image005.gif

Die Feldnamen sagen aus wie die Zuordnung erfolgt.

Tutorial options image006.gif

Entsprechend die Einträge in der Zuordnungstabelle.

Tutorial options image007.gif

Wie werden die Optionen und Optionswerte nun den Artikeln zugeordnet? Auch hier erneut eine Zuordnungstabelle. Tabelle products_attributes. Die Zuordnung Optionen-Artikel trägt die Bezeichnung „Attribute“ (attributes). Sie verbindet

-	Artikel
-	Optionen
-	Optionswerte

Für jede Optionsauswahl die der Kunde treffen darf befindet sich darin ein Eintrag.

Tutorial options image008.gif

Tutorial options image009.gif

Wir haben einen Artikel, einen Fernseher, mit Artikel-ID (products_id) 200. Bei diesem stehen alle Optionen zur Auswahl. Alle 4 Services (kein bis 36 Monate) und zwei Farben. Tabelle products_attributes enthält nun folgende Einträge:

Tutorial options image010.gif

Einen zweiten Fernseher, products_id=201, gibt es nur mit mindestens 24 Monaten Service. Entsprechend reduziert seine Einträge in Tabelle products_attributes

Tutorial options image011.gif

Sprachen[Bearbeiten]

In den Tabellen products_options und products_options_values stehen die Options- bzw. Wertenamen im Klartext. Erinnerung:

Tutorial options image012.gif

Tutorial options image013.gif

Wird das System mehrsprachig konfiguriert, woher entnimmt es die Namensinformation in der jeweiligen Sprache? Antwort: Die Einträge sind stets mehrmals vorhanden. Für jede Sprache ein eigener Eintrag. Bei einem zweisprachigen System, Deutsch und Englisch, sähen die Einträge in den Tabellen so aus.

Tutorial options image014.gif

Tutorial options image015.gif

Daher ist bei verknüpften Datenbankabfragen stets die Bedingung language_id mit anzugeben, da es andernfalls, wenn mehrsprachige Systeme vorliegen, zu mehrdeutigen Abfrageergebnissen käme.