La base de données


Page Principale Table

Pour tout rapport de bug ou suggestion, envoyez un mèl au Support ExperLog


A quoi sert la base de données ?

ExperSHOP s'appuie sur une base de données SQL.
La base de données sert à stocker toutes les informations concernant l'application; Dans le cas d'une application de commerce en ligne, par exemple :
  • Les rayons et les produits disponibles dans la boutique
  • Les informations concernant les clients et les commandes

Quelle base de données utiliser ?

N'importe quelle base de données qui dispose d'un driver JDBC.
Notez que toute base de données accessible via ODBC est dans ce cas.

Comment configurer votre base de données ?

Pour qu'ExperSHOP puisse fonctionner, certaines tables doivent être créées dans la base de données : le paragraphe suivant décrit le schéma SQL correspondant.

Schéma SQL de la base de données

Le schéma SQL définit les tables de la base de données, avec leurs colonnes (par exemple, une table "Produit" comportera une colonne pour le nom du produit, une autre pour le prix, etc...)

Vous pouvez modifier le schéma de la base en fonction de vos besoins, par exemple pour rajouter des champs spécifiques dans la table "EProduct" (les produits qui vous vendez).

Les noms des tables, ainsi que certains champs particuliers (les champs "Id", par exemple "ProdId", la référence produit dans la table "EProduct"), ne doivent pas être supprimés ni renommés.

Par défaut, ExperSHOP Lite utilise le schéma SQL suivant (ici, le schéma MySQL) :



  create table EDepartment (
	DeptId		varchar(20) primary key,
	Name		varchar(64) NOT NULL,
	DeptImage	varchar(128));

  create table ECategory (
	CatId		varchar(20) primary key,
	DeptId		varchar(20),
	Category	varchar(32) NOT NULL);

  create table EProduct (
	ProdId		varchar(20) primary key,
        Category	varchar(20),
        Name            text NOT NULL,
	Brand		varchar(32),
	Model		varchar(32),
	Descrip		TEXT,
	Price		double NOT NULL,
        InStock         integer,
        StockLimit      integer,
	ProdImage	varchar(80),
	LargeImage	varchar(80),
	DeptId		varchar(20),
        Publish         varchar(1));

  create table ECustomer (
	CustId		varchar(20) primary key,
	LastName	varchar(30) NOT NULL,
	FirstName	varchar(30) NOT NULL,
        Password        varchar(20),
	Address		varchar(120),	
	City		varchar(32),
	ZipCode		varchar(20),
	State		varchar(32),
	Country		varchar(32),	
	Fax		varchar(32),	
	Tel		varchar(32),
	Email		varchar(64));

  create table ECustOrder (
	OrdId		varchar(20) primary key,
	CustId		varchar(20),
        AffId           varchar(20),
	OrderTime	decimal(16,0),
        TotalPrice      double NOT NULL,
        Tax             double NOT NULL,
        ShippingCost    double NOT NULL,
        Discount        double,
        DiscountCode    varchar(64),
        ShipName        varchar(64),
        ShipAddress     varchar(120),   
        ShipCity        varchar(32),
        ShipZipCode     varchar(20),
        ShipState       varchar(32),
        ShipCountry     varchar(32),    
        ShipOptions     text,
        Message         text,
        Status          varchar(10),
        PayStatus       varchar(10),
	PayInfo         varchar(32),
        CcNum           varchar(20),
        CcExpDate       varchar(12),
        CcName          varchar(32));

  create table EProdOrder (
	OrdId		varchar(20) NOT NULL,
	ProdId		varchar(20) NOT NULL,
	Name		text,
	Price		double NOT NULL,
	Qty		integer NOT NULL,
	Options		varchar(80),
	Config          varchar(128),
	primary key (OrdId, ProdId));

  create table ECartSaver (
        CartId varchar(32),
        Item text,
        Ityp varchar(1),
        ExpDate decimal(16,0));

  create table EAffiliate (
        AffId varchar(32),
        Name varchar(64),
        Password varchar(16),
        Email varchar(64),
        Miles double);

  
Recopiez simplement le schéma dans un fichier texte, et créez les tables dans votre base de données : cette opération peut nécessiter quelques modifications mineures dans le schéma, parce que la syntaxe de SQL peut varier quelque peu d'une base à une autre.