84 lines
2.2 KiB
SQL
84 lines
2.2 KiB
SQL
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;
|
|
|
|
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
|
|
);
|
|
|
|
|
|
CREATE TABLE route (
|
|
id int primary key,
|
|
source int,
|
|
target int,
|
|
cost double precision,
|
|
reverse_cost double precision
|
|
);
|
|
|
|
CREATE TABLE produits (
|
|
id SERIAL PRIMARY KEY,
|
|
nom TEXT,
|
|
caracteristiques VECTOR(6)
|
|
);
|
|
|
|
INSERT INTO produits (nom, caracteristiques) VALUES
|
|
('Tomate', '[0.6, 0.3, 0.3, 1.0, 0.5, 1.0]'),
|
|
('Concombre', '[0.2, 0.1, 0.9, 1.0, 0.0, 0.0]'),
|
|
('Courgette', '[0.3, 0.1, 0.5, 1.0, 0.0, 0.0]'),
|
|
('Carotte', '[0.5, 0.1, 0.8, 0.5, 0.0, 1.0]'),
|
|
('Poivron', '[0.4, 0.2, 0.6, 1.0, 0.0, 1.0]'),
|
|
('Aubergine', '[0.2, 0.1, 0.4, 1.0, 0.0, 0.0]'),
|
|
('Pomme', '[0.8, 0.3, 0.9, 1.0, 1.0, 1.0]'),
|
|
('Poire', '[0.7, 0.2, 0.7, 1.0, 1.0, 0.0]'),
|
|
('Fraise', '[0.9, 0.4, 0.7, 1.0, 1.0, 1.0]'),
|
|
('Cerise', '[0.8, 0.3, 0.6, 1.0, 1.0, 1.0]'),
|
|
('Citron', '[0.2, 1.0, 0.6, 1.0, 1.0, 1.0]'),
|
|
('Orange', '[0.7, 0.6, 0.7, 1.0, 1.0, 1.0]'),
|
|
('Banane', '[0.9, 0.1, 0.2, 1.0, 1.0, 0.0]'),
|
|
('Raisin', '[0.8, 0.3, 0.5, 1.0, 1.0, 1.0]'),
|
|
('Pastèque', '[0.8, 0.2, 0.6, 1.0, 1.0, 1.0]'),
|
|
('Melon', '[0.9, 0.2, 0.5, 1.0, 1.0, 1.0]'),
|
|
('Betterave', '[0.5, 0.1, 0.4, 0.0, 0.0, 1.0]'),
|
|
('Radis', '[0.2, 0.3, 0.9, 0.5, 0.0, 1.0]'),
|
|
('Brocoli', '[0.1, 0.1, 0.6, 0.0, 0.0, 0.0]'),
|
|
('Chou-fleur', '[0.1, 0.1, 0.7, 0.0, 0.0, 0.0]');
|