Commit 2ce42951 authored by Tom HENRION's avatar Tom HENRION

Improvement

parent a38b922b
MCD.png

150 KB | W: | H:

MCD.png

104 KB | W: | H:

MCD.png
MCD.png
MCD.png
MCD.png
  • 2-up
  • Swipe
  • Onion skin
@startuml
hide circle
namespace Terrain {
Package Terrain {
class Parcelle {
Numéro : integer
Etat : {Plantation, arrachage}
Surface : integer (m)
Surface : integer (m²)
Exposition : [1 .. 10]
}
class Type_de_sol {
Nom : string
Irrigation : string
}
class Cepage {
Nom : string
Couleur : string
Date de plantation : integer
Durée germinaison : integer
}
class Traitement {
Nom : string
Description : string
Cible : string
Prix : integer
Duree de traitement : integer (jour)
}
Parcelle "*"--"1" Type_de_sol:Possède
Parcelle "*"--"*" Traitement:Traite
Parcelle "*"--"1" Cepage:Possède
Parcelle "*"--"0..1" Cepage:Possède
}
namespace Culture {
Package Culture {
class Mode_de_culture {
Type : {Désherbées en plein, enherbées et tondues, ou cultivées}
Annee : integer
Description : string
}
......@@ -47,15 +47,16 @@ class Méthode_de_récolte {
class Mode_de_taille {
Nom : string
Description : string
}
Parcelle "*"--"1" Mode_de_culture:Possède
Parcelle "*"--"1" Méthode_de_récolte:Traite
Parcelle "*"--"1" Mode_de_taille:Possède
Parcelle "*"--"0..1" Mode_de_culture:Possède
Parcelle "*"--"0..1" Méthode_de_récolte:Traite
Parcelle "*"--"0..1" Mode_de_taille:Possède
}
namespace Climat {
Package Climat {
class Climat {
Date de debut : integer
Date de fin : integer
......@@ -66,9 +67,13 @@ class Type_evenement {
Nom : string
Description : string
}
Climat "*"--"*" Parcelle:Impact
Climat "*"--"*" Type_evenement:Possède_évènement
}
namespace Vins {
Package Vins {
class Vin {
Nom : string
Prix : integer
......@@ -76,24 +81,28 @@ class Vin {
class Critere_Qualitatif {
Couleur robe : string
Description : string
description globale : string
Description saveur : string
Description texture : string
Description globale : string
Notation : [1 .. 10]
Alcool : integer
Date : integer
Année_mise_en_bouteille : integer
Lieu : string
}
class Conditionnement {
Nom : string
Contenant : integer
Contenant : Float (Litre)
}
class Circuit_Vente {
Nom : string
Nombre de bouteille vendue : integer
}
}
Vin "*"--"*" Parcelle:Compose
Vin "*"--"1" Conditionnement:Possède
Vin "*"--"1" Critere_Qualitatif:Possède
Vin "*"--"1" Circuit_Vente:Possède
}
@enduml
\ No newline at end of file
......@@ -37,6 +37,7 @@ DROP SEQUENCE IF EXISTS id_climat;
CREATE TYPE etat_parcelle as enum('Plantation','Arrachage');
CREATE TYPE type_culture as enum ('Désherbées en plein','enherbées et tondues', 'Cultivées');
CREATE TYPE type_recolte as enum ('Manuel','Mecanique');
#CREATE TYPE type_recolte as enum ('Taille courte','Taille longue', 'Guyot simple', 'Guyot double');
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
......@@ -99,8 +100,6 @@ INSERT INTO Mode_de_culture VALUES ('enherbées et tondues', 'Attente pour agric
('Désherbées en plein', 'Attente pour refaire une plantation'),
('Cultivées', 'Culture Intensive');
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
......@@ -126,8 +125,11 @@ CREATE TABLE Parcelle (
type_de_sol VARCHAR(45) NOT NULL,
culture type_culture,
recolte type_recolte,
taille VARCHAR,
FOREIGN KEY (cépage) REFERENCES Cépage(Nom),
FOREIGN KEY (type_de_sol) REFERENCES Type_de_sol(Nom),
FOREIGN KEY (culture) REFERENCES Mode_de_culture(Type),
FOREIGN KEY (taille) REFERENCES Mode_de_taille(Nom),
FOREIGN KEY (recolte) REFERENCES Méthode_de_récolte(Methode_de_recolte)
);
......@@ -135,32 +137,29 @@ CREATE TABLE Parcelle (
CREATE SEQUENCE num_parcelle START 1;
--- Insertion des données de test pour la table ---
INSERT INTO Parcelle VALUES (nextval('num_parcelle'), 260, 3, 'Plantation', 'Chardonnay', 'Sablonneux', 'Cultivées', 'Manuel'),
(nextval('num_parcelle'), 320, 6, 'Plantation', 'Chardonnay', 'Sablonneux', 'Cultivées', 'Manuel'),
(nextval('num_parcelle'), 128, 2, 'Plantation', 'Chardonnay', 'Sablonneux', 'Cultivées', 'Manuel'),
(nextval('num_parcelle'), 652, 8, 'Plantation', 'Chenin', 'Boueux', 'Cultivées', 'Mecanique'),
(nextval('num_parcelle'), 136, 9, 'Plantation', 'Tannat', 'Argileux', 'Cultivées', 'Mecanique'),
(nextval('num_parcelle'), 290, 10, 'Plantation', 'Merlot', 'Sec', 'Cultivées', 'Mecanique'),
(nextval('num_parcelle'), 297, 4, 'Arrachage', 'Gamay', 'Boueux', 'Désherbées en plein', 'Mecanique'),
(nextval('num_parcelle'), 510, 5, 'Plantation', 'Sauvignon', 'Sablonneux', 'Cultivées', 'Manuel'),
(nextval('num_parcelle'), 267, 3, 'Arrachage', 'Tannat', 'Boueux', 'Désherbées en plein', 'Mecanique'),
(nextval('num_parcelle'), 402, 6, 'Plantation', 'Marsanne', 'Sec', 'Cultivées', 'Manuel');
INSERT INTO Parcelle VALUES (nextval('num_parcelle'), 260, 3, 'Plantation', 'Chardonnay', 'Sablonneux', 'Cultivées', 'Manuel', 'Taille courte'),
(nextval('num_parcelle'), 320, 6, 'Plantation', 'Chardonnay', 'Sablonneux', 'Cultivées', 'Manuel', 'Taille courte'),
(nextval('num_parcelle'), 128, 2, 'Plantation', 'Chardonnay', 'Sablonneux', 'Cultivées', 'Manuel','Taille courte'),
(nextval('num_parcelle'), 652, 8, 'Plantation', 'Chenin', 'Boueux', 'Cultivées', 'Mecanique', 'Guyot simple'),
(nextval('num_parcelle'), 136, 9, 'Plantation', 'Tannat', 'Argileux', 'Cultivées', 'Mecanique', 'Taille courte'),
(nextval('num_parcelle'), 290, 10, 'Plantation', 'Merlot', 'Sec', 'Cultivées', 'Mecanique', 'Taille courte'),
(nextval('num_parcelle'), 297, 4, 'Arrachage', NULL, 'Boueux', NULL, NULL, NULL),
(nextval('num_parcelle'), 510, 5, 'Plantation', 'Sauvignon', 'Sablonneux', 'Cultivées', 'Manuel', 'Guyot simple'),
(nextval('num_parcelle'), 267, 3, 'Arrachage', NULL, 'Boueux', NULL, NULL, NULL),
(nextval('num_parcelle'), 402, 6, 'Plantation', 'Marsanne', 'Sec', 'Cultivées', 'Manuel', 'Taille longue');
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
CREATE TABLE Mode_de_taille (
Id INTEGER PRIMARY KEY,
Nom VARCHAR NOT NULL,
parcelle INTEGER NOT NULL,
FOREIGN KEY (parcelle) REFERENCES Parcelle(Numero)
Nom VARCHAR PRIMARY KEY,
Description VARCHAR NOT NULL
);
CREATE SEQUENCE mode_taille START 1;
INSERT INTO Mode_de_taille VALUES (nextval('mode_taille'), 'Coupe des brins', 1),
(nextval('mode_taille'), 'Laisse pousser', 2),
(nextval('mode_taille'), 'Taillage excessif', 6);
INSERT INTO Mode_de_taille VALUES ('Taille courte', 'On ne garde qu’un à deux yeux par sarment.')
('Taille longue', 'On conserve de quatre à dix yeux par sarment.')
('Guyot simple', 'La baguette sera formée par le sarment supérieur et le courson par le sarment inférieur.')
('Guyot double', 'La baguette sera formée par le sarment supérieur et le courson par le sarment inférieur.')
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment