-- -----------------------------------------------------------------------------
-- OpenSi : Outils libres de gestion d'entreprise                             --
-- Copyright (C) 2003 Speedinfo.fr S.A.R.L.                                   --
-- Contact: contact@opensi.org                                                --
--                                                                            --
-- This program is free software; you can redistribute it and/or              --
-- modify it under the terms of the GNU General Public License                --
-- as published by the Free Software Foundation; either version 2             --
-- of the License, or (at your option) any later version.                     --
--                                                                            --
-- This program is distributed in the hope that it will be useful,            --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of             --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the               --
-- GNU General Public License for more details.                               --
--                                                                            --
-- You should have received a copy of the GNU General Public License          --
-- along with this program; if not, write to the Free Software                --
-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. --
-- -----------------------------------------------------------------------------

-- SCHEMA BASE DE DONNÉES OSAMES << GENERAL >>

CREATE DATABASE osames;

USE osames;

GRANT ALL PRIVILEGES on *.* to 'OSAMES'@'localhost' identified by 'OSAMES';

create table DOSSIER (
  Dossier_Id       varchar(8) not null,         -- Identifiant dossier
  Raison_Sociale   varchar(50) default '',      -- Nom de l'entreprise
  Enseigne         varchar(50) default '',      -- Enseigne
  Adresse          varchar(150) default '',     -- Adresse de la société
  Comp_Adresse     varchar(50) default '',      -- Complément d'adresse
  Code_Postal      varchar(10) default '',      -- Code postal
  Ville            varchar(50) default '',      -- Ville
  Monnaie_Tenue    varchar(10) default '',      -- Monnaie de tenue des comptes
  Num_SIRET        varchar(14) default '',      -- Numéro de SIRET
  Code_NAF         varchar(10) default '',      -- Code NAF/APE
  Typologie        varchar(2) default 'AA',     -- Typologie de l'entreprise (AN=Activité de négoce, PS=Production de service, AA=Autre activité)
  Type_Societe     varchar(11) default 'SARL',  -- Type de société (SARL, SA, EURL...)
  Expert           varchar(40) default '',      -- Expert comptable chargé du dossier
  Date_Creation    bigint unsigned default 0,   -- Date de création de la société
  Duree_Societe    tinyint unsigned default 0,  -- Durée de la société en années (de 1 à 99)
  Montant_Capital  decimal(14,2) default 0,     -- Montant du capital de départ
  Nb_Parts         smallint unsigned default 0, -- Nombre de parts ou d'actions
  Email            varchar(60) default '',      -- Email de la société
  Telephone        varchar(20) default '',      -- Numéro de téléphone
  Fax              varchar(20) default '',      -- Numéro de fax
  Regime_Fiscal    char(2) default 'IR',        -- Régime fiscal (IR=Impôt sur le revenu, IS=Impôt sur les sociétés)
  Regime_Groupe    char(1) default 'n',         -- Régime de groupe (y=oui/n=non)
  Centre_Impot     varchar(60) default '',      -- Centre des impôts dont dépend la société
  Tresorerie       varchar(60) default '',      -- Trésorerie dont dépend la société
  Centre_Gestion   varchar(60) default '',      -- Centre de gestion agréé
  Site_Web         varchar(60) default '',      -- Site web de la société
  Num_TVA_Intra    char(13) default '',         -- Numéro de TVA intracommunautaire
  Ville_RCS        varchar(50) default '',      -- Ville RCS (immatriculation)
  Code_Plan        int unsigned default 1,      -- Code du plan comptable
  primary key(Dossier_Id)
) engine=InnoDB;


