Closed DonovanMaillard closed 4 years ago
Ok. Juste quelques remarques:
cor_role_import
et cor_role_mapping
).cor_role_mapping
devrait pointer vers bib_mapping
Et sur la sémantique, est-ce qu'on transformerait pas bib_mapping
en t_mappings
ainsi que t_mapping_filed
et t_mapping_value
en cor_mapping_field
et cor_mapping_value
?Merci théo, j'ai en effet pas votre organisation en tete pour tout ce qui est t, cor etc... et à la fois, le mapping en soit est une correspondance, donc j'avais mis t car c'est une donnée en soit... je rectifie tout ca.
Mise à jour avec les remarques de théo, j'ai relié bib_mapping (devenu t_mappings) au reste. Et j'ai rectifié la sémantique.
Pas de pk dans les deux cor indiquées, c'est la combinaison qui doit etre unique (c'est le cas dans les autres cor role je ne me trompe pas?)
Ajout de la table cor_module_field_nomenclature pour indiquer, pour chaque champs, le type de nomenclature attendu. Je ferai et renseignerai cette table la semaine prochaine pour la synthèse, et je prévoirai le script à intégrer à l'install d'occtax ou la prochaine maj.
Coté BDD, le module va utiliser le schéma pré-existant gn_imports. Ses tables seront dans un premier temps déployées à coté des tables déjà existantes (matching fields etc). A voir par la suite pour clarifier les choses en supprimant ou renommant les tables déjà existantes. Idem pour les fonctions.
Script pour la création de la table de gn_commons pour stocker les champs et leurs id_type nomenclatures correspondants. Je laisse les pros voir s'il manque des choses dans les contraintes :) j'ajoute le coté occtax à part prochainement :
-- DROP TABLE gn_commons.cor_modules_nomenclatures_fields
CREATE TABLE gn_commons.cor_modules_nomenclatures_fields ( id_module integer, "table" varchar(255), field varchar(255), id_type_nomenclature integer ,
CONSTRAINT pk_cor_modules_nomenclatures_fields PRIMARY KEY (id_module, "table", field, id_type_nomenclature), CONSTRAINT fk_cor_modules_nomenclatures_fields_id_type FOREIGN KEY (id_type_nomenclature) REFERENCES ref_nomenclatures.bib_nomenclatures_types (id_type) MATCH SIMPLE ON UPDATE CASCADE ON DELETE NO ACTION), CONSTRAINT fk_cor_modules_nomenclatures_fields_id_module FOREIGN KEY (id_module) REFERENCES ref_nomenclatures.bib_nomenclatures_types (id_module) MATCH SIMPLE ON UPDATE CASCADE ON DELETE NO ACTION)
INSERT INTO gn_commons.cor_modules_nomenclatures_fields (id_module, "table", field, id_type_nomenclature) VALUES -- Pour la table synthèse ('5', 'gn_synthese.synthese', 'id_nomenclature_geo_object_nature','3'), ('5', 'gn_synthese.synthese', 'id_nomenclature_grp_typ','24'), ('5', 'gn_synthese.synthese', 'id_nomenclature_obs_meth','14'), ('5', 'gn_synthese.synthese', 'id_nomenclature_obs_technique','100'), ('5', 'gn_synthese.synthese', 'id_nomenclature_bio_status','13'), ('5', 'gn_synthese.synthese', 'id_nomenclature_bio_condition','7'), ('5', 'gn_synthese.synthese', 'id_nomenclature_naturalness','8'), ('5', 'gn_synthese.synthese', 'id_nomenclature_exist_proof','15'), ('5', 'gn_synthese.synthese', 'id_nomenclature_valid_status','101'), ('5', 'gn_synthese.synthese', 'id_nomenclature_diffusion_level','5'), ('5', 'gn_synthese.synthese', 'id_nomenclature_life_stage','10'), ('5', 'gn_synthese.synthese', 'id_nomenclature_sex','9'), ('5', 'gn_synthese.synthese', 'id_nomenclature_obj_count','6'), ('5', 'gn_synthese.synthese', 'id_nomenclature_type_count','21'), ('5', 'gn_synthese.synthese', 'id_nomenclature_sensitivity','16'), ('5', 'gn_synthese.synthese', 'id_nomenclature_observation_status','18'), ('5', 'gn_synthese.synthese', 'id_nomenclature_blurring','4'), ('5', 'gn_synthese.synthese', 'id_nomenclature_source_status','19'), ('5', 'gn_synthese.synthese', 'id_nomenclature_info_geo_type','23'), ('5', 'gn_synthese.synthese', 'id_nomenclature_determination_method','106'), -- Pour les metadonnees -- Cadres acquisition ('8','gn_meta.t_acquisition_frameworks','id_nomenclature_territorial_level','107'), ('8', 'gn_meta.t_acquisition_frameworks', 'id_nomenclature_financing_type','111'), ('8', 'gn_meta.cor_acquisition_framework_objectif', 'id_nomenclature_objectif','108'), ('8', 'gn_meta.cor_acquisition_framework_voletsinp', 'id_nomenclature_voletsinp','113'), ('8', 'gn_meta.cor_acquisition_framework_actor', 'id_nomenclature_actor_role','109'), -- Jeu de donnees ('8', 'gn_meta.t_datasets', 'id_nomenclature_data_type','103'), ('8', 'gn_meta.t_datasets', 'id_nomenclature_dataset_objectif','114'), ('8', 'gn_meta.t_datasets', 'id_nomenclature_collecting_method','115'), ('8', 'gn_meta.t_datasets', 'id_nomenclature_data_origin','2'), ('8', 'gn_meta.t_datasets', 'id_nomenclature_source_status','19'), ('8', 'gn_meta.t_datasets', 'id_nomenclature_resource_type','102'), ('8', 'gn_meta.cor_dataset_territory', 'id_nomenclature_territory','110'), ('8', 'gn_meta.cor_dataset_actor', 'id_nomenclature_actor_role','109')
Une version mise à jour du MCD devra etre intégrée à la documentation du module.
Modèle de donnée stabilisée dans la 1.0.0 puis enrichi dans la 1.1.0
Bonjour,
Voici ci dessous une proposition de MCD pour le module d'imports. Je suis preneur d'un regard de @gildeluermoz et @TheoLechemia notamment :)