diff --git a/BE_SGBD_LIBRARY.ddl b/BE_SGBD_LIBRARY.ddl
index a4c170ba0f0a8c1f5a99585618ce857a7ff1b476..7b2ed0fb66c0e662ffe9d12f49349e3f035c5d53 100644
--- a/BE_SGBD_LIBRARY.ddl
+++ b/BE_SGBD_LIBRARY.ddl
@@ -23,109 +23,107 @@ create database MAIN;
 -- _____________ 
 
 create table a (
-     ID_PUB numeric(10) not null,
-     mot char(1) not null,
+     ID_PUB bigint not null,
+     mot varchar(100) not null,
      constraint ID_a_ID primary key (ID_PUB, mot));
 
 create table ACHAT (
-     ID_EXE numeric(10) not null,
-     date char(1) not null,
-     prix char(1) not null,
-     lieu char(1) not null,
-     code char(1) not null,
+     ID_EXE bigint not null,
+     date timestamp not null,
+     prix numeric(10,2) not null,
+     lieu varchar(300) not null,
+     code char(3) not null,
      constraint FKprovient_d_un_ID primary key (ID_EXE));
 
 create table Auteur (
-     nom char(1) not null,
+     nom varchar(300) not null,
      constraint ID_Auteur_ID primary key (nom));
 
 create table autorise_l_acces (
-     nom char(1) not null,
-     email -- Compound attribute -- not null,
-     constraint ID_autorise_l_acces_ID primary key (email -- Compound attribute --, nom));
+     nom varchar(300) not null,
+     email varchar(300) not null,
+     constraint ID_autorise_l_acces_ID primary key (email, nom));
 
 create table DEVISE (
-     code char(1) not null,
-     taux char(1) not null,
-     symbole char(1) not null,
+     code char(3) not null,
+     taux numeric(30,10) not null,
+     symbole char(3) not null,
      constraint ID_DEVISE_ID primary key (code));
 
 create table EXEMPLAIRE (
-     ID_EXE -- Sequence attribute not implemented -- not null,
-     statut char(1) not null,
-     nom char(1) not null,
-     email -- Compound attribute --,
-     ID_PUB numeric(10) not null,
+     ID_EXE bigint not null,
+     statut smallint not null,
+     nom varchar(300) not null,
+     email varchar(300),
+     ID_PUB bigint not null,
      constraint ID_ID primary key (ID_EXE));
 
 create table interesse_par (
-     mot char(1) not null,
-     email -- Compound attribute -- not null,
-     constraint ID_interesse_par_ID primary key (mot, email -- Compound attribute --));
+     mot varchar(100) not null,
+     email varchar(300) not null,
+     constraint ID_interesse_par_ID primary key (mot, email));
 
 create table LABORATOIRE (
-     nom char(1) not null,
+     nom varchar(300) not null,
      constraint ID_LABORATOIRE_ID primary key (nom));
 
 create table LIVRE (
      ISBN char(13) not null,
-     editeur char(1) not null,
-     edition char(1) not null,
-     annee_de_publication numeric(4) not null,
-     categorie1 char(1),
-     categorie2 char(1),
-     categorie3 char(1),
-     categorie4 char(1),
+     editeur varchar(300) not null,
+     edition varchar(100) not null,
+     annee_de_publication smallint not null,
+     categorie1 varchar(100),
+     categorie2 varchar(100),
+     categorie3 varchar(100),
+     categorie4 varchar(100),
      constraint ID_LIVRE_ID primary key (ISBN));
 
 create table MOT_CLE (
-     mot char(1) not null,
+     mot varchar(100) not null,
      constraint ID_MOT_CLE_ID primary key (mot));
 
 create table PERIODIQUE (
-     numero char(1) not null,
-     editeur char(1) not null,
-     edition char(1) not null,
-     annee_de_publication char(1) not null,
-     constraint ID_PERIODIQUE_ID primary key (numero, editeur, edition, annee_de_publication));
+     ID_PER bigint not null,
+     numero char(5) not null,
+     editeur varchar(300) not null,
+     edition varchar(100) not null,
+     annee_de_publication smallint not null,
+     constraint ID_PERIODIQUE_ID primary key (ID_PER));
 
 create table propose (
-     ID_PUB numeric(10) not null,
-     date char(1) not null,
-     email -- Compound attribute -- not null,
+     ID_PUB bigint not null,
+     date datetime not null,
+     email varchar(300),
      constraint FKpro_PUB_ID primary key (ID_PUB));
 
 create table PUBLICATION (
-     ID_PUB -- Sequence attribute not implemented -- not null,
-     numero char(1),
-     editeur char(1),
-     edition char(1),
-     annee_de_publication char(1),
-     id char(1),
+     ID_PUB bigint not null,
+     ID_PER bigint,
+     ID_RAP bigint,
      ISBN char(13),
-     type char(1) not null,
+     type smallint not null,
      constraint ID_ID primary key (ID_PUB),
-     constraint FKou_est_un_ID unique (numero, editeur, edition, annee_de_publication),
-     constraint FKou_encore_est_un_ID unique (id),
+     constraint FKou_est_un_ID unique (ID_PER),
+     constraint FKou_encore_est_un_ID unique (ID_RAP),
      constraint FKest_un_ID unique (ISBN));
 
 create table RAPPORT (
-     titre char(1) not null,
-     id char(1) not null,
+     titre varchar(300) not null,
+     ID_RAP bigint not null,
      annee_de_publication char(1) not null,
-     constraint ID_RAPPORT_ID primary key (id));
+     constraint ID_RAPPORT_ID primary key (ID_RAP));
 
 create table redige_par (
-     nom char(1) not null,
-     id char(1) not null,
-     constraint ID_redige_par_ID primary key (id, nom));
+     nom varchar(300) not null,
+     ID_RAP bigint not null,
+     constraint ID_redige_par_ID primary key (ID_RAP, nom));
 
 create table UTILISATEUR (
-     email -- Compound attribute -- not null,
-     constraint ID_UTILISATEUR_ID primary key (email -- Compound attribute --));
+     email varchar(300) not null,
+     constraint ID_UTILISATEUR_ID primary key (email));
 
 create table ecrit_par (
-     nom char(1) not null,
+     nom varchar(300) not null,
      ISBN char(13) not null,
      constraint ID_ecrit_par_ID primary key (nom, ISBN));
 