create table EXERCICE (
  Dossier_Id       varchar(8) not null,         -- Identifiant dossier
  Num_Exercice     tinyint unsigned not null,   -- Numéro de l'exercice
  Debut_Exercice   bigint unsigned,             -- Date de début d'exercice
  Fin_Exercice     bigint unsigned,             -- Date de fin d'exercice
  Duree_Exercice   tinyint unsigned,            -- Durée de l'exercice
  Nom_Base         varchar(16),                 -- Nom de la base (prefixe=CPTA_+Num_Exercice+_+ Dossier_Id)
  Bloque           tinyint unsigned default 0,  -- L'exercice est-il bloqué ? (cloturé)
  Verrouille       tinyint unsigned default 0,  -- L'exercice est-il verrouillé ? (en attente de retour transfert)
  primary key(Dossier_Id, Num_Exercice)
) engine=InnoDB;


create table ENTREPRISE (
  Entreprise_Id       int unsigned not null auto_increment,  -- Identifiant de l'entreprise
	Identifiant         varchar(15) not null,                  -- Identifiant de l'entreprise
	Denomination        varchar(50) default '',                -- Dénomination de l'entreprise
	Actif               tinyint unsigned default 1,            -- Entreprise activée (oui/non)
	Email               varchar(60) default '',                -- Email de l'entreprise
	No_Mail             tinyint unsigned default 0,            -- Pas d'email         
	Telephone           varchar(20) default '',                -- Téléphone
	Responsable         varchar(60) default '',                -- Responsable
	primary key (Entreprise_Id),
	unique (Identifiant)
) engine=InnoDB;


create table ENTREPRISE_DOSSIER (
  Entreprise_Id    int unsigned not null,  -- Identifiant de l'entreprise
  Dossier_Id       varchar(8) not null,    -- Numéro de dossier géré par l'utilisateur
	primary key (Entreprise_Id, Dossier_Id),
	constraint cfk_entreprise_dossier_entreprise_id foreign key (Entreprise_Id) references ENTREPRISE (Entreprise_Id),
	constraint cfk_entreprise_dossier_dossier_id foreign key (Dossier_Id) references DOSSIER (Dossier_Id)
) engine=InnoDB;


create table UTILISATEUR (
  Utilisateur_Id   int unsigned not null auto_increment,  -- Identifiant de l'utilisateur
  Login            varchar(15) not null,                  -- Identifiant utilisateur
  Password         varchar(55) not null,                  -- Mot de passe
	Entreprise_Id    int unsigned not null,                 -- Entreprise de l'utilisateur
  Civilite         tinyint unsigned default 0,            -- Civilité de l'utilisateur (M=1,Mme=2,Mlle=3)
  Nom              varchar(30) default '',                -- Nom de l'utilisateur
  Prenom           varchar(30) default '',                -- Prénom de l'utilisateur
  Administrateur   tinyint unsigned default 0,            -- Droit administrateur (oui/non)
  Fonction         varchar(30) default '',                -- Fonction de l'utilisateur
  Email            varchar(60) default '',                -- Adresse e-mail de l'utilisateur
	Actif            tinyint unsigned default 1,            -- Utilisateur actif (oui/non)
  primary key (Utilisateur_Id),
	unique (Login, Entreprise_Id),
	index idx_entreprise_id (Entreprise_Id),
	constraint cfk_utilisateur_entreprise_id foreign key (Entreprise_Id) references ENTREPRISE (Entreprise_Id)
) engine=InnoDB;


-- Droits des utilisateurs sur les dossiers
create table UTILISATEUR_DOSSIER (
  Utilisateur_Id   int unsigned not null,                 -- Identifiant de l'utilisateur
  Dossier_Id       varchar(8) not null,                   -- Numéro de dossier géré par l'utilisateur
	Acc_Gest_Web     tinyint unsigned default 0,            -- Accès gestion e-commerce (oui/non)
	Acc_Config       tinyint unsigned default 0,            -- Accès configuration des dossiers (oui/non)
	Acc_Gest_Com     tinyint unsigned default 0,            -- Accès gestion commerciale (oui/non)
	Acc_Compta       tinyint unsigned default 0,            -- Accès comptabilité (oui/non)
  primary key(Utilisateur_Id, Dossier_Id),
	constraint cfk_utilisateur_dossier_utilisateur_id foreign key (Utilisateur_Id) references UTILISATEUR (Utilisateur_Id),
	constraint cfk_utilisateur_dossier_dossier_id foreign key (Dossier_Id) references DOSSIER (Dossier_Id)
) engine=InnoDB;


