Customers basket

Aus Wiki | modified eCommerce Shopsoftware
Zur Navigation springenZur Suche springen

Tabelle customers_basket[Bearbeiten]

Warenkorbinhalte

Die Tabelle speichert den Warenkorbinhalt des Kunden. Normalerweise wird dieser in den Sessionvariablen gespeichert. Die Ablage in der Tabelle ermöglicht, daß der Warenkorbinhalt über die Lebensdauer der Session (Logout, Wiederlogin) erhalten bleibt.

Feldname Datentyp Beschreibung
customers_basket_id int(11) Datensatz ID (Primärschlüssel)
customers_id int(11) Kunden ID, Ref. Tab. customers
products_id tinytext Artikel ID, Ref. Tab. products
customers_basket_quantity int(2) Artikelanzahl
final_price decimal(15,4) Preis
customers_basket_date_added varchar(8) Datensatz Anlage Datum


11.01.2012 peter Anmerkungen:

- final_price: Wozu? Preise werden doch live berechnet? Bei etwa 1900 Basket-Datensätzen in unserem xt:c basierten Shop steht da überall 0.0

- customers_basket_date_added: Sollte hier nicht ein für Datumsangaben geeigneter Datentyp wie z.B. datetime gewählt werden?

- products_id: Da dieses Feld eigentlich den Primärschlüssel von products.products_id referenzieren soll, sollte der Datentyp wie products.products_id sein.

Das ist notwendig für:

- spätere mögliche Umstellung von MyISAM Tabellentyp auf Tabellentypen, die echte Referenzen zwischen Datenbanktabellen erlauben. (InnoDB) Dies ermöglicht z.B. mit einem Produkt in products zusammenhängende Daten zu entfernen/zu ändern, ohne dass das extra programmiert werden muss. Das erledigt dann je nach Konfiguration der Referenz die Datenbank selbständig.

- automatische Datenbankdokumentation mit Lerneffekt durch Auswertung von INFORMATION_SCHEMA

- Möglicherweise sind JOINS zwischen den referenzierten Tabellen schneller, da der Datentyp für den JOIN intern nicht konvertiert werden muss. Inwieweit das wirklich an diesen Tabellen Performanceauswirkungen hat, müsste getestet werden.

           
anything