Commit caf0e36f authored by David Surville's avatar David Surville
Browse files

Ajout de la catégorie du périmètre dans la table reliant un utilisateur, un...

Ajout de la catégorie du périmètre dans la table reliant un utilisateur, un rôle et un périmètre car plus pratique
parent a45a803a
Loading
Loading
Loading
Loading
+4 −1
Changes for data/sql/schema_oracle.sql: 4 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -122,16 +122,19 @@ CREATE TABLE UNICAEN_UTILISATEUR_ROLE_LINKER (
  ID                      NUMBER(*,0) NOT NULL,
  UTILISATEUR_ID          NUMBER(*,0) NOT NULL,
  ROLE_ID                 NUMBER(*,0) NOT NULL,
  PERIMETRE_CATEGORIE_ID  NUMBER(*,0),
  PERIMETRE_ID            NUMBER(*,0),
  CONSTRAINT PK_UNICAEN_UTILISATEUR_ROLE_LINKER PRIMARY KEY (ID),
  CONSTRAINT UN_UNICAEN_UTILISATEUR_ROLE_LINKER UNIQUE (UTILISATEUR_ID, ROLE_ID, PERIMETRE_ID),
  CONSTRAINT UN_UNICAEN_UTILISATEUR_ROLE_LINKER UNIQUE (UTILISATEUR_ID, ROLE_ID, PERIMETRE_CATEGORIE_ID),
  CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_LINKER_UTILISATEUR FOREIGN KEY (UTILISATEUR_ID) REFERENCES UNICAEN_UTILISATEUR (ID) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_LINKER_ROLE FOREIGN KEY (ROLE_ID) REFERENCES UNICAEN_ROLE (ID) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_LINKER_PERIMETRE_CATEGORIE FOREIGN KEY (PERIMETRE_CATEGORIE_ID) REFERENCES UNICAEN_PERIMETRE_CATEGORIE (ID) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_LINKER_PERIMETRE FOREIGN KEY (PERIMETRE_ID) REFERENCES UNICAEN_PERIMETRE (ID) DEFERRABLE INITIALLY IMMEDIATE
);

CREATE INDEX IX_UNICAEN_UTILISATEUR_ROLE_LINKER_UTILISATEUR ON UNICAEN_UTILISATEUR_ROLE_LINKER (UTILISATEUR_ID);
CREATE INDEX IX_UNICAEN_UTILISATEUR_ROLE_LINKER_ROLE ON UNICAEN_UTILISATEUR_ROLE_LINKER (ROLE_ID);
CREATE INDEX IX_UNICAEN_UTILISATEUR_ROLE_LINKER_PERIMETRE_CATEGORIE ON UNICAEN_UTILISATEUR_ROLE_LINKER (PERIMETRE_CATEGORIE_ID);
CREATE INDEX IX_UNICAEN_UTILISATEUR_ROLE_LINKER_PERIMETRE ON UNICAEN_UTILISATEUR_ROLE_LINKER (PERIMETRE_ID);


+5 −2
Changes for data/sql/schema_postgresql.sql: 5 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -106,15 +106,18 @@ CREATE TABLE UNICAEN_UTILISATEUR_ROLE_LINKER (
  ID              SERIAL  PRIMARY KEY,
  UTILISATEUR_ID          INTEGER NOT NULL,
  ROLE_ID                 INTEGER NOT NULL,
  PERIMETRE_CATEGORIE_ID  INTEGER NOT NULL,
  PERIMETRE_ID            INTEGER NOT NULL,
  CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_LINKER_UTILISATEUR FOREIGN KEY (UTILISATEUR_ID) REFERENCES UNICAEN_UTILISATEUR (ID) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_LINKER_ROLE FOREIGN KEY (ROLE_ID) REFERENCES UNICAEN_ROLE (ID) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_LINKER_ROLE FOREIGN KEY (PERIMETRE_ID) REFERENCES UNICAEN_PERIMETRE (ID) DEFERRABLE INITIALLY IMMEDIATE
  CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_LINKER_PERIMETRE_CATEGORIE FOREIGN KEY (PERIMETRE_CATEGORIE_ID) REFERENCES UNICAEN_PERIMETRE_CATEGORIE (ID) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_LINKER_PERIMETRE FOREIGN KEY (PERIMETRE_ID) REFERENCES UNICAEN_PERIMETRE (ID) DEFERRABLE INITIALLY IMMEDIATE
);

CREATE UNIQUE INDEX UN_UNICAEN_UTILISATEUR_ROLE_LINKER ON UNICAEN_UTILISATEUR_ROLE_LINKER (UTILISATEUR_ID, ROLE_ID, PERIMETRE_ID);
CREATE UNIQUE INDEX UN_UNICAEN_UTILISATEUR_ROLE_LINKER ON UNICAEN_UTILISATEUR_ROLE_LINKER (UTILISATEUR_ID, ROLE_ID, PERIMETRE_CATEGORIE_ID);
CREATE INDEX IX_UNICAEN_UTILISATEUR_ROLE_LINKER_UTILISATEUR ON UNICAEN_UTILISATEUR_ROLE_LINKER (UTILISATEUR_ID);
CREATE INDEX IX_UNICAEN_UTILISATEUR_ROLE_LINKER_ROLE ON UNICAEN_UTILISATEUR_ROLE_LINKER (ROLE_ID);
CREATE INDEX IX_UNICAEN_UTILISATEUR_ROLE_LINKER_PERIMETRE_CATEGORIE ON UNICAEN_UTILISATEUR_ROLE_LINKER (PERIMETRE_CATEGORIE_ID);
CREATE INDEX IX_UNICAEN_UTILISATEUR_ROLE_LINKER_PERIMETRE ON UNICAEN_UTILISATEUR_ROLE_LINKER (PERIMETRE_ID);