-- Droits des utilisateurs sur les journaux d'un dossier
create table UTILISATEUR_DOSSIER_JOURNAL (
  Utilisateur_Id   int unsigned not null,      -- Identifiant de l'utilisateur
  Dossier_Id       varchar(8) not null,        -- Numéro de dossier géré par l'utilisateur
  Code_Journal     char(3) not null,           -- Code journal géré par l'utilisateur
  primary key(Utilisateur_Id, Dossier_Id, Code_Journal),
	constraint cfk_utilisateur_dossier_journal_utilisateur_id foreign key (Utilisateur_Id) references UTILISATEUR (Utilisateur_Id)
) engine=InnoDB;




-- nouvelles tables pour gestion des profils de droit en comptabilité ----------------


create table PROFIL (
  Profil_Id        int unsigned not null auto_increment,  -- Identifiant du profil
	Entreprise_Id    int unsigned not null,                 -- Identifiant de l'entreprise
	Nom              varchar(30) default '',                -- Nom du profil
	Commentaires     text,                                  -- Commentaires sur le profil
	Standard         tinyint(3) unsigned not null default 0, -- Standard (1=oui/0=non)
	primary key (Profil_Id),
	index idx_entreprise_id (Entreprise_Id),
	constraint cfk_profil_entreprise_id foreign key (Entreprise_Id) references ENTREPRISE (Entreprise_Id)
) engine=InnoDB;


create table PROFIL_DOSSIER_UTILISATEUR (
	Utilisateur_Id      int unsigned not null,      -- Identifiant de l'utilisateur
  Profil_Id           int unsigned not null,      -- Identifiant du profil
	Dossier_Id          varchar(8) not null,        -- Identifiant du dossier
	primary key (Utilisateur_Id, Profil_Id, Dossier_Id),
	constraint cfk_profil_dossier_utilisateur_dossier_id foreign key (Dossier_Id) references DOSSIER (Dossier_Id),
	constraint cfk_profil_dossier_utilisateur_profil_id foreign key (Profil_Id) references PROFIL (Profil_Id),
	constraint cfk_profil_dossier_utilisateur_utilisateur_id foreign key (Utilisateur_Id) references UTILISATEUR (Utilisateur_Id)
) engine=InnoDB;


create table PROFIL_DOSSIER_COMPTE (
  Profil_Id             int unsigned not null,         -- Identifiant du profil
  Numero_Compte         char(8) not null,              -- Numéro de compte
	Dossier_Id            varchar(8) not null,           -- Identifiant du dossier
	primary key (Dossier_Id, Numero_Compte, Profil_Id),
	constraint cfk_profil_dossier_compte_dossier_id foreign key (Dossier_Id) references DOSSIER (Dossier_Id),
	constraint cfk_profil_dossier_compte_profil_id foreign key (Profil_Id) references PROFIL (Profil_Id)
) engine=InnoDB;


create table PROFIL_DOSSIER_JOURNAL (
	Profil_Id             int unsigned not null,         -- Identifiant du profil
  Code_Journal          char(3) not null,              -- Identifiant du journal
	Dossier_Id            varchar(8) not null,           -- Identifiant du dossier
	primary key (Dossier_Id, Code_Journal, Profil_Id),
	constraint cfk_profil_dossier_journal_dossier_id foreign key (Dossier_Id) references DOSSIER (Dossier_Id),
	constraint cfk_profil_dossier_journal_profil_id foreign key (Profil_Id) references PROFIL (Profil_Id)
) engine=InnoDB;


create table LISTE_TRESORERIE (
  Nom_Tresorerie   varchar(60) not null,
  primary key(Nom_Tresorerie)
) engine=InnoDB;