@@ -150,7 +148,7 @@ alter table ACHAT add constraint FKprovient_d_un_FK
      references EXEMPLAIRE;
 
 alter table autorise_l_acces add constraint FKaut_UTI
-     foreign key (email -- Compound attribute --)
+     foreign key (email)
      references UTILISATEUR;
 
 alter table autorise_l_acces add constraint FKaut_LAB_FK
@@ -162,7 +160,7 @@ alter table EXEMPLAIRE add constraint FKpossede_FK
      references LABORATOIRE;
 
 alter table EXEMPLAIRE add constraint FKemprunte_FK
-     foreign key (email -- Compound attribute --)
+     foreign key (email)
      references UTILISATEUR;
 
 alter table EXEMPLAIRE add constraint FKcomporte_FK
@@ -170,7 +168,7 @@ alter table EXEMPLAIRE add constraint FKcomporte_FK
      references PUBLICATION;
 
 alter table interesse_par add constraint FKint_UTI_FK
-     foreign key (email -- Compound attribute --)
+     foreign key (email)
      references UTILISATEUR;
 
 alter table interesse_par add constraint FKint_MOT
@@ -187,10 +185,10 @@ alter table LIVRE add constraint ID_LIVRE_CHK
 
 alter table PERIODIQUE add constraint ID_PERIODIQUE_CHK
      check(exists(select * from PUBLICATION
-                  where PUBLICATION.numero = numero and PUBLICATION.editeur = editeur and PUBLICATION.edition = edition and PUBLICATION.annee_de_publication = annee_de_publication)); 
+                  where PUBLICATION.ID_PER = ID_PER)); 
 
 alter table propose add constraint FKpro_UTI_FK
-     foreign key (email -- Compound attribute --)
+     foreign key (email)
      references UTILISATEUR;
 
 alter table propose add constraint FKpro_PUB_FK
