DROP TABLE lien_probleme_groupe;
DROP TABLE lien_personne_groupe;
DROP TABLE autorisation;
DROP TABLE resultat;
DROP TABLE methode;
DROP TABLE probleme;
DROP TABLE groupe;
DROP TABLE droit;
DROP TABLE personne;
DROP TABLE role;

CREATE TABLE role(
  id       NUMBER,
  nom_role VARCHAR2(30)
);

CREATE TABLE personne(
  id       NUMBER,
  login    VARCHAR2(30),
  password VARCHAR2(30),
  id_role  NUMBER
);

CREATE TABLE droit(
  id        NUMBER,
  nom_droit VARCHAR2(60)
);

CREATE TABLE groupe(
  id             NUMBER,
  nom_groupe     VARCHAR2(30),
  id_responsable NUMBER
);

CREATE TABLE probleme(
  id                 NUMBER,
  structure_probleme XMLTYPE
);

CREATE TABLE methode(
  id                NUMBER,
  nom_algorithme    VARCHAR2(30),
  chemin_algorithme VARCHAR2(100)
);

CREATE TABLE resultat(
  id_probleme          NUMBER,
  id_methode           NUMBER,
  id_resultat          NUMBER,
  run_date             DATE,
  point_depart         VARCHAR2(30), --vecteur
  epsilon              FLOAT,
  parametres           VARCHAR2(60),
  valeur               VARCHAR2(30), --vecteur
  complexite_iteration INT,
  erreur_absolue       FLOAT
);

CREATE TABLE autorisation(
  id_role   NUMBER,
  id_droit  NUMBER 
);

CREATE TABLE lien_personne_groupe(
  id_personne NUMBER,
  id_groupe   NUMBER
);

CREATE TABLE lien_probleme_groupe(
  id_probleme NUMBER,
  id_groupe   NUMBER
);