create table LISTE_C_IMPOT (
  Nom_Centre       varchar(60) not null,
  primary key(Nom_Centre)
) engine=InnoDB;


-- Liste des exports
create table EXPORT (
  Export_Id       int unsigned not null,
  Nom_Export      varchar(20),
  primary key(Export_Id)
) engine=InnoDB;


-- Liste des formats d'export
create table FORMAT_EXPORT (
  Code_Export     varchar(15) not null,
  Export_Id       int unsigned,
  Nom_Format      varchar(30),
  primary key(Code_Export)
) engine=InnoDB;


-- Liste des imports
create table IMPORT (
  Import_Id       int unsigned not null,
  Nom_Import      varchar(20),
  primary key(Import_Id)
) engine=InnoDB;


-- Liste des formats d'import
create table FORMAT_IMPORT (
  Code_Import     varchar(15) not null,
  Import_Id       int unsigned,
  Nom_Format      varchar(50),
  primary key(Code_Import)
) engine=InnoDB;


create table CIVILITE (
  Civ_Id       tinyint unsigned not null, -- Identifiant de la civilité
  Civ_Courte   varchar(4),                -- Civilité abrégée
  Civ_Longue   varchar(12),               -- Civilité entière
  primary key(Civ_Id)
) engine=InnoDB;


-- Défini l'ordre d'affichage des journaux par type
create table ORDRE_JOURNAUX (
  Type_Journal     char(2) not null,    -- Type de journal
  Ordre_Affichage  tinyint unsigned,    -- Numero d'ordre d'affichage
  primary key(Type_Journal)
) engine=InnoDB;