@@ -198,15 +196,15 @@ alter table propose add constraint FKpro_PUB_FK
      references PUBLICATION;
 
 alter table PUBLICATION add constraint FKou_est_un_FK
-     foreign key (numero, editeur, edition, annee_de_publication)
+     foreign key (ID_PER)
      references PERIODIQUE;
 
 alter table PUBLICATION add constraint FKou_est_un_CHK
-     check((numero is not null and editeur is not null and edition is not null and annee_de_publication is not null)
-           or (numero is null and editeur is null and edition is null and annee_de_publication is null)); 
+     check((ID_PER not null)
+           or (ID_PER is null)); 
 
 alter table PUBLICATION add constraint FKou_encore_est_un_FK
-     foreign key (id)
+     foreign key (ID_RAP)
      references RAPPORT;
 
 alter table PUBLICATION add constraint FKest_un_FK
@@ -215,14 +213,14 @@ alter table PUBLICATION add constraint FKest_un_FK
 
 alter table RAPPORT add constraint ID_RAPPORT_CHK
      check(exists(select * from PUBLICATION
-                  where PUBLICATION.id = id)); 
+                  where PUBLICATION.ID_RAP = ID_RAP)); 
 
 alter table RAPPORT add constraint ID_RAPPORT_CHK
      check(exists(select * from redige_par
-                  where redige_par.id = id)); 
+                  where redige_par.ID_RAP = ID_RAP)); 
 
 alter table redige_par add constraint FKred_RAP
-     foreign key (id)
+     foreign key (ID_RAP)
      references RAPPORT;
 
 alter table redige_par add constraint FKred_Aut_FK
@@ -257,7 +255,7 @@ create unique index ID_Auteur_IND
      on Auteur (nom);
 
 create unique index ID_autorise_l_acces_IND
-     on autorise_l_acces (email -- Compound attribute --, nom);
+     on autorise_l_acces (email, nom);
 
 create index FKaut_LAB_IND
      on autorise_l_acces (nom);
@@ -272,16 +270,16 @@ create index FKpossede_IND
      on EXEMPLAIRE (nom);
 
 create index FKemprunte_IND
-     on EXEMPLAIRE (email -- Compound attribute --);
+     on EXEMPLAIRE (email);
 
 create index FKcomporte_IND
      on EXEMPLAIRE (ID_PUB);
 
 create unique index ID_interesse_par_IND
-     on interesse_par (mot, email -- Compound attribute --);
+     on interesse_par (mot, email);
 
 create index FKint_UTI_IND
-     on interesse_par (email -- Compound attribute --);
+     on interesse_par (email);
 
 create unique index ID_LABORATOIRE_IND
      on LABORATOIRE (nom);
@@ -293,10 +291,10 @@ create unique index ID_MOT_CLE_IND
      on MOT_CLE (mot);
 
 create unique index ID_PERIODIQUE_IND
-     on PERIODIQUE (numero, editeur, edition, annee_de_publication);
+     on PERIODIQUE (ID_PER);
 
 create index FKpro_UTI_IND
-     on propose (email -- Compound attribute --);
+     on propose (email);
 
 create unique index FKpro_PUB_IND
      on propose (ID_PUB);
@@ -305,16 +303,16 @@ create unique index ID_IND
      on PUBLICATION (ID_PUB);
 
 create unique index FKou_est_un_IND
-     on PUBLICATION (numero, editeur, edition, annee_de_publication);
+     on PUBLICATION (ID_PER);
 
 create unique index FKou_encore_est_un_IND
-     on PUBLICATION (id);
+     on PUBLICATION (ID_RAP);
 
 create unique index FKest_un_IND
      on PUBLICATION (ISBN);
 
 create unique index ID_RAPPORT_IND
-     on RAPPORT (id);
+     on RAPPORT (ID_RAP);
 
 create unique index ID_redige_par_IND
      on redige_par (id, nom);
@@ -323,7 +321,7 @@ create index FKred_Aut_IND
      on redige_par (nom);
 
 create unique index ID_UTILISATEUR_IND
-     on UTILISATEUR (email -- Compound attribute --);
+     on UTILISATEUR (email);
 
 create unique index ID_ecrit_par_IND
      on ecrit_par (nom, ISBN);