2025-09-01 07:56:13 +02:00
|
|
|
create extension if not exists ltree;
|
|
|
|
|
create extension if not exists pgtap;
|
|
|
|
|
create extension if not exists postgis;
|
|
|
|
|
create extension if not exists pgrouting;
|
|
|
|
|
create extension if not exists vector;
|
2025-09-04 09:48:38 +02:00
|
|
|
create extension if not exists pgcrypto;
|
2025-09-01 07:56:13 +02:00
|
|
|
|
|
|
|
|
create table adherent (
|
|
|
|
|
id int primary key,
|
|
|
|
|
nom text,
|
|
|
|
|
prenom text,
|
|
|
|
|
genre smallint,
|
|
|
|
|
naissance date,
|
|
|
|
|
codepostal text
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
create table famille (
|
|
|
|
|
code text primary key,
|
|
|
|
|
famille text,
|
|
|
|
|
code_parent text, -- references famille(code)
|
|
|
|
|
arborescence ltree
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
create table article (
|
|
|
|
|
code text primary key,
|
|
|
|
|
article text,
|
|
|
|
|
famille_code text, -- references famille(code)
|
|
|
|
|
factpoids boolean,
|
|
|
|
|
unitevente int,
|
|
|
|
|
prix decimal,
|
|
|
|
|
suivistock int
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
create table ticket (
|
|
|
|
|
id int primary key,
|
|
|
|
|
date_ticket timestamp,
|
|
|
|
|
adherent_id int, -- references adherent(id)
|
|
|
|
|
mode_rglt int
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
create table ligne (
|
|
|
|
|
id int primary key,
|
|
|
|
|
ticket_id int, --references ticket (id),
|
|
|
|
|
article_code text, -- references article (code)
|
|
|
|
|
prix_unitaire decimal,
|
|
|
|
|
quantite decimal
|
|
|
|
|
);
|
2025-09-12 12:54:16 +02:00
|
|
|
|
|
|
|
|
create table fournisseur (
|
|
|
|
|
id int primary key,
|
|
|
|
|
fournisseur text not null
|
|
|
|
|
);
|
|
|
|
|
|
2025-09-12 22:14:49 +02:00
|
|
|
create table region (
|
2025-09-12 12:54:16 +02:00
|
|
|
id int primary key,
|
|
|
|
|
region text not null
|
|
|
|
|
);
|
2025-09-12 22:14:49 +02:00
|
|
|
|
|
|
|
|
insert into region values
|
|
|
|
|
(1, 'Est'), (2, 'Ouest');
|
2025-09-14 11:40:14 +02:00
|
|
|
|
|
|
|
|
create table produit (
|
|
|
|
|
id bigint null,
|
|
|
|
|
nom text not null,
|
|
|
|
|
marque text null,
|
|
|
|
|
categorie text null,
|
|
|
|
|
energie int not null,
|
|
|
|
|
proteines float4 null,
|
|
|
|
|
glucide float4 null,
|
|
|
|
|
sucre float4 null,
|
|
|
|
|
graisse float4 null,
|
|
|
|
|
graisse_saturee float4 null,
|
|
|
|
|
sel float4 null,
|
|
|
|
|
fibres float4 null,
|
|
|
|
|
nutriscore int null,
|
|
|
|
|
additifs int null,
|
|
|
|
|
additifs_list text[] null,
|
|
|
|
|
potassium float null,
|
|
|
|
|
calcium float null,
|
|
|
|
|
magnesium float null,
|
|
|
|
|
sodium float null,
|
|
|
|
|
chlorure float null,
|
|
|
|
|
sulfate float null,
|
|
|
|
|
nitrate float null,
|
|
|
|
|
hydrogenocarbonate float null,
|
|
|
|
|
silice float null,
|
|
|
|
|
fluor float null,
|
|
|
|
|
residu float null,
|
|
|
|
|
ph float null,
|
|
|
|
|
vitamin_a float null,
|
|
|
|
|
vitamin_c float null
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
comment on column produit.potassium IS 'K⁺ en mg/L';
|
|
|
|
|
comment on column produit.calcium IS 'Ca²⁺ en mg/L';
|
|
|
|
|
comment on column produit.magnesium IS 'Mg²⁺ en mg/L';
|
|
|
|
|
comment on column produit.sodium IS 'Na⁺ en mg/L';
|
|
|
|
|
comment on column produit.chlorure IS 'Cl⁻ en mg/L';
|
|
|
|
|
comment on column produit.sulfate IS 'SO₄²⁻ en mg/L';
|
|
|
|
|
comment on column produit.nitrate IS 'NO₃⁻ en mg/L';
|
|
|
|
|
comment on column produit.hydrogenocarbonate IS 'HCO₃⁻ en mg/L';
|
|
|
|
|
comment on column produit.silice IS 'SiO₂ en mg/L';
|
|
|
|
|
comment on column produit.fluor IS 'F en mg/L';
|