-- Paramètrages du dossier
create table PARAM_DOSSIER (
  Dossier_Id                  varchar(8) not null,            -- Identifiant dossier
  Mode_Tarif                  char(1) default 'G',            -- Mode de tarification (G=Grille,Q=Quantité)
  Date_Gen                    bigint unsigned default 0,      -- Dernière date de facturation globale
  Date_Factu                  bigint unsigned default 0,      -- Date limite de facturation
  Liste_Fact                  text,                           -- Liste des ids des dernières factures automatiques
  Com_Devis                   text,                           -- Commentaires imprimables sur tous les devis
  Com_Fact                    text,                           -- Commentaires imprimables sur toutes les factures
  Com_BL                      text,                           -- Commentaires imprimables sur tous les BLs
  Imp_Nom_Devis               tinyint unsigned default 0,     -- Impression nomenclature sur devis
  Imp_Nom_OF                  tinyint unsigned default 0,     -- Impression nomenclature sur of
  Imp_Nom_Facture             tinyint unsigned default 0,     -- Impression nomenclature sur facture
  Imp_Nom_Bon                 tinyint unsigned default 0,     -- Impression nomenclature sur bl
  Imp_Nom_Fiche               tinyint unsigned default 0,     -- Impression nomenclature sur fiche
  Imp_Nom_BP                  tinyint unsigned default 0,     -- Impression nomenclature sur BP
  Imp_Nom_BCF                 tinyint unsigned default 0,     -- Impression nomenclature sur BC fournisseur
  Imp_Desc1_Devis             tinyint unsigned default 0,     -- Impression description 1 sur devis
  Imp_Desc1_OF                tinyint unsigned default 0,     -- Impression description 1 sur of
  Imp_Desc1_Facture           tinyint unsigned default 0,     -- Impression description 1 sur facture
  Imp_Desc1_Bon               tinyint unsigned default 0,     -- Impression description 1 sur bl
  Imp_Desc1_Fiche             tinyint unsigned default 0,     -- Impression description 1 sur fiche
  Imp_Desc1_BP                tinyint unsigned default 0,     -- Impression description 1 sur BP
  Imp_Desc1_BCF               tinyint unsigned default 0,     -- Impression description 1 sur BC fournisseur
  Imp_Desc2_Devis             tinyint unsigned default 0,     -- Impression description 2 sur devis
  Imp_Desc2_OF                tinyint unsigned default 0,     -- Impression description 2 sur of
  Imp_Desc2_Facture           tinyint unsigned default 0,     -- Impression description 2 sur facture
  Imp_Desc2_Bon               tinyint unsigned default 0,     -- Impression description 2 sur bl
  Imp_Desc2_Fiche             tinyint unsigned default 0,     -- Impression description 2 sur fiche
  Imp_Desc2_BP                tinyint unsigned default 0,     -- Impression description 2 sur BP
  Imp_Desc2_BCF               tinyint unsigned default 0,     -- Impression description 2 sur BC fournisseur
  Coeff_1                     decimal(7,5) default 1.1,       -- Coefficient tarif 1 par défaut
  Coeff_2                     decimal(7,5) default 1.2,       -- Coefficient tarif 2 par défaut
  Coeff_3                     decimal(7,5) default 1.3,       -- Coefficient tarif 3 par défaut
  Coeff_4                     decimal(7,5) default 1.4,       -- Coefficient tarif 4 par défaut
  Coeff_5                     decimal(7,5) default 1.5,       -- Coefficient tarif 5 par défaut
  Logo_Adr                    tinyint unsigned default 0,     -- Le logo contient les infos de la société (0=non,1=oui)
  Code_Journal_Achat          char(3) default 'AC',           -- Code journal d'achat par défaut
  Code_Journal_Vente          char(3) default 'VE',           -- Code journal de vente par défaut
  Numero_Compte_Clients       varchar(8) default '01000000',  -- Compte clients divers
  Numero_Compte_Fournisseurs  varchar(8) default '08000000',  -- Compte fournisseurs divers
  Numero_Compte_Achat_UE      varchar(8) default '60700000',  -- Compte d'achat par défaut
  Numero_Compte_Achat_I       varchar(8) default '60700000',  -- Compte d'achat par défaut
  Numero_Compte_Port_AC       varchar(8) default '62410000',  -- Compte frais de port à l'achat
  Numero_Compte_Port_VE       varchar(8) default '70850000',  -- Compte frais de port à la vente
  Numero_Compte_Escompte_AC   varchar(8) default '76500000',  -- Compte d'escompte à l'achat
  Numero_Compte_Escompte_VE   varchar(8) default '66500000',  -- Compte d'escompte à la vente
  Numero_Compte_Regul_AC      varchar(8) default '75800000',  -- Compte de régularisation des paiements à l'achat
  Numero_Compte_Regul_VE      varchar(8) default '65800000',  -- Compte de régularisation des paiements à la vente
  Numero_Compte_Subventions   varchar(8) default '74000000',  -- Compte de subventions
  Transfert_Reglements        tinyint unsigned default 1,     -- Transfert des règlements en compta (0=non,1=oui)
  Modele_Etiquette            varchar(10) default 'STD01',    -- Modèle d'étiquette par défaut
  Lien_Fichier                varchar(100) default 'file://', -- debut du lien des fichiers
  Lien_Distant                varchar(100) default 'file://', -- debut du lien de l'acces distant au fichier
  Dossier_Fichier             varchar(100) default '',        -- dossier ou sont les fichiers
  Vente_TTC                   tinyint unsigned default 0,     -- facturation par défaut en ht(0) ou ttc(1)
  Type_Calcul_Stock           tinyint unsigned default 0,     -- 0 = calcul standard, 1 = calcul avec réservation
  Calcul_Stock                tinyint unsigned default 0,     -- 0 = pas de calcul du stock en affaire, 1 = calcul du stock en affaire
  BL_Chiffre                  tinyint unsigned default 0,     -- 0 = BL non chiffré par défaut, 1 = BL chiffré par défaut
  BR_Chiffre                  tinyint unsigned default 0,     -- 0 = BR non chiffré par défaut, 1 = BR chiffré par défaut
  Imprimer_Adr_Liv            tinyint unsigned default 0,     -- 0 = ne pas affiché l'adresse de livraison si FR par défaut, 1 = afficher l'adresse de livraison par défaut
  Duree_Reservation           int unsigned default 0,         -- nombre de jours de réservation des produits 0 : pas de réservation
  Prefixe_Facture             varchar(3) default 'F',         -- préfixe de facture
  Prefixe_Avoir               varchar(3) default 'A',         -- préfixe d'avoir
  Act_Code_Stats              tinyint unsigned default 0,     -- activation du code statistique (1=oui,0=non)
  Produit_Frais               tinyint unsigned default 0,     -- vente de produits frais (1=oui,0=non)
  Niveau_Obligation_Intro     tinyint unsigned default 4,     -- niveau d'obligation à l'introduction
  Niveau_Obligation_Expe      tinyint unsigned default 4,     -- niveau d'obligation à l'expédition
  Code_Regime_Intro           tinyint unsigned default 11,    -- code de régime statistique à l'introduction pour la DEB
  Code_Regime_Expe            tinyint unsigned default 21,    -- code de régime statistique à l'expédition pour la DEB
  Nature_Transaction_Intro    tinyint unsigned default 11,    -- code de transaction à l'introduction pour la DEB
  Nature_Transaction_Expe     tinyint unsigned default 21,    -- code de transaction à l'expédition pour la DEB
  Conditions_Liv_Intro        char(3) default 'CFR',          -- code de conditions de livraisons à l'introduction pour la DEB
  Conditions_Liv_Expe         char(3) default 'CFR',          -- code de conditions de livraisons à l'expédition pour la DEB
  Mode_Transport_Intro        tinyint unsigned default 3,     -- mode de transport à l'introduction pour la DEB
  Mode_Transport_Expe         tinyint unsigned default 3,     -- mode de transport à l'expédition pour la DEB
  Imp_LCR                     tinyint unsigned default 0,     -- Impression des LCR sur les factures
  Frais_Port_Prem             tinyint unsigned default 0,     -- frais de port sur la première facture
	Label_Tarif_1               varchar(20) default 'Tarif 1',  -- label du tarif 1
	Label_Tarif_2               varchar(20) default 'Tarif 2',  -- label du tarif 2
	Label_Tarif_3               varchar(20) default 'Tarif 3',  -- label du tarif 3
	Label_Tarif_4               varchar(20) default 'Tarif 4',  -- label du tarif 4
	Label_Tarif_5               varchar(20) default 'Tarif 5',  -- label du tarif 5
  primary key(Dossier_Id)
) engine=InnoDB;


