Skip to content

Commit

Permalink
Ajout des éléments nécessaires à la gestion des URLs des dossiers
Browse files Browse the repository at this point in the history
Ajout des requêtes pour
créer la table:
   - ta_gg_repertoire
corriger la table
   - ta_gg_url_file
ajouter les libelles longs et la famille propre aux urls dans les tables du schéma G_GEO
  • Loading branch information
romain-jault committed Feb 18, 2022
1 parent ed17bf7 commit 9aebc2c
Show file tree
Hide file tree
Showing 3 changed files with 146 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/*
Instructions DML pour intégrer en base les libelles
*/

-- 1. AJOUT DE LA FAMILLE URL
MERGE INTO G_GEO.TA_FAMILLE a
USING
(
SELECT
'URL' AS VALEUR
FROM
DUAL
)b
ON(a.valeur = b.valeur)
WHEN NOT MATCHED THEN
INSERT (a.valeur)
VALUES (b.valeur)
;
COMMIT;


-- 2. AJOUT DES URLS DANS LA TABLE TA_LIBELLE_LONG
MERGE INTO G_GEO.TA_LIBELLE_LONG a
USING
(
SELECT
'/var/www/extraction/apps/gestiongeo' AS VALEUR
FROM
DUAL
UNION
SELECT
'https://gtf.lillemetropole.fr/apps/gestiongeo/' AS VALEUR
FROM
DUAL
)b
ON(a.valeur = b.valeur)
WHEN NOT MATCHED THEN
INSERT (a.valeur)
VALUES (b.valeur)
;
COMMIT;


-- 3. Ajout des relations libelles/famille
MERGE INTO G_GEO.TA_FAMILLE_LIBELLE a
USING
(
SELECT
a.objectid AS FID_FAMILLE,
b.objectid AS FID_LIBELLE_LONG
FROM
G_GEO.TA_FAMILLE a,
G_GEO.TA_LIBELLE_LONG b
WHERE
UPPER(a.valeur) = UPPER('URL')
AND UPPER(b.valeur) IN (UPPER('/var/www/extraction/apps/gestiongeo'),UPPER('https://gtf.lillemetropole.fr/apps/gestiongeo/'))
)b
ON(a.fid_libelle_long = b.fid_libelle_long)
WHEN NOT MATCHED THEN
INSERT (a.fid_libelle_long)
VALUES (b.fid_libelle_long)
;
COMMIT;


-- 4. AJOUT DES CLES ETRANGERES DANS LA TABLE TA_LIBELLE
MERGE INTO G_GEO.TA_LIBELLE a
USING
(
SELECT
a.OBJECTID AS FID_LIBELLE_LONG
FROM
G_GEO.TA_LIBELLE_LONG a
WHERE
UPPER(a.valeur) IN (UPPER('/var/www/extraction/apps/gestiongeo'),UPPER('https://gtf.lillemetropole.fr/apps/gestiongeo/'))
)b
ON(a.fid_libelle_long = b.fid_libelle_long)
WHEN NOT MATCHED THEN
INSERT (a.fid_libelle_long)
VALUES (b.fid_libelle_long)
;
COMMIT;
44 changes: 44 additions & 0 deletions schema/geogestion/tables/creation_ta_gg_repertoire.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
TA_GG_REPERTOIRE : Table qui présente les chemins d''accès aux fichiers des dossiers gestiongeo..
*/

-- 1. Création de la table TA_GG_REPERTOIRE
CREATE TABLE G_GESTIONGEO.TA_GG_REPERTOIRE (
OBJECTID NUMBER(38,0) GENERATED BY DEFAULT AS IDENTITY START WITH 1 INCREMENT BY 1,
REPERTOIRE VARCHAR2(4000 BYTE) NOT NULL,
FID_LIBELLE NUMBER(38,0) NOT NULL
);


-- 2. Les commentaires
COMMENT ON TABLE G_GESTIONGEO.TA_GG_REPERTOIRE IS 'Table qui présente les chemins d''accès aux fichiers des dossiers gestiongeo.';
COMMENT ON COLUMN G_GESTIONGEO.TA_GG_REPERTOIRE.OBJECTID IS 'Clé primaire de la table.';
COMMENT ON COLUMN G_GESTIONGEO.TA_GG_REPERTOIRE.REPERTOIRE IS 'Chemin des repertoire.';
COMMENT ON COLUMN G_GESTIONGEO.TA_GG_REPERTOIRE.FID_LIBELLE IS 'Clé étrangère vers la table G_GEO.TA_LIBELLE pour caractériser le chemin.';


-- 3. Les contraintes
-- 3.1. Contrainte de clé primaire
ALTER TABLE G_GESTIONGEO.TA_GG_REPERTOIRE
ADD CONSTRAINT TA_GG_REPERTOIRE_PK
PRIMARY KEY("OBJECTID")
USING INDEX TABLESPACE G_ADT_INDX;

-- 3.2. Contrainte de clé étrangère
ALTER TABLE G_GESTIONGEO.TA_GG_REPERTOIRE
ADD CONSTRAINT TA_GG_REPERTOIRE_FID_LIBELLE_FK
FOREIGN KEY("FID_LIBELLE")
REFERENCES G_GEO.TA_LIBELLE ("OBJECTID");


-- 4. Les indexes
CREATE INDEX G_GESTIONGEO."TA_GG_REPERTOIRE_REPERTOIRE_IDX" ON G_GESTIONGEO.TA_GG_REPERTOIRE ("REPERTOIRE")
TABLESPACE G_ADT_INDX;


