Opened 13 years ago
Closed 8 years ago
#101 closed task (wontfix)
Création de tables pour la maitrise d'ouvrage, la maitrise d'oeuvre et les financements
Reported by: | BGM (armelle) | Owned by: | cedric |
---|---|---|---|
Priority: | major | Milestone: | 5 Release stacomiR_0.5 |
Component: | database | Version: | 0.5 |
Keywords: | Cc: |
Description
l’identification du propriétaire de la donnée dans le SIE n'est pas possible avec la version actuelle de stacomi. BGM a proposé une table.
L'objectif est de pouvoir avoir pour une station de contrôle
Plusieurs maître d'oeuvres (un par dc)
Des maitres d'ouvrage et maitre d'oeuvre différents (éventuellement)
Des maitres d'ouvrage et matires d'oeuvre qui changent au cours du temps
Des financement qui changent plus vite que les maitres d'ouvrage ou maitres d'oeuvre
Change History (3)
comment:1 Changed 13 years ago by cedric
comment:2 Changed 13 years ago by cedric
- Status changed from new to accepted
comment:3 Changed 8 years ago by cedric
- Resolution set to wontfix
- Status changed from accepted to closed
Note: See
TracTickets for help on using
tickets.
/*
ticket_101_creation_produceur_finaceur.sql
--http://trac.eptb-vilaine.fr:8066/tracstacomi/ticket/101
auteurs Cédric Briand / Armelle Bask
Version provisoire, les tests d'imports restent à faire, la structure de la table financement est peut-être à revoir
date 7 mai 2012
*/
-- La table des producteurs
drop table if exists bgm.t_producteur_pro CASCADE;
create table bgm.t_producteur_pro(
Comment on table bgm.t_producteur_pro is 'table créée le 7 mai 2012 et rajoutée au schéma stacomi à la demande de BGM, essai de codage';
Comment on column bgm.t_producteur_pro.pro_identifiant IS 'identifiant unique du producteur de la donnée';
Comment on column bgm.t_producteur_pro.pro_dic_dis_identifiant IS 'identifiant du dispositif de comptage';
Comment on column bgm.t_producteur_pro.pro_typemaitrise IS 'type de maitrise (maitrise douvrage, ou maitrise doeuvre ou maitrise douvrage et maitrise doeuvre)';
Comment on column bgm.t_producteur_pro.pro_nommaitrise IS 'nom du maitre douvrage ou du maitre doeuvre';
Comment on column bgm.t_producteur_pro.pro_datedebut IS 'date de début de la production de données par le maitre douvrage ou le maitre doeuvre';
Comment on column bgm.t_producteur_pro.pro_datefin IS 'date de fin';
Comment on column bgm.t_producteur_pro.pro_personneressource IS 'nom de la personne ressource du producteur de données';
Comment on column bgm.t_producteur_pro.pro_commentaire IS 'commentaires sur la production de la donnée';
Comment on column bgm.t_producteur_pro.pro_org_code IS 'code de lorganisme de banquarisation de la donnée (nom du schéma)';
-- La table des financements, ça change beaucoup plus que les producteurs, d'où l'intérêt de le mettre dans une nouvelle table
drop table if exists bgm.t_financement_fin;
create table bgm.t_financement_fin(
fin_identifiant serial,
fin_pro_identifiant integer,
fin_financeur character varying(50),
fin_cadrefinancement character varying(50),
fin_datedebut date,
fin_datefin date,
fin_commentaire text,
fin_org_code character varying(30),
CONSTRAINT c_pk_fin primary key (fin_identifiant,fin_org_code),
CONSTRAINT c_fk_fin_pro_identifiant FOREIGN KEY (fin_pro_identifiant,fin_org_code) REFERENCES bgm.t_producteur_pro(pro_identifiant,pro_org_code),
CONSTRAINT c_ck_fin_finapresdebut CHECK (CASE WHEN fin_datefin is null then TRUE ELSE fin_datefin>fin_datedebut END),
CONSTRAINT c_fk_fin_org_code FOREIGN KEY (fin_org_code) REFERENCES ref.ts_organisme_org(org_code),
CONSTRAINT c_uk_financeur UNIQUE (fin_financeur, fin_datedebut,fin_pro_identifiant,fin_org_code));
Comment on table bgm.t_financement_fin is 'table créée le 7 mai 2012 et rajoutée au schéma stacomi à la demande de BGM, essai de codage';
comment on column bgm.t_financement_fin.fin_identifiant is 'identifiant unique du financement';
comment on column bgm.t_financement_fin.fin_cadrefinancement is 'description du cadre du financement, exemple contrat de projet...';
comment on column bgm.t_financement_fin.fin_datedebut is 'date de début du financement';
comment on column bgm.t_financement_fin.fin_datefin is 'date de fin du financement (peut être nulle)';
comment on column bgm.t_financement_fin.fin_commentaire is 'Commentaire sur le financement';
comment on column bgm.t_financement_fin.fin_org_code is 'Code dorganisme de la table ref.ts_organisme_org';
-- creation d'un trigger pour vérifier les dates de la table de financement
-- DROP FUNCTION bgm.fin_date();
CREATE OR REPLACE FUNCTION bgm.fin_date()
$BODY$
$BODY$
-- DROP TRIGGER trg_fin_date ON bgm.t_financement_fin;
CREATE TRIGGER trg_fin_date
-- renseignement de l'exécution du ticket dans la base (à ne lancer que quand le script sera sûr)
INSERT INTO bgm.ts_maintenance_main( main_ticket,main_description) VALUES (101,'integration des tables producteur et financeur v0.5');