The current MySQL diagram for any X-Cart version with extensive comments can be found in the sql/xcart_tables.sql file.
The X-Cart database consists of four major clusters:
- Customers — information on users registered with your store, including customers, providers, partners and administrators.
- Products — product information, such as name, description, images, price, weight, etc.
- Categories — product category data.
- Orders — order details, including product, buyer, delivery and payment details, as well as related discount and gift options.
Each cluster has its own a set of data tables that are linked within the unit and with related tables in other units.
In an X-Cart based store, customers purchase products by placing orders. An order is a collection of information about a purchase, which includes:
- Information on product items being purchased (product titles, quantities, prices).
- Information on the customer who is making the purchase (personal information, billing and shipping addresses, contact information).
- Information about the method of delivery selected by the customer (name of method, shipping cost).
- Information about the payment method selected by the customer (name of method, payment details).
- Discounts, coupon codes or gift certificates applied.
- Total amount.
Each order has its unique order id number and, at any moment in time, is characterized by a status.