-- 5. Les droits de lecture, écriture, suppression
GRANT SELECT ON G_GESTIONGEO.TA_GG_REPERTOIRE TO G_ADMIN_SIG;
GRANT SELECT ON G_GESTIONGEO.TA_GG_REPERTOIRE TO G_GESTIONGEO_R;
GRANT SELECT, INSERT, UPDATE, DELETE ON G_GESTIONGEO.TA_GG_REPERTOIRE TO G_GESTIONGEO_RW;

/
25 changes: 20 additions & 5 deletions schema/geogestion/tables/creation_ta_gg_url_file.sql
Original file line number Diff line number Diff line change
Expand Up @@ -6,42 +6,57 @@ TA_GG_URL_FILE : Création de la table TA_GG_URL_FILE permettant de lister tous
CREATE TABLE G_GESTIONGEO.TA_GG_URL_FILE (
"OBJECTID" NUMBER(38,0) DEFAULT G_GESTIONGEO.SEQ_TA_GG_URL_FILE_OBJECTID.NEXTVAL NOT NULL,
"FID_DOSSIER" NUMBER(38,0),
"DOS_URL_FILE" VARCHAR2(250) NOT NULL,
"FID_REPERTOIRE" NUMBER(38,0),
"FICHIER" VARCHAR2(250) NOT NULL,
"INTEGRATION" NUMBER(1,0) NULL
);

-- 2. Les commentaires
COMMENT ON TABLE G_GESTIONGEO.TA_GG_URL_FILE IS 'Table permettant de lister tous les fichiers correspondant à un dossier (dwg, pdf, etc).';
COMMENT ON COLUMN G_GESTIONGEO.TA_GG_URL_FILE.OBJECTID IS 'Clé primaire de la table correspondant à l''identifiant unique de chaque URL.';
COMMENT ON COLUMN G_GESTIONGEO.TA_GG_URL_FILE.FID_DOSSIER IS 'Clé étrangère vers la table TA_GG_DOSSIER permettant d''associer un l''URL de fichier (exemple : dwg, pdf, etc) à un dossier.';
COMMENT ON COLUMN G_GESTIONGEO.TA_GG_URL_FILE.DOS_URL_FILE IS 'URL de chaque fichier.';
COMMENT ON COLUMN G_GESTIONGEO.TA_GG_URL_FILE.FID_REPERTOIRE IS 'Clé étrangère vers la table TA_GG_REPERTOIRE pour connaitre la localisation des fichiers';
COMMENT ON COLUMN G_GESTIONGEO.TA_GG_URL_FILE.FICHIER IS 'Nom de chaque fichier.';
COMMENT ON COLUMN G_GESTIONGEO.TA_GG_URL_FILE.INTEGRATION IS 'Champ permettant de savoir si le fichier a été utilisé lors de l''intégration du fichier dwg par FME pour déterminer le périmètre du dossier. : 1 = oui ; 0 = non.';

-- 3. Les contraintes
-- Contrainte de clé primaire
-- 3.1. Contrainte de clé primaire
ALTER TABLE G_GESTIONGEO.TA_GG_URL_FILE
ADD CONSTRAINT TA_GG_URL_FILE_PK
PRIMARY KEY("OBJECTID")
USING INDEX TABLESPACE G_ADT_INDX;

-- Contraintes de clé étrangère
-- 3.2. Contraintes de clé étrangère
-- vers la table TA_GG_DOSSIER
ALTER TABLE G_GESTIONGEO.TA_GG_URL_FILE
ADD CONSTRAINT TA_GG_URL_FILE_FID_DOSSIER_FK
FOREIGN KEY("FID_DOSSIER")
REFERENCES G_GESTIONGEO.TA_GG_DOSSIER ("OBJECTID");

-- vers la table TA_GG_REPERTOIRE
ALTER TABLE G_GESTIONGEO.TA_GG_URL_FILE
ADD CONSTRAINT TA_GG_URL_FILE_FID_REPERTOIRE_FK
FOREIGN KEY("FID_REPERTOIRE")
REFERENCES G_GESTIONGEO.TA_GG_REPERTOIRE ("OBJECTID");

-- 4. Les indexes
CREATE INDEX G_GESTIONGEO."TA_GG_URL_FILE_FID_DOSSIER_IDX" ON G_GESTIONGEO.TA_GG_URL_FILE ("FID_DOSSIER")
TABLESPACE G_ADT_INDX;

CREATE INDEX G_GESTIONGEO."TA_GG_URL_FILE_DOS_URL_FILE_IDX" ON G_GESTIONGEO.TA_GG_URL_FILE ("DOS_URL_FILE")
CREATE INDEX G_GESTIONGEO."TA_GG_URL_FILE_FID_REPERTOIRE_IDX" ON G_GESTIONGEO.TA_GG_URL_FILE ("FID_REPERTOIRE")
TABLESPACE G_ADT_INDX;

CREATE INDEX G_GESTIONGEO."TA_GG_URL_FILE_FICHIER_IDX" ON G_GESTIONGEO.TA_GG_URL_FILE ("FICHIER")
TABLESPACE G_ADT_INDX;

CREATE INDEX G_GESTIONGEO."TA_GG_URL_FILE_INTEGRATION_IDX" ON G_GESTIONGEO.TA_GG_URL_FILE ("INTEGRATION")
TABLESPACE G_ADT_INDX;

-- 5. Les droits de lecture, écriture, suppression
GRANT SELECT ON G_GESTIONGEO.TA_GG_URL_FILE TO G_ADMIN_SIG;
GRANT SELECT ON G_GESTIONGEO.TA_GG_URL_FILE TO G_ADMIN_SIG;
GRANT SELECT ON G_GESTIONGEO.TA_GG_URL_FILE TO G_GESTIONGEO_R;
GRANT SELECT, INSERT, UPDATE, DELETE ON G_GESTIONGEO.TA_GG_URL_FILE TO G_GESTIONGEO_RW;

/

0 comments on commit 9aebc2c

Please sign in to comment.