create table PLAN_COMPTABLE (
  Code_Plan         int unsigned not null auto_increment, -- Code du plan comptable
  Libelle           varchar(254) default '',              -- Libellé du plan comptable
  primary key(Code_plan)
) engine=InnoDB;


create table CLASSE_PLAN_COMPTABLE (
  Code_Plan         int unsigned not null,     -- Code du plan comptable
  Numero_Classe     int unsigned not null,     -- numero de la classe
  Libelle_Classe    varchar(254) default '',   -- Libellé de la classe
  Niveau            tinyint unsigned not null, -- niveau de la classe
  Code              int unsigned not null,     -- code utilisé pour afficher l arbre
  primary key(Code_plan, Numero_classe)
) engine=InnoDB;


create table TITRE_CLASSE_PLAN_COMPTABLE (
  Code_Plan         int unsigned not null,  -- Code du plan comptable
  Numero_Titre      int unsigned not null,  -- numero de la classe
  Libelle_Titre     varchar(254) default '',-- Libellé de la classe
  primary key(Code_plan, Numero_Titre)
) engine=InnoDB;


-- liste des nomenclatures NC8
create table NOMENCLATURE_NC8 (
  Code_NC8       varchar(8) not null,        -- Code NC8
  Libelle        text,                       -- Libellé
  Info_Unite     varchar(30) default '',     -- Info sur unité de mesure
  primary key(Code_NC8)
) engine=InnoDB;


