-----------------------------------------
-- script de modifications des contraintes sur les tables
-----------------------------------------

--Nettoyage
  --fk
ALTER table lien_probleme_groupe drop constraint fk_lien_prob_group2;
ALTER table lien_probleme_groupe drop constraint fk_lien_prob_group1;
ALTER table lien_personne_groupe drop constraint fk_lien_pers_group2;
ALTER table lien_personne_groupe drop constraint fk_lien_pers_group1;
ALTER table resultat             drop constraint fk_resultat_meth;
ALTER table resultat             drop constraint fk_resultat_prob;
ALTER table groupe               drop constraint fk_groupe_perso;
ALTER table autorisation         drop constraint fk_autoris_role;
ALTER table autorisation         drop constraint fk_autoris_droit;
ALTER table personne             drop constraint fk_personne_role;

  --pk
ALTER table lien_probleme_groupe drop constraint pk_lien_prob_group;
ALTER table lien_personne_groupe drop constraint pk_lien_pers_group;
ALTER table resultat             drop constraint pk_resultat;
ALTER table methode              drop constraint pk_methode;
ALTER table probleme             drop constraint pk_probleme;
ALTER table groupe               drop constraint pk_groupe;
ALTER table droit                drop constraint pk_droit;
ALTER table autorisation         drop constraint pk_autorisation;
ALTER table personne             drop constraint pk_personne;
ALTER table role                 drop constraint pk_role;

--Modification des tables
  --pk
ALTER table role                 add constraint pk_role            primary key(id);
ALTER table personne             add constraint pk_personne        primary key(id);
ALTER table autorisation         add constraint pk_autorisation    primary key(id_role,id_droit);
ALTER table droit                add constraint pk_droit           primary key(id);
ALTER table groupe               add constraint pk_groupe          primary key(id);
ALTER table probleme             add constraint pk_probleme        primary key(id);
ALTER table methode              add constraint pk_methode         primary key(id);
ALTER table resultat             add constraint pk_resultat        primary key(id_probleme,id_methode,id_resultat);
ALTER table lien_personne_groupe add constraint pk_lien_pers_group primary key(id_personne,id_groupe);
ALTER table lien_probleme_groupe add constraint pk_lien_prob_group primary key(id_probleme,id_groupe);

  --fk
ALTER table personne             add constraint fk_personne_role    foreign key(id_role)
  references role(id);
ALTER table autorisation         add constraint fk_autoris_droit    foreign key(id_droit)
  references droit(id);
ALTER table autorisation         add constraint fk_autoris_role     foreign key(id_role)
  references role(id);
ALTER table groupe               add constraint fk_groupe_perso     foreign key(id_responsable)
  references personne(id);
ALTER table resultat             add constraint fk_resultat_prob    foreign key(id_probleme)
  references probleme(id);
ALTER table resultat             add constraint fk_resultat_meth    foreign key(id_methode)
  references methode(id);
ALTER table lien_personne_groupe add constraint fk_lien_pers_group1 foreign key(id_personne)
  references personne(id);
ALTER table lien_personne_groupe add constraint fk_lien_pers_group2 foreign key(id_groupe)
  references groupe(id);
ALTER table lien_probleme_groupe add constraint fk_lien_prob_group1 foreign key(id_probleme)
  references probleme(id);
ALTER table lien_probleme_groupe add constraint fk_lien_prob_group2 foreign key(id_groupe)
  references groupe(id);