-- liste des pays
create table PAYS (
  Code_Pays         char(2) not null,            -- Code iso-3166 du pays
  Nom_FR            varchar(50) default '',      -- Nom officiel du pays en francais
  Nom_EN            varchar(50) default '',      -- Nom officiel du pays en anglais
  Zone_UE           tinyint unsigned default 0,  -- Zone union européenne (oui/non)
  Type_Pays         char(1) default '',          -- D : DOM, T :TOM
  primary key(Code_Pays)
) engine=InnoDB;


-- liste des devises
create table DEVISE (
  Devise_Id         int unsigned not null auto_increment,  -- Identifiant devise
	Code_Alpha        char(3) not null,                      -- Code iso alphabétique
	Code_Num          char(3) not null,                      -- Code numérique
	Intitule          varchar(50) default '',                -- Intitulé de la devise
	Symbole           char(1) default '',                    -- Symbole de la devise
	primary key(Devise_Id),
	unique(Code_Alpha),
	unique(Code_Num)
) engine=InnoDB;


-- association des devises aux pays
create table DEVISE_PAYS (
  Devise_Id         int unsigned not null,
	Code_Pays         char(2) not null,
	primary key(Devise_Id, Code_Pays),
	constraint cfk_devise_pays_devise_id foreign key (Devise_Id) references DEVISE (Devise_Id),
	constraint cfk_devise_pays_code_pays foreign key (Code_Pays) references PAYS (Code_Pays)
) engine=InnoDB;


-- seuils de ca pour la taxation des marchandises à l'export en union européenne
create table SEUIL_CA_TVA (
  Code_Pays         char(2) not null,            -- Code pays
	Seuil             int unsigned default 0,      -- Seuil de chiffre d'affaire HT en Euros
	primary key(Code_Pays),
	constraint cfk_seuil_ca_tva_code_pays foreign key (Code_Pays) references PAYS (Code_Pays)
) engine=InnoDB;


-- liste des communes de france avec leur code postal
create table COMMUNES (
  CP          char(5),      -- code postal
  Ville       varchar(45),  -- nom de la ville en majuscule
  Ville_Min   varchar(45),  -- nom de la ville en minuscule
  Ville_Rech  char(43)      -- nom de la ville sans L' LES LA LE SAINT
) engine=InnoDB;


-- liste des codes transactions pour la DEB
create table DEB_TRANSACTION (
 Code_Transaction_A      tinyint(1) unsigned not null,         -- Code de transaction A
 Code_Transaction_B      tinyint(1) unsigned not null,         -- Code de transaction B
 Libelle                 varchar(150),                         -- Libellé de la transaction
 primary key(Code_Transaction_A, Code_Transaction_B)
) engine=InnoDB;


-- liste des conditions de livraison pour la DEB
create table DEB_CONDITION_LIVRAISON (
 Code_Livraison          char(3) not null,             -- Code de conditions de livraison
 Libelle                 varchar(50),                  -- Libellé
 primary key(Code_Livraison)
) engine=InnoDB;


-- liste des modes de transport pour la DEB
create table DEB_MODE_TRANSPORT (
 Code_Transport          tinyint(1) unsigned not null,  -- Code du mode de transport
 Libelle                 varchar(50),                   -- Libellé
 primary key(Code_Transport)
) engine=InnoDB;


-- liste des codes régimes statistiques pour la DEB
create table DEB_REGIME (
 Code_Regime          tinyint(2) unsigned not null,  -- Code du régime statistique
 Libelle              varchar(150),                  -- Libellé
 Type_Regime          tinyint(1) unsigned,           -- Type du régime (0: introduction, 1: expédition)
 primary key(Code_Regime)
) engine=InnoDB;


\. Pays.sql
\. Devises.sql
\. DevisesPays.sql
\. InitGeneral.sql
\. NomenclatureNC8.sql
\. PlanComptableGeneral.sql
\. Communes.sql

