All

1 PostgreSQL Move the mouse over tables & columns to read the comments. Generated using DbSchema © Wise Coders Fk fk_users_contact users ref contact ( contact -> id ) Fk fk_users_contact users ref contact ( contact -> id ) contact Fk fk_media_auteur_media media_auteur ref media ( media -> id ) Fk fk_media_auteur_media media_auteur ref media ( media -> id ) media Fk fk_media_auteur_contact media_auteur ref contact ( contact -> id ) Fk fk_media_auteur_contact media_auteur ref contact ( contact -> id ) contact Fk fk_intervenant_contact intervenant ref contact ( contact -> id ) Fk fk_intervenant_contact intervenant ref contact ( contact -> id ) contact Fk fk_intervenant_intervention intervenant ref intervention ( intervention -> id ) Fk fk_intervenant_intervention intervenant ref intervention ( intervention -> id ) intervention Fk fk_stratigraphie_parent stratigraphie ref stratigraphie ( parent -> id ) Fk fk_stratigraphie_parent stratigraphie ref stratigraphie ( parent -> id ) parent Fk fk_stratigraphie_rang stratigraphie ref rang ( rang -> id ) Fk fk_stratigraphie_rang stratigraphie ref rang ( rang -> id ) rang Fk fk_contact_media_contact contact_media ref contact ( contact -> id ) Fk fk_contact_media_contact contact_media ref contact ( contact -> id ) contact Fk fk_contact_media_media contact_media ref media ( media -> id ) Fk fk_contact_media_media contact_media ref media ( media -> id ) media Fk fk_echantillon_media_echantillon echantillon_media ref echantillon ( echantillon -> id ) Fk fk_echantillon_media_echantillon echantillon_media ref echantillon ( echantillon -> id ) echantillon Fk fk_echantillon_media_media echantillon_media ref media ( media -> id ) Fk fk_echantillon_media_media echantillon_media ref media ( media -> id ) media Fk fk_classification_top_rank classification ref rang ( top_rank -> id ) Fk fk_classification_top_rank classification ref rang ( top_rank -> id ) top_rank Fk Fk_Rang_parent rang ref rang ( parent -> id ) Fk Fk_Rang_parent rang ref rang ( parent -> id ) parent Fk fk_categorie_parent_child categorie_parent ref categorie ( child -> id ) Fk fk_categorie_parent_child categorie_parent ref categorie ( child -> id ) child Fk fk_categorie_parent_parent categorie_parent ref categorie ( parent -> id ) Fk fk_categorie_parent_parent categorie_parent ref categorie ( parent -> id ) parent Fk fk_entree_media_media entree_media ref media ( media -> id ) Fk fk_entree_media_media entree_media ref media ( media -> id ) media Fk fk_entree_media_entree entree_media ref entree ( entree -> id ) Fk fk_entree_media_entree entree_media ref entree ( entree -> id ) entree Fk fk_intervention_entree_entree intervention_entree ref entree ( entree -> id ) Fk fk_intervention_entree_entree intervention_entree ref entree ( entree -> id ) entree Fk fk_intervenant_entree_intervention intervenant_entree ref intervention_entree ( intervention -> id ) Fk fk_intervenant_entree_intervention intervenant_entree ref intervention_entree ( intervention -> id ) intervention Fk fk_intervenant_entree_contact intervenant_entree ref contact ( contact -> id ) Fk fk_intervenant_entree_contact intervenant_entree ref contact ( contact -> id ) contact Fk fk_entree_cons_med entree ref milieu_conservation ( cons_med -> id ) Fk fk_entree_cons_med entree ref milieu_conservation ( cons_med -> id ) cons_med Fk fk_entree_cons_part entree ref partie_conservee ( cons_part -> id ) Fk fk_entree_cons_part entree ref partie_conservee ( cons_part -> id ) cons_part Fk fk_lieu_parent lieu ref lieu ( parent -> id ) Fk fk_lieu_parent lieu ref lieu ( parent -> id ) parent Fk fk_lieu_rang lieu ref rang ( rang -> id ) Fk fk_lieu_rang lieu ref rang ( rang -> id ) rang Fk fk_lieu_rzoo lieu ref region_zoogeographique ( rzoo -> id ) Fk fk_lieu_rzoo lieu ref region_zoogeographique ( rzoo -> id ) rzoo Fk fk_collection_contact collection ref contact ( contact -> id ) Fk fk_collection_contact collection ref contact ( contact -> id ) contact Fk fk_echantillon_type echantillon ref types ( type -> id ) Fk fk_echantillon_type echantillon ref types ( type -> id ) type Fk fk_echantillon_biotope echantillon ref biotope ( biotope -> id ) Fk fk_echantillon_biotope echantillon ref biotope ( biotope -> id ) biotope Fk fk_echantillon_rzoo echantillon ref region_zoogeographique ( rzoo -> id ) Fk fk_echantillon_rzoo echantillon ref region_zoogeographique ( rzoo -> id ) rzoo Fk fk_echantillon_cons_med echantillon ref milieu_conservation ( cons_med -> id ) Fk fk_echantillon_cons_med echantillon ref milieu_conservation ( cons_med -> id ) cons_med Fk fk_echantillon_cons_part echantillon ref partie_conservee ( cons_part -> id ) Fk fk_echantillon_cons_part echantillon ref partie_conservee ( cons_part -> id ) cons_part Fk fk_echantillon_stratigraphie echantillon ref stratigraphie ( stratigraphie -> id ) Fk fk_echantillon_stratigraphie echantillon ref stratigraphie ( stratigraphie -> id ) stratigraphie Fk fk_echantillon_unite_tecto echantillon ref unite_tectonique ( unit_tecto -> id ) Fk fk_echantillon_unite_tecto echantillon ref unite_tectonique ( unit_tecto -> id ) unit_tecto Fk fk_echantillon_cat echantillon ref categorie ( categorie -> id ) Fk fk_echantillon_cat echantillon ref categorie ( categorie -> id ) categorie Fk fk_echantillon_stockage echantillon ref stockage ( stockage -> id ) Fk fk_echantillon_stockage echantillon ref stockage ( stockage -> id ) stockage Fk fk_echantillon_assemblage echantillon ref assemblage ( assemblage -> id ) Fk fk_echantillon_assemblage echantillon ref assemblage ( assemblage -> id ) assemblage Fk fk_echantillon_lieu echantillon ref lieu ( lieu -> id ) Fk fk_echantillon_lieu echantillon ref lieu ( lieu -> id ) lieu Fk fk_echantillon_entree echantillon ref entree ( entree -> id ) Fk fk_echantillon_entree echantillon ref entree ( entree -> id ) entree Fk fk_echantillon_collection echantillon ref collection ( collection -> id ) Fk fk_echantillon_collection echantillon ref collection ( collection -> id ) collection Fk fk_echantillon_coll_etr echantillon ref collection ( coll_etr -> id ) Fk fk_echantillon_coll_etr echantillon ref collection ( coll_etr -> id ) coll_etr Fk fk_echantillon_collection_coll_vieux echantillon ref collection ( coll_vieux -> id ) Fk fk_echantillon_collection_coll_vieux echantillon ref collection ( coll_vieux -> id ) coll_vieux Fk fk_stockage_parent stockage ref stockage ( parent -> id ) Fk fk_stockage_parent stockage ref stockage ( parent -> id ) parent Fk fk_stockage_rang stockage ref rang ( rang -> id ) Fk fk_stockage_rang stockage ref rang ( rang -> id ) rang Fk fk_taxon_media_media taxon_media ref media ( media -> id ) Fk fk_taxon_media_media taxon_media ref media ( media -> id ) media Fk fk_taxon_media_taxon taxon_media ref taxon ( taxon -> id ) Fk fk_taxon_media_taxon taxon_media ref taxon ( taxon -> id ) taxon Fk fk_categorie_taxon categorie ref taxon ( taxon -> id ) Fk fk_categorie_taxon categorie ref taxon ( taxon -> id ) taxon Fk fk_taxon_trad_taxon taxon_trad ref taxon ( original -> id ) Fk fk_taxon_trad_taxon taxon_trad ref taxon ( original -> id ) original Fk fk_alternate_classification_source autre_classification ref taxon ( source -> id ) Fk fk_alternate_classification_source autre_classification ref taxon ( source -> id ) source Fk fk_alternate_classification_target autre_classification ref taxon ( target -> id ) Fk fk_alternate_classification_target autre_classification ref taxon ( target -> id ) target Fk Fk_Taxon_rang taxon ref rang ( rang -> id ) Fk Fk_Taxon_rang taxon ref rang ( rang -> id ) rang Fk Fk_Taxon_parent taxon ref taxon ( parent -> id ) Fk Fk_Taxon_parent taxon ref taxon ( parent -> id ) parent Fk fk_contact_institution contact ref contact ( institution -> id ) Fk fk_contact_institution contact ref contact ( institution -> id ) institution Fk fk_intervention_echantillon intervention ref echantillon ( echantillon -> id ) Fk fk_intervention_echantillon intervention ref echantillon ( echantillon -> id ) echantillon Fk fk_intervention_taxon intervention ref taxon ( taxon -> id ) Fk fk_intervention_taxon intervention ref taxon ( taxon -> id ) taxon Fk fk_intervention_methode intervention ref methode_intervention ( methode -> id ) Fk fk_intervention_methode intervention ref methode_intervention ( methode -> id ) methode biotopeTable public.biotope Information sur le milieu biologique. anciennement provenait dela table mustypo Pk pk_biotope_id ( id ) idid * serial serialReferred by echantillon ( biotope -> id ) Unq un_biotope_reference ( reference ) referencereference * varchar(255) varchar(255) milieumilieu varchar(255) nom français varchar(255) lebensraumlebensraum varchar(255) nom allemand varchar(255) ambianteambiante varchar(255) nom italien varchar(255) habitathabitat varchar(255) nom anglais varchar(255) alliancealliance varchar(255) alliance biologique. I.e. exemples communs que l'on trouve dans ce type de biotope varchar(255) corinecorine varchar(255) varchar(255) mediaTable public.media Stoquage centralisé des médias (images, docs pdf, word, etc.). Les médias peuvent être liés à des contacts, des échantillons, des entrées, etc. Pk pk_media_id ( id ) idid * bigserial bigserialReferred by contact_media ( media -> id ) Referred by echantillon_media ( media -> id ) Referred by entree_media ( media -> id ) Referred by media_auteur ( media -> id ) Referred by taxon_media ( media -> id ) titretitre varchar(255) varchar(255) descriptiondescription varchar(2000) varchar(2000) mime_typemime_type varchar(255) Le type de document (e.g. image/png) varchar(255) auteur_textauteur_text varchar(250) L'auteur original du document. Cela peu être le nom du ou des photographes (séparés par des virgules), par exemple. Le mplus efficace est d'utiliser la relation media_auteur afin de lier les auteurs au média. varchar(250) datadata json Store additional data such as - quality: JPEG_HIGH/JPEG_LOW - originalFormat: DIA, etc. - originalUrl json bytesbytes bigint la taille du document en bytes bigint qualitequalite char(1) H (High) ou L (Low) char(1) format_originalformat_original varchar(255) varchar(255) url_originalurl_original varchar l'URL dans l'ancienne base de donnée varchar insertedinserted timestamp timestamp last_updatedlast_updated timestamp timestamp inserted_byinserted_by integer integer last_inserted_bylast_inserted_by integer integer usersTable public.users Users of the system. This is used in the authentication mechanism Pk pk_users_id ( id ) idid * serial serialReferred by contact ( inserted_by -> id ) Referred by contact ( last_updated_by -> id ) Referred by echantillon ( inserted_by -> id ) Referred by echantillon ( last_updated_by -> id ) Referred by entree ( inserted_by -> id ) Referred by entree ( last_updated_by -> id ) Referred by lieu ( inserted_by -> id ) Referred by lieu ( last_updated_by -> id ) Referred by taxon ( inserted_by -> id ) Referred by taxon ( last_updated_by -> id ) Unq idx_users_username ( username ) usernameusername * varchar(255) varchar(255) passwordpassword varchar(255) varchar(255) statestate varchar(255) varchar(255) rolerole varchar(255) varchar(255) idx_users_contact ( contact ) contactcontact integer integerReferences contact ( contact -> id ) media_auteurTable public.media_auteur Pk pk_media_auteur_id ( id ) idid * bigserial bigserial Unq idx_media_auteur_media_contact ( media, contact ) contactcontact * integer integerReferences contact ( contact -> id ) Unq idx_media_auteur_media_contact ( media, contact ) mediamedia * bigint bigintReferences media ( media -> id ) methode_interventionTable public.methode_intervention Information sur la méthode utilisée lors de l'intervention. Pour une capture -> méthode de capture Pour une détermination -> méthode de détermination afin de supporter GBIF au mieux Pk pk_methode_intervention_id ( id ) idid * serial serialReferred by intervention ( methode -> id ) Unq idx_methode_intervention_code ( type, code ) Unq idx_methode_intervention_nom ( type, nom ) Unq idx_methode_intervention_code_de ( type, code_de ) Unq idx_methode_intervention_nom_de ( type, nom_de ) Unq idx_methode_intervention_code_en ( type, code_en ) Unq idx_methode_intervention_nom_en ( type, nom_en ) typetype * varchar(255) Le type de l'intervention. Cela permettra de filtrer les méthodes par type d'intervention. Important, car ces méthodes ne sont pas liées (méthode de détermination, méthode de capture, méthode de création) varchar(255) Unq idx_methode_intervention_code ( type, code ) codecode * varchar(255) varchar(255) Unq idx_methode_intervention_nom ( type, nom ) nomnom * varchar(255) varchar(255) Unq idx_methode_intervention_code_de ( type, code_de ) code_decode_de varchar(255) varchar(255) Unq idx_methode_intervention_nom_de ( type, nom_de ) nom_denom_de varchar(255) varchar(255) Unq idx_methode_intervention_code_en ( type, code_en ) code_encode_en varchar(255) varchar(255) Unq idx_methode_intervention_nom_en ( type, nom_en ) nom_ennom_en varchar(255) varchar(255) intervenantTable public.intervenant Une détermination peut être faite par plusieurs intervenants Pk pk_intervenant_id ( id ) idid * bigserial bigserial Unq idx_intervenant_sample_intervention ( intervention, contact ) contactcontact * integer integerReferences contact ( contact -> id ) Unq idx_intervenant_sample_intervention ( intervention, contact ) interventionintervention * bigint bigintReferences intervention ( intervention -> id ) partie_conserveeTable public.partie_conservee Information about the part being preserved Pk pk_partie_conservee_id ( id ) idid * serial serialReferred by echantillon ( cons_part -> id ) Referred by entree ( cons_part -> id ) Unq idx_partie_conservee_nom ( nom ) nomnom * varchar(255) varchar(255) milieu_conservationTable public.milieu_conservation Contains information about the environment of preservation (milieu) Pk pk_milieu_conservation_id ( id ) idid * serial serialReferred by echantillon ( cons_med -> id ) Referred by entree ( cons_med -> id ) Unq idx_milieu_conservation_nom ( nom ) nomnom * varchar(255) varchar(255) assemblageTable public.assemblage Pk pk_assemblage_id ( id ) idid * serial Permet de grouper plusieurs échantillons (fragments) dans un assemblage serialReferred by echantillon ( assemblage -> id ) Unq idx_assemblage_nom ( nom ) nomnom varchar(255) varchar(255) typesTable public.types Pk pk_types_id ( id ) idid * serial serialReferred by echantillon ( type -> id ) Unq idx_types_code ( code ) codecode * varchar(255) varchar(255) Unq idx_types_nom ( nom ) nomnom * varchar(255) varchar(255) descriptiondescription varchar(2000) varchar(2000) stratigraphieTable public.stratigraphie couche chronostratigraphique (énothème, érathème, système, série, étage, sous-étage, etc.) Pk pk_stratigraphie_id ( id ) idid * serial serialReferred by echantillon ( stratigraphie -> id ) Referred by stratigraphie ( parent -> id ) idx_stratigraphie_nom ( nom ) nomnom * varchar(255) varchar(255) qualitequalite * char(1) char(1) parentparent integer integerReferences stratigraphie ( parent -> id ) rangrang * integer integerReferences rang ( rang -> id ) identifiantidentifiant integer integer contact_mediaTable public.contact_media Les médias des contacts (photos, etc.) Pk pk_contact_media_id ( id ) idid * serial serial Unq idx_contact_media ( contact, media ) contactcontact * integer integerReferences contact ( contact -> id ) Unq idx_contact_media ( contact, media ) mediamedia * bigint bigintReferences media ( media -> id ) echantillon_mediaTable public.echantillon_media Les médias des échantillons (images, etc.) Pk pk_echantillon_media_id ( id ) idid * serial serial Unq idx_echantillon_media ( echantillon, media ) echantillonechantillon * bigint bigintReferences echantillon ( echantillon -> id ) Unq idx_echantillon_media ( echantillon, media ) mediamedia * bigint bigintReferences media ( media -> id ) classificationTable public.classification Table contenant les différentes classifications. Une classification peut représenter une systématique, le stockage, les lieux, la stratigraphie, ou toute autre information classée sous forme hiérarchique. Pk pk_classification_id ( id ) idid * serial serial typetype * varchar(255) varchar(255) nomnom * varchar(255) varchar(255) positionposition * smallint smallint top_ranktop_rank integer integerReferences rang ( top_rank -> id ) rangTable public.rang Pk Pk_Rang_id ( id ) idid * serial serialReferred by classification ( top_rank -> id ) Referred by lieu ( rang -> id ) Referred by rang ( parent -> id ) Referred by stockage ( rang -> id ) Referred by stratigraphie ( rang -> id ) Referred by taxon ( rang -> id ) nomnom * varchar(255) varchar(255) Idx_Rang_parent ( parent ) parentparent integer integerReferences rang ( parent -> id ) classificationclassification * integer integer depthdepth * integer integer text_colortext_color varchar(255) varchar(255) bg_colorbg_color varchar(255) varchar(255) unite_tectoniqueTable public.unite_tectonique Une "Unité tectonique" est en général un fragment élémentaire d'une nappe de charriage*, qui est reconnaissable par les caractéristiques de l'ensemble rocheux qui le constitue et qui constitue cartographiquement un tout bien individualisable, mais dont les rapports et la position hiérarchique par rapport aux autres éléments de l'édifice tectonique créé par le charriage restent plus ou moins mal déterminés Pk pk_unite_tectonique_id ( id ) idid * serial serialReferred by echantillon ( unit_tecto -> id ) Unq idx_unite_tectonique_nom ( nom ) nomnom * varchar(255) varchar(255) region_zoogeographiqueTable public.region_zoogeographique anciennement musrzoo. par exemple, lieux-dits Pk pk_region_zoogeographique_id ( id ) idid * serial serialReferred by echantillon ( rzoo -> id ) Referred by lieu ( rzoo -> id ) Unq idx_region_zoogeographique_nom ( nom ) nomnom * varchar(255) varchar(255) Unq idx_region_zoogeographique_code ( id_original ) id_originalid_original integer identifiant original dans la base de donnée. Utile surtout pour l'import de données depuis l'ancienne base de données. integer categorie_parentTable public.categorie_parent Permet d'établir une hiérarchie de catégories. Cela est particulièrement utile pour créer des catégories publiques composées de plusieurs catégories privées. Pk pk_categorie_parent_id ( id ) idid * serial serial Unq idx_categorie_pair ( child, parent ) childchild * integer integerReferences categorie ( child -> id ) Unq idx_categorie_pair ( child, parent ) parentparent * integer integerReferences categorie ( parent -> id ) entree_mediaTable public.entree_media Les médias des entrées (images, etc.) Pk pk_entree_media_id ( id ) idid * serial serial Unq idx_entree_media ( entree, media ) entreeentree * integer integerReferences entree ( entree -> id ) Unq idx_entree_media ( entree, media ) mediamedia * bigint bigintReferences media ( media -> id ) intervention_entreeTable public.intervention_entree Pk pk_intervention_entree_id ( id ) idid * serial serialReferred by intervenant_entree ( intervention -> id ) typetype * varchar(255) varchar(255) entreeentree * integer integerReferences entree ( entree -> id ) intervenant_originalintervenant_original varchar(255) varchar(255) intervenant_entreeTable public.intervenant_entree Les intervenants d'une entrée. Cela peut être des donateurs, des legs, etc. Pk pk_intervenant_entree_id ( id ) idid * serial serial Unq idx_intervenant_entree ( intervention, contact ) contactcontact * integer integerReferences contact ( contact -> id ) Unq idx_intervenant_entree ( intervention, contact ) interventionintervention * integer integerReferences intervention_entree ( intervention -> id ) entreeTable public.entree Réception d'objets Pk pk_entree_id ( id ) idid * serial serialReferred by echantillon ( entree -> id ) Referred by entree_media ( entree -> id ) Referred by intervention_entree ( entree -> id ) id_originalid_original integer N_ENTREE integer annee_entreeannee_entree numeric(4,0) numeric(4,0) mois_entreemois_entree numeric(2,0) numeric(2,0) jour_entreejour_entree numeric(2,0) numeric(2,0) statutstatut varchar(255) valeurs possibles: inscrit, en travail, non conservé, partiellement conservé varchar(255) donateur_originaldonateur_original varchar(255) Permet d'indiquer exactement ce qui est écrit sur l'étiquette (e.g. Borel J. peut être Jules ou Jacques...). L'idéal est d0utilisaer la relation intervenant_entree varchar(255) intervenant_originalintervenant_original varchar(255) Permet d'indiquer exactement ce qui est écrit sur l'étiquette (e.g. Borel J. peut être Jules ou Jacques...). L'idéal est d'utiliser la relation intervenant_entree varchar(255) descriptiondescription varchar(4000) varchar(4000) conditionnementconditionnement varchar Anciennement nbr varchar payspays varchar(255) varchar(255) provinceprovince varchar(255) varchar(255) regionregion varchar(255) varchar(255) localitelocalite varchar(255) varchar(255) stationstation varchar(255) varchar(255) altitudealtitude integer integer coordxcoordx integer integer coordycoordy integer integer latitudelatitude varchar(16) varchar(16) longitudelongitude varchar(16) varchar(16) anneeannee numeric(4,0) numeric(4,0) moismois numeric(2,0) numeric(2,0) jourjour numeric(2,0) numeric(2,0) date_imprecisedate_imprecise varchar(255) varchar(255) biot_entreebiot_entree varchar(255) varchar(255) acquisitionacquisition varchar(255) varchar(255) remarquesremarques varchar(2000) varchar(2000) cons_partcons_part integer integerReferences partie_conservee ( cons_part -> id ) cons_medcons_med integer integerReferences milieu_conservation ( cons_med -> id ) insertedinserted timestamp timestamp last_updatedlast_updated timestamp timestamp inserted_byinserted_by integer integerReferences users ( inserted_by -> id ) last_updated_bylast_updated_by integer integerReferences users ( last_updated_by -> id ) lieuTable public.lieu Hiérarchie des lieux (Pays, Province, Region, Localité, Station) Pk pk_lieu_id ( id ) idid * serial serialReferred by echantillon ( lieu -> id ) Referred by lieu ( parent -> id ) Unq idx_lieu_nom_parent_rang_source ( nom, parent, rang, source ) Note: le rang ne devrais pas être listé, mais des données de entlieux (e.g. Slovakia), se retrouvent dans région et province.nomnom * varchar(255) varchar(255) codecode varchar(255) varchar(255) Unq idx_lieu_nom_parent_rang_source ( nom, parent, rang, source ) Note: le rang ne devrais pas être listé, mais des données de entlieux (e.g. Slovakia), se retrouvent dans région et province.parentparent integer integerReferences lieu ( parent -> id ) altalt integer integer coordxcoordx integer de entlieux integer coordycoordy integer de entlieux integer ncarrencarre integer integer ncinqncinq integer integer latitudelatitude varchar(16) varchar(16) longitudelongitude varchar(16) varchar(16) rzoorzoo integer région zoogéographique integerReferences region_zoogeographique ( rzoo -> id ) Unq idx_lieu_nom_parent_rang_source ( nom, parent, rang, source ) Note: le rang ne devrais pas être listé, mais des données de entlieux (e.g. Slovakia), se retrouvent dans région et province.rangrang * integer integerReferences rang ( rang -> id ) datadata json données additionnelles (entlieux) json insertedinserted timestamp timestamp last_updatedlast_updated timestamp timestamp inserted_byinserted_by integer integerReferences users ( inserted_by -> id ) last_updated_bylast_updated_by integer integerReferences users ( last_updated_by -> id ) Unq idx_lieu_nom_parent_rang_source ( nom, parent, rang, source ) Note: le rang ne devrais pas être listé, mais des données de entlieux (e.g. Slovakia), se retrouvent dans région et province.sourcesource * char(1) default 'C' Indique le source du lieu. Accepte deux valeurs: 1) E -> Entomologie spécialisée 2) C -> Collections Cela permet d'avoir deux hiérarchies distinctes pour l'entomologie spécialisée et pour les collections char(1) qualitequalite * integer Indique la qualité de la donnée: - Originale (O): la donnée n'a pas été modifiée - Interprétée (I): la donnée a été créée pour compléter - Vérifiée(V): la donnée a été vérifiée (I->V) integer collectionTable public.collection Collection (e.g. MHNN). Chaque musée aura une ou plusieurs collections. Ne pas confondre avec la catégorie. La même catégorie peut être utilisée par plusieurs musées. Une collection n'appartient qu'à une entité. Pk pk_collection_id ( id ) idid * serial serialReferred by echantillon ( collection -> id ) Referred by echantillon ( coll_etr -> id ) Referred by echantillon ( coll_vieux -> id ) nomnom varchar(255) varchar(255) codecode varchar(255) varchar(255) datadata json json contactcontact integer integerReferences contact ( contact -> id ) qualitequalite * char(1) char(1) sourcesource * char(1) char(1) echantillonTable public.echantillon Information about a sample. This is the central table Pk pk_echantillon_id ( id ) idid * bigserial bigserialReferred by echantillon_media ( echantillon -> id ) Referred by intervention ( echantillon -> id ) obsobs * bool default false Indique si il s'agit d'une observation ou d'une collecte bool idx_echantillon_collection_id_original ( collection, id_original ) Unq idx_echantillon_id_original ( id_original ) id_originalid_original varchar(255) L'identifiant d'origine (N) varchar(255) Unq idx_echantillon_cat_nu_fragment ( categorie, occurrence, fragment ) categoriecategorie * integer integerReferences categorie ( categorie -> id ) Unq idx_echantillon_cat_nu_fragment ( categorie, occurrence, fragment ) idx_echantillon_nu_fragment ( occurrence, fragment ) occurrenceoccurrence * integer Numéro de l'échantillon. Note: ceci n'est pas un identifiant car plusieurs échantillons peuvent avoir le même nu (fragments) integer Unq idx_echantillon_cat_nu_fragment ( categorie, occurrence, fragment ) idx_echantillon_nu_fragment ( occurrence, fragment ) fragmentfragment varchar(255) Le nom du fragment: A,B,C, etc. varchar(255) fragment_rolefragment_role char(1) Le rôle du fragment (primaire, secondaire, fragment) char(1) fragment_textfragment_text varchar(255) description du fragment: peau, os, etc. varchar(255) idx_echantillon_assemblage ( assemblage ) assemblageassemblage integer Permet de grouper des échantillons integerReferences assemblage ( assemblage -> id ) idx_echantillon_collection_id_original ( collection, id_original ) collectioncollection integer integerReferences collection ( collection -> id ) idx_echantillon_coll_id_etr ( coll_etr, id_etr ) coll_etrcoll_etr integer Permet de lier l'identifiant tier à une collection tierse et ainsi une institution tierse(e.g. cscf). Stoquer des identifiant sans savoir à qui ils sont util est inutile... integerReferences collection ( coll_etr -> id ) idx_echantillon_coll_id_etr ( coll_etr, id_etr ) idx_echantillon_id_etr ( id_etr ) id_etrid_etr varchar(255) varchar(255) idx_echantillon_coll_id_vieux ( coll_vieux, id_vieux ) coll_vieuxcoll_vieux integer Ancienne collection integerReferences collection ( coll_vieux -> id ) idx_echantillon_coll_id_vieux ( coll_vieux, id_vieux ) idx_echantillon_id_vieux ( id_vieux ) id_vieuxid_vieux varchar(255) nvieux varchar(255) idx_echantillon_type ( type ) typetype integer integerReferences types ( type -> id ) nbrnbr integer integer malemale integer integer femfem integer integer immimm integer integer biotope_textbiotope_text varchar(255) Informations libres sur le lieu de découverte (anciennement biot) varchar(255) idx_echantillon_biotope ( biotope ) biotopebiotope integer anciennement typo integerReferences biotope ( biotope -> id ) descriptiondescription varchar(2000) Anciennement désignation. Utilisé pour les artefacts, par exemple varchar(2000) remarquesremarques varchar(2000) varchar(2000) referencereference varchar(2000) varchar(2000) pretpret varchar(2000) varchar(2000) restaurationrestauration varchar(2000) varchar(2000) idx_echantillon_cons_part ( cons_part ) cons_partcons_part integer integerReferences partie_conservee ( cons_part -> id ) idx_echantillon_cons_med ( cons_med ) cons_medcons_med integer integerReferences milieu_conservation ( cons_med -> id ) idx_echantillon_rzoo ( rzoo ) rzoorzoo integer integerReferences region_zoogeographique ( rzoo -> id ) dimensionsdimensions varchar(255) varchar(255) idx_echantillon_lieu ( lieu ) lieulieu integer integerReferences lieu ( lieu -> id ) lieu_textlieu_text varchar(255) une description plus détaillée sur le lieu/le lieu original varchar(255) altitudealtitude integer integer valtvalt integer integer idx_echantillon_ncarre ( ncarre ) ncarrencarre integer integer idx_echantillon_coords ( coordx, coordy ) coordxcoordx integer integer idx_echantillon_coords ( coordx, coordy ) coordycoordy integer integer latitudelatitude varchar(16) varchar(16) longitudelongitude varchar(16) varchar(16) idx_echantillon_code_barre ( code_barre ) code_barrecode_barre varchar(255) varchar(255) faciesfacies varchar(255) varchar(255) idx_echantillon_stratigraphie ( stratigraphie ) stratigraphiestratigraphie integer integerReferences stratigraphie ( stratigraphie -> id ) cont_mincont_min varchar(255) varchar(255) cont_foscont_fos varchar(255) varchar(255) cont_orgcont_org varchar(255) varchar(255) couleurcouleur varchar(255) Géologie et artefact varchar(255) texturetexture varchar(255) varchar(255) taille_graintaille_grain varchar(255) fin, grossier, sparitic, cristal, sable varchar(255) idx_echantillon_unite_tecto ( unit_tecto ) unit_tectounit_tecto integer Une "Unité tectonique" est en général un fragment élémentaire d'une nappe de charriage*, qui est reconnaissable par les caractéristiques de l'ensemble rocheux qui le constitue et qui constitue cartographiquement un tout bien individualisable, mais dont les rapports et la position hiérarchique par rapport aux autres éléments de l'édifice tectonique créé par le charriage restent plus ou moins mal déterminés integerReferences unite_tectonique ( unit_tecto -> id ) idx_echantillon_stockage ( stockage ) stockagestockage integer integerReferences stockage ( stockage -> id ) idx_echantillon_entree ( entree ) entreeentree integer Lien vers le lot de réception integerReferences entree ( entree -> id ) maskmask * char(3) char(3) datadata json json idx_echantillon_inserted ( inserted ) insertedinserted timestamp timestamp idx_echantillon_last_updated ( last_updated ) last_updatedlast_updated timestamp timestamp idx_echantillon_inserted_by ( inserted_by ) inserted_byinserted_by integer integerReferences users ( inserted_by -> id ) idx_echantillon_last_updated_by ( last_updated_by ) last_updated_bylast_updated_by integer integerReferences users ( last_updated_by -> id ) stockage_hierarchieView public.stockage_hierarchie This views helps in restoring the complete storage hierarchy stockageTable public.stockage Hiérarchie des emplacements (Dépôts, Compactus, Colonnes, Tiroirs). Le rang définit la précision de l'enregistrement Pk pk_stockage_id ( id ) idid * serial serialReferred by echantillon ( stockage -> id ) Referred by stockage ( parent -> id ) Unq idx_stockage_parent_nom ( parent, nom ) idx_stockage_nom ( nom ) idx_stockage_rang_nom ( rang, nom ) nomnom * varchar(255) varchar(255) Unq idx_stockage_parent_code ( parent, code ) idx_stockage_code ( code ) idx_stockage_rang_code ( rang, code ) codecode varchar(255) varchar(255) descriptiondescription varchar(1000) varchar(1000) Unq idx_stockage_parent_nom ( parent, nom ) Unq idx_stockage_parent_code ( parent, code ) parentparent integer integerReferences stockage ( parent -> id ) idx_stockage_rang_nom ( rang, nom ) idx_stockage_rang_code ( rang, code ) rangrang * integer integerReferences rang ( rang -> id ) Unq idx_stockage_path ( path ) pathpath varchar(255) varchar(255) taxon_hierarchieView public.taxon_hierarchie This views helps in restoring the complete taxon hierarchy idid integer integer rootroot integer integer nomnom varchar varchar taxon_mediaTable public.taxon_media Les médias des entrées (images, etc.) Pk pk_taxon_media_id ( id ) idid * serial serial Unq idx_taxon_media ( taxon, media ) taxontaxon * integer integerReferences taxon ( taxon -> id ) Unq idx_taxon_media ( taxon, media ) mediamedia * bigint bigintReferences media ( media -> id ) categorieTable public.categorie Pk pk_categorie_id ( id ) idid * serial serialReferred by categorie_parent ( child -> id ) Referred by categorie_parent ( parent -> id ) Referred by echantillon ( categorie -> id ) Unq idx_categorie_code ( code ) codecode varchar(50) varchar(50) nomnom varchar(255) varchar(255) nom_communnom_commun varchar(255) nom destiné au grand public varchar(255) maskmask char(3) défini le masque d'insertion qui sera utilisé pour cette catégorie par défaut char(3) publicpublic * bool default false Indique si une catégorie est proposée au publique pour recherche (faux par défaut) bool taxontaxon integer Indique le taxon qui englobe cette catégorie. Par exemple, certaines catégorie sont liées à une classe, mais un taxon d'un autre rang pourrait aussi être utilisé. integerReferences taxon ( taxon -> id ) pospos integer position qui permet de trier les catégories (masque publique) integer taxon_tradTable public.taxon_trad Traductions des taxons Pk pk_taxon_trad_id ( id ) idid * serial serial typetype * char(1) default 'S' Indique si il s'agit d'un nom scientifique ou vernaculaire char(1) Unq idx_taxon_trad_original_lang_nom ( original, lang, nom ) originaloriginal * integer Lien vers le taxon original integerReferences taxon ( original -> id ) Unq idx_taxon_trad_original_lang_nom ( original, lang, nom ) langlang * char(2) default 'of' La langue de la traduction sur 2 lettres (e.g. fr, en, de). Utiliser 'of' pour la nomenclature officielle char(2) idx_taxon_trad_nom ( nom ) Unq idx_taxon_trad_original_lang_nom ( original, lang, nom ) nomnom * varchar(255) La traduction du taxon dans la langue donnée varchar(255) autre_classificationTable public.autre_classification Permet de connecter un taxon source d'une systématique au taxon d'une autre systématique. Par exemple, cela est utilisé en minéralogie pour connecter les taxons minéralogiques aux classifications Dana et Strunz. Cela peut aussi être utilisé pour les synonymes... Pk pk_alternate_classification_id ( id ) idid * serial serial Unq idx_alternate_classification_source_target ( source, target ) sourcesource * integer integerReferences taxon ( source -> id ) Unq idx_alternate_classification_source_target ( source, target ) targettarget * integer integerReferences taxon ( target -> id ) taxonTable public.taxon C'est le nom officiel du taxon. Des noms additionels peuvent être ajoutés dans la table taxon_alias. Par exemple, des traductions ou des noms vernaculaires. N.B.: Le nom officiel doit également être listé dan sla table taxon_trad afin de d'être prit en compte dans les recherches (cela simplifie les requêtes). Pk Pk_Taxon_id ( id ) idid * serial serialReferred by autre_classification ( source -> id ) Referred by autre_classification ( target -> id ) Referred by categorie ( taxon -> id ) Referred by intervention ( taxon -> id ) Referred by taxon ( parent -> id ) Referred by taxon_media ( taxon -> id ) Referred by taxon_trad ( original -> id ) nomnom * varchar(255) varchar(255) datadata json données supplémentaires au format JSON. Non indexées json Idx_Taxon_rang ( rang ) rangrang integer integerReferences rang ( rang -> id ) parentparent integer integerReferences taxon ( parent -> id ) qualitequalite * char(1) default 'O' Indique la qualité du taxon: original (avec fautes), interprété et validé char(1) codecode varchar(255) Code officiel. Attention (entomologie spécilialisée): ceci correspond à ENTCOL4.NUMSP qui est toujours renseignée (et non pas ENTCOL4.CODESP -> codeAlternatif) varchar(255) codealternatifcodealternatif varchar(255) Autre code officiel varchar(255) auteurauteur varchar(255) Liste des autheurs avec année varchar(255) synonymesynonyme bool default FALSE Indique si un taxon est le synonyme de son parent bool insertedinserted timestamp timestamp last_updatedlast_updated timestamp timestamp inserted_byinserted_by integer integerReferences users ( inserted_by -> id ) last_updated_bylast_updated_by integer integerReferences users ( last_updated_by -> id ) sourcesource * char(1) default 'C' Permet de dinstinguer si le taxon provient de l'entomologie spécialisée ('E') ou non ('C'). Cette information peut être retrouvée également par la classification. Cette colonne pourrait être supprimée dans le future si elle s'avère superflue. char(1) contactTable public.contact Information sur une personne ou institution (personne morale) Pk pk_personne_id ( id ) idid * serial serialReferred by collection ( contact -> id ) Referred by contact ( institution -> id ) Referred by contact_media ( contact -> id ) Referred by intervenant ( contact -> id ) Referred by intervenant_entree ( contact -> id ) Referred by media_auteur ( contact -> id ) Referred by users ( contact -> id ) typetype * char(1) default 'P' Indique le type de personne (morale vs physique) char(1) sexesexe char(1) char(1) Unq idx_contact_nom_prenom_nom_original ( nom_original, nom, prenom ) En principe, nom et prenom devraient suffire, mais il existe des doublons dans l'ancienne base...nomnom varchar(255) En principe, le nom ne devrait jamais être null. La contrainte NOT NULL n'est pas activée en raison de données anciennes. varchar(255) Unq idx_contact_nom_prenom_nom_original ( nom_original, nom, prenom ) En principe, nom et prenom devraient suffire, mais il existe des doublons dans l'ancienne base...prenomprenom varchar(255) non obligatoire pour les institutions varchar(255) idx_contact_email ( email ) emailemail varchar(255) varchar(255) Unq idx_contact_nom_prenom_nom_original ( nom_original, nom, prenom ) En principe, nom et prenom devraient suffire, mais il existe des doublons dans l'ancienne base...nom_originalnom_original varchar(255) Le nom original d'un leg... en théorie on en aurait pas besoin, mais nécessaire pour l'import des anciennes données varchar(255) biographiebiographie varchar(4000) varchar(4000) titretitre varchar(255) varchar(255) annee_naissanceannee_naissance integer integer annee_decesannee_deces integer integer identifiantidentifiant varchar(255) varchar(255) identifiant_tiersidentifiant_tiers varchar(255) e.g. identifiant CSCF varchar(255) abbreviationabbreviation varchar(255) Pour les institutions (e.g. MHNN) varchar(255) institutioninstitution integer Lien vers l'institution parent du contact integerReferences contact ( institution -> id ) insertedinserted timestamp timestamp inserted_byinserted_by integer integerReferences users ( inserted_by -> id ) last_updatedlast_updated timestamp timestamp last_updated_bylast_updated_by integer integerReferences users ( last_updated_by -> id ) interventionTable public.intervention Une intervention peut être une détermination, une vérification, une récolte, un collectioneur qui a donné sa collection (don). Pk pk_intervention_id ( id ) idid * bigserial bigserialReferred by intervenant ( intervention -> id ) typetype * varchar(255) Type de l'intervention. Cela peut-être une détermination, une vérification, une collecte, un don ou une création (e.g. artefacts). varchar(255) Unq idx_intervention_sample_pos ( echantillon, pos ) echantillonechantillon * bigint Lien vers l'échantillon. bigintReferences echantillon ( echantillon -> id ) anneeannee numeric(4,0) Les champs annee, mois, jour et v déterminent le moment de l'intervention. Chaque champs peut être laissé vide et v indique l'incertitude du champs le plus précis renseigné. numeric(4,0) moismois numeric(2,0) Les champs annee, mois, jour et v déterminent le moment de l'intervention. Chaque champs peut être laissé vide et v indique l'incertitude du champs le plus précis renseigné. numeric(2,0) jourjour numeric(2,0) Les champs annee, mois, jour et v déterminent le moment de l'intervention. Chaque champs peut être laissé vide et v indique l'incertitude du champs le plus précis renseigné. numeric(2,0) vv integer Notamment pour la capture: nombre de jours/mois/années d'incertitude. Ainsi, si uniquement l'annee est remplie, l'incertitude est en années, si le mois est renseigné, l'incertitude est au mois, sinon au jours integer idx_intervention_methode ( methode ) methodemethode integer Méthode utilisée pour l'intervention. Surtout utilisé pour la récolte, mais pourrait également servir pour les autres types d'intervention. integerReferences methode_intervention ( methode -> id ) idx_intervention_taxon ( taxon ) taxontaxon integer lien vers un taxon (détermination, vérification) integerReferences taxon ( taxon -> id ) idx_intervention_taxon_text ( taxon_text ) taxon_texttaxon_text varchar(255) Texte libre permetant une description détaillée. Par exemple, on peut spécifier l'espèce et/ou la variété. Cela permet également d'indiquer l'incertitude de la détermination varchar(255) auteurauteur varchar(255) En principe, l'auteur doit être indiqué au niveau du taxon. Malheureusement, dans l'ancienne base de donnée, il existe des informations contradictoires (auteurs différents pour le même taxon). Afin de ne pas perdre d'information, elles sont indiquées ici. varchar(255) actifactif * bool default true Pour les déterminations en particulier: indique si la détermination est active. Cela permet notamment d'avoir plusieurs déterminations/systématiques liées. En effet, un échantillon peut avoir à la fois une systématique minéralogique et pétrographique par exemple (on pourrait imaginer aussi zoologique pour l'ambre) bool importanceimportance integer Indique l'importance d'un taxon. Notamment pour la géologie, un minéral secondaire indique une inclusion dans le minéral principal. Idem pour un fossile secondaire integer idx_intervention_intervenant_original ( intervenant_original ) intervenant_originalintervenant_original varchar(255) Permet d'indiquer exactement ce qui est écrit sur l'étiquette (e.g. Borel J. peut être Jules ou Jacques...). Il apparait dans intervention au cas où il y aurait plusieurs intervenants... varchar(255) Unq idx_intervention_sample_pos ( echantillon, pos ) pospos * integer Indique l'ordre des interventions pour un échantillon integer


Table assemblage
IdxField NameData TypeDescription
* id serial Permet de grouper plusieurs échantillons (fragments) dans un assemblage
nom varchar( 255 )
Indexes
pk_assemblage_id ON id
idx_assemblage_nom ON nom


Table autre_classification

Permet de connecter un taxon source d'une systématique au taxon d'une autre systématique. Par exemple, cela est utilisé en minéralogie pour connecter les taxons minéralogiques aux classifications Dana et Strunz. Cela peut aussi être utilisé pour les synonymes...

IdxField NameData TypeDescription
* id serial
* source integer
* target integer
Indexes
pk_alternate_classification_id ON id
idx_alternate_classification_source_target ON source, target
Foreign Keys
fk_alternate_classification_source ( source ) ref taxon (id)
fk_alternate_classification_target ( target ) ref taxon (id)


Table biotope

Information sur le milieu biologique. anciennement provenait dela table mustypo

IdxField NameData TypeDescription
* id serial
* reference varchar( 255 )
  milieu varchar( 255 ) nom français
  lebensraum varchar( 255 ) nom allemand
  ambiante varchar( 255 ) nom italien
  habitat varchar( 255 ) nom anglais
  alliance varchar( 255 ) alliance biologique. I.e. exemples communs que l'on trouve dans ce type de biotope
  corine varchar( 255 )
Indexes
pk_biotope_id ON id
un_biotope_reference ON reference


Table categorie
IdxField NameData TypeDescription
* id serial
code varchar( 50 )
  nom varchar( 255 )
  nom_commun varchar( 255 ) nom destiné au grand public
  mask char( 3 ) défini le masque d'insertion qui sera utilisé pour cette catégorie par défaut
* public bool DEFAULT false Indique si une catégorie est proposée au publique pour recherche (faux par défaut)
taxon integer Indique le taxon qui englobe cette catégorie. Par exemple, certaines catégorie sont liées à une classe, mais un taxon d'un autre rang pourrait aussi être utilisé.
  pos integer position qui permet de trier les catégories (masque publique)
Indexes
pk_categorie_id ON id
idx_categorie_code ON code
Foreign Keys
fk_categorie_taxon ( taxon ) ref taxon (id)


Table categorie_parent

Permet d'établir une hiérarchie de catégories. Cela est particulièrement utile pour créer des catégories publiques composées de plusieurs catégories privées.

IdxField NameData TypeDescription
* id serial
* child integer
* parent integer
Indexes
pk_categorie_parent_id ON id
idx_categorie_pair ON child, parent
Foreign Keys
fk_categorie_parent_child ( child ) ref categorie (id)
fk_categorie_parent_parent ( parent ) ref categorie (id)


Table classification

Table contenant les différentes classifications. Une classification peut représenter une systématique, le stockage, les lieux, la stratigraphie, ou toute autre information classée sous forme hiérarchique.

IdxField NameData TypeDescription
* id serial
* type varchar( 255 )
* nom varchar( 255 )
* position smallint
top_rank integer
Indexes
pk_classification_id ON id
Foreign Keys
fk_classification_top_rank ( top_rank ) ref rang (id)
Constraints
  cns_classification_type type IN ('Systematique', 'Stratigraphie', 'Lieu', 'Stockage')


Table collection

Collection (e.g. MHNN). Chaque musée aura une ou plusieurs collections. Ne pas confondre avec la catégorie. La même catégorie peut être utilisée par plusieurs musées. Une collection n'appartient qu'à une entité.

IdxField NameData TypeDescription
* id serial
  nom varchar( 255 )
  code varchar( 255 )
  data json
contact integer
* qualite char( 1 )
* source char( 1 )
Indexes
pk_collection_id ON id
Foreign Keys
fk_collection_contact ( contact ) ref contact (id)
Constraints
  cns_collection_source source IN ('C', 'E')
  cns_collection_qualite qualite IN ('O', 'I', 'V')


Table contact

Information sur une personne ou institution (personne morale)

IdxField NameData TypeDescription
* id serial
* type char( 1 ) DEFAULT 'P' Indique le type de personne (morale vs physique)
  sexe char( 1 )
nom varchar( 255 ) En principe, le nom ne devrait jamais être null. La contrainte NOT NULL n'est pas activée en raison de données anciennes.
prenom varchar( 255 ) non obligatoire pour les institutions
email varchar( 255 )
nom_original varchar( 255 ) Le nom original d'un leg... en théorie on en aurait pas besoin, mais nécessaire pour l'import des anciennes données
  biographie varchar( 4000 )
  titre varchar( 255 )
  annee_naissance integer
  annee_deces integer
  identifiant varchar( 255 )
  identifiant_tiers varchar( 255 ) e.g. identifiant CSCF
  abbreviation varchar( 255 ) Pour les institutions (e.g. MHNN)
institution integer Lien vers l'institution parent du contact
  inserted timestamp
inserted_by integer
  last_updated timestamp
last_updated_by integer
Indexes
pk_personne_id ON id
idx_contact_email ON email
idx_contact_nom_prenom_nom_original ON nom_original, nom, prenom En principe, nom et prenom devraient suffire, mais il existe des doublons dans l'ancienne base...
Foreign Keys
fk_contact_institution ( institution ) ref contact (id)
fk_contact_inserted_by ( inserted_by ) ref users (id)
fk_contact_last_updated_by ( last_updated_by ) ref users (id)
Constraints
  cns_contact_type type IN ('P', 'M')
  cns_contact_gender sexe IN ('H', 'F')


Table contact_media

Les médias des contacts (photos, etc.)

IdxField NameData TypeDescription
* id serial
* contact integer
* media bigint
Indexes
pk_contact_media_id ON id
idx_contact_media ON contact, media
Foreign Keys
fk_contact_media_contact ( contact ) ref contact (id)
fk_contact_media_media ( media ) ref media (id)


Table echantillon

Information about a sample. This is the central table

IdxField NameData TypeDescription
* id bigserial
* obs bool DEFAULT false Indique si il s'agit d'une observation ou d'une collecte
id_original varchar( 255 ) L'identifiant d'origine (N)
* categorie integer
* occurrence integer Numéro de l'échantillon. Note: ceci n'est pas un identifiant car plusieurs échantillons peuvent avoir le même nu (fragments)
fragment varchar( 255 ) Le nom du fragment: A,B,C, etc.
  fragment_role char( 1 ) Le rôle du fragment (primaire, secondaire, fragment)
  fragment_text varchar( 255 ) description du fragment: peau, os, etc.
assemblage integer Permet de grouper des échantillons
collection integer
coll_etr integer Permet de lier l'identifiant tier à une collection tierse et ainsi une institution tierse(e.g. cscf). Stoquer des identifiant sans savoir à qui ils sont util est inutile...
id_etr varchar( 255 )
coll_vieux integer Ancienne collection
id_vieux varchar( 255 ) nvieux
type integer
  nbr integer
  male integer
  fem integer
  imm integer
  biotope_text varchar( 255 ) Informations libres sur le lieu de découverte (anciennement biot)
biotope integer anciennement typo
  description varchar( 2000 ) Anciennement désignation. Utilisé pour les artefacts, par exemple
  remarques varchar( 2000 )
  reference varchar( 2000 )
  pret varchar( 2000 )
  restauration varchar( 2000 )
cons_part integer
cons_med integer
rzoo integer
  dimensions varchar( 255 )
lieu integer
  lieu_text varchar( 255 ) une description plus détaillée sur le lieu/le lieu original
  altitude integer
  valt integer
ncarre integer
coordx integer
coordy integer
  latitude varchar( 16 )
  longitude varchar( 16 )
code_barre varchar( 255 )
  facies varchar( 255 )
stratigraphie integer
  cont_min varchar( 255 )
  cont_fos varchar( 255 )
  cont_org varchar( 255 )
  couleur varchar( 255 ) Géologie et artefact
  texture varchar( 255 )
  taille_grain varchar( 255 ) fin, grossier, sparitic, cristal, sable
unit_tecto integer Une "Unité tectonique" est en général un fragment élémentaire d'une nappe de charriage*, qui est reconnaissable par les caractéristiques de l'ensemble rocheux qui le constitue et qui constitue cartographiquement un tout bien individualisable, mais dont les rapports et la position hiérarchique par rapport aux autres éléments de l'édifice tectonique créé par le charriage restent plus ou moins mal déterminés
stockage integer
entree integer Lien vers le lot de réception
* mask char( 3 )
  data json
inserted timestamp
last_updated timestamp
inserted_by integer
last_updated_by integer
Indexes
pk_echantillon_id ON id
idx_echantillon_cat_nu_fragment ON categorie, occurrence, fragment
idx_echantillon_nu_fragment ON occurrence, fragment
idx_echantillon_assemblage ON assemblage
idx_echantillon_coll_id_vieux ON coll_vieux, id_vieux
idx_echantillon_collection_id_original ON collection, id_original
idx_echantillon_coll_id_etr ON coll_etr, id_etr
idx_echantillon_id_original ON id_original
idx_echantillon_id_etr ON id_etr
idx_echantillon_id_vieux ON id_vieux
idx_echantillon_type ON type
idx_echantillon_biotope ON biotope
idx_echantillon_cons_part ON cons_part
idx_echantillon_cons_med ON cons_med
idx_echantillon_rzoo ON rzoo
idx_echantillon_lieu ON lieu
idx_echantillon_ncarre ON ncarre
idx_echantillon_coords ON coordx, coordy
idx_echantillon_code_barre ON code_barre
idx_echantillon_stratigraphie ON stratigraphie
idx_echantillon_unite_tecto ON unit_tecto
idx_echantillon_stockage ON stockage
idx_echantillon_entree ON entree
idx_echantillon_inserted ON inserted
idx_echantillon_last_updated ON last_updated
idx_echantillon_inserted_by ON inserted_by
idx_echantillon_last_updated_by ON last_updated_by
Foreign Keys
fk_echantillon_type ( type ) ref types (id)
fk_echantillon_biotope ( biotope ) ref biotope (id)
fk_echantillon_rzoo ( rzoo ) ref region_zoogeographique (id)
fk_echantillon_cons_med ( cons_med ) ref milieu_conservation (id)
fk_echantillon_cons_part ( cons_part ) ref partie_conservee (id)
fk_echantillon_stratigraphie ( stratigraphie ) ref stratigraphie (id)
fk_echantillon_unite_tecto ( unit_tecto ) ref unite_tectonique (id)
fk_echantillon_inserted_by ( inserted_by ) ref users (id)
fk_echantillon_last_updated_by ( last_updated_by ) ref users (id)
fk_echantillon_cat ( categorie ) ref categorie (id)
fk_echantillon_stockage ( stockage ) ref stockage (id)
fk_echantillon_assemblage ( assemblage ) ref assemblage (id)
fk_echantillon_lieu ( lieu ) ref lieu (id)
fk_echantillon_entree ( entree ) ref entree (id)
fk_echantillon_collection ( collection ) ref collection (id)
fk_echantillon_coll_etr ( coll_etr ) ref collection (id)
fk_echantillon_collection_coll_vieux ( coll_vieux ) ref collection (id)


Table echantillon_media

Les médias des échantillons (images, etc.)

IdxField NameData TypeDescription
* id serial
* echantillon bigint
* media bigint
Indexes
pk_echantillon_media_id ON id
idx_echantillon_media ON echantillon, media
Foreign Keys
fk_echantillon_media_echantillon ( echantillon ) ref echantillon (id)
fk_echantillon_media_media ( media ) ref media (id)


Table entree

Réception d'objets

IdxField NameData TypeDescription
* id serial
  id_original integer N_ENTREE
  annee_entree numeric( 4, 0 )
  mois_entree numeric( 2, 0 )
  jour_entree numeric( 2, 0 )
  statut varchar( 255 ) valeurs possibles: inscrit, en travail, non conservé, partiellement conservé
  donateur_original varchar( 255 ) Permet d'indiquer exactement ce qui est écrit sur l'étiquette (e.g. Borel J. peut être Jules ou Jacques...). L'idéal est d0utilisaer la relation intervenant_entree
  intervenant_original varchar( 255 ) Permet d'indiquer exactement ce qui est écrit sur l'étiquette (e.g. Borel J. peut être Jules ou Jacques...). L'idéal est d'utiliser la relation intervenant_entree
  description varchar( 4000 )
  conditionnement varchar Anciennement nbr
  pays varchar( 255 )
  province varchar( 255 )
  region varchar( 255 )
  localite varchar( 255 )
  station varchar( 255 )
  altitude integer
  coordx integer
  coordy integer
  latitude varchar( 16 )
  longitude varchar( 16 )
  annee numeric( 4, 0 )
  mois numeric( 2, 0 )
  jour numeric( 2, 0 )
  date_imprecise varchar( 255 )
  biot_entree varchar( 255 )
  acquisition varchar( 255 )
  remarques varchar( 2000 )
cons_part integer
cons_med integer
  inserted timestamp
  last_updated timestamp
inserted_by integer
last_updated_by integer
Indexes
pk_entree_id ON id
Foreign Keys
fk_entree_cons_med ( cons_med ) ref milieu_conservation (id)
fk_entree_cons_part ( cons_part ) ref partie_conservee (id)
fk_entree_inserted_by ( inserted_by ) ref users (id)
fk_entree_last_updated_by ( last_updated_by ) ref users (id)
Constraints
  cns_entree statut IS NULL OR statut IN ('Inscrit', 'En travail', 'Non conservé', 'Partiellement conservé')


Table entree_media

Les médias des entrées (images, etc.)

IdxField NameData TypeDescription
* id serial
* entree integer
* media bigint
Indexes
idx_entree_media ON entree, media
pk_entree_media_id ON id
Foreign Keys
fk_entree_media_media ( media ) ref media (id)
fk_entree_media_entree ( entree ) ref entree (id)


Table intervenant

Une détermination peut être faite par plusieurs intervenants

IdxField NameData TypeDescription
* id bigserial
* contact integer
* intervention bigint
Indexes
pk_intervenant_id ON id
idx_intervenant_sample_intervention ON intervention, contact
Foreign Keys
fk_intervenant_contact ( contact ) ref contact (id)
fk_intervenant_intervention ( intervention ) ref intervention (id)


Table intervenant_entree

Les intervenants d'une entrée. Cela peut être des donateurs, des legs, etc.

IdxField NameData TypeDescription
* id serial
* contact integer
* intervention integer
Indexes
pk_intervenant_entree_id ON id
idx_intervenant_entree ON intervention, contact
Foreign Keys
fk_intervenant_entree_intervention ( intervention ) ref intervention_entree (id)
fk_intervenant_entree_contact ( contact ) ref contact (id)
Constraints
  cns_intervenant_entree_type "type" IN('Creation', 'Determination', 'Verification', 'Don', 'Recolte')


Table intervention

Une intervention peut être une détermination, une vérification, une récolte, un collectioneur qui a donné sa collection (don).

IdxField NameData TypeDescription
* id bigserial
* type varchar( 255 ) Type de l'intervention. Cela peut-être une détermination, une vérification, une collecte, un don ou une création (e.g. artefacts).
* echantillon bigint Lien vers l'échantillon.
  annee numeric( 4, 0 ) Les champs annee, mois, jour et v déterminent le moment de l'intervention. Chaque champs peut être laissé vide et v indique l'incertitude du champs le plus précis renseigné.
  mois numeric( 2, 0 ) Les champs annee, mois, jour et v déterminent le moment de l'intervention. Chaque champs peut être laissé vide et v indique l'incertitude du champs le plus précis renseigné.
  jour numeric( 2, 0 ) Les champs annee, mois, jour et v déterminent le moment de l'intervention. Chaque champs peut être laissé vide et v indique l'incertitude du champs le plus précis renseigné.
  v integer Notamment pour la capture: nombre de jours/mois/années d'incertitude. Ainsi, si uniquement l'annee est remplie, l'incertitude est en années, si le mois est renseigné, l'incertitude est au mois, sinon au jours
methode integer Méthode utilisée pour l'intervention. Surtout utilisé pour la récolte, mais pourrait également servir pour les autres types d'intervention.
taxon integer lien vers un taxon (détermination, vérification)
taxon_text varchar( 255 ) Texte libre permetant une description détaillée. Par exemple, on peut spécifier l'espèce et/ou la variété. Cela permet également d'indiquer l'incertitude de la détermination
  auteur varchar( 255 ) En principe, l'auteur doit être indiqué au niveau du taxon. Malheureusement, dans l'ancienne base de donnée, il existe des informations contradictoires (auteurs différents pour le même taxon). Afin de ne pas perdre d'information, elles sont indiquées ici.
* actif bool DEFAULT true Pour les déterminations en particulier: indique si la détermination est active. Cela permet notamment d'avoir plusieurs déterminations/systématiques liées. En effet, un échantillon peut avoir à la fois une systématique minéralogique et pétrographique par exemple (on pourrait imaginer aussi zoologique pour l'ambre)
  importance integer Indique l'importance d'un taxon. Notamment pour la géologie, un minéral secondaire indique une inclusion dans le minéral principal. Idem pour un fossile secondaire
intervenant_original varchar( 255 ) Permet d'indiquer exactement ce qui est écrit sur l'étiquette (e.g. Borel J. peut être Jules ou Jacques...). Il apparait dans intervention au cas où il y aurait plusieurs intervenants...
* pos integer Indique l'ordre des interventions pour un échantillon
Indexes
pk_intervention_id ON id
idx_intervention_taxon ON taxon
idx_intervention_sample_pos ON echantillon, pos
idx_intervention_methode ON methode
idx_intervention_taxon_text ON taxon_text
idx_intervention_intervenant_original ON intervenant_original
Foreign Keys
fk_intervention_echantillon ( echantillon ) ref echantillon (id)
fk_intervention_taxon ( taxon ) ref taxon (id)
fk_intervention_methode ( methode ) ref methode_intervention (id)
Constraints
  cns_intervention_type "type" IN('Creation', 'Determination', 'Verification', 'Don', 'Recolte')


Table intervention_entree
IdxField NameData TypeDescription
* id serial
* type varchar( 255 )
* entree integer
  intervenant_original varchar( 255 )
Indexes
pk_intervention_entree_id ON id
Foreign Keys
fk_intervention_entree_entree ( entree ) ref entree (id)
Constraints
  cns_intervention_entree_type "type" IN('Creation', 'Don', 'Recolte')


Table lieu

Hiérarchie des lieux (Pays, Province, Region, Localité, Station)

IdxField NameData TypeDescription
* id serial
* nom varchar( 255 )
  code varchar( 255 )
parent integer
  alt integer
  coordx integer de entlieux
  coordy integer de entlieux
  ncarre integer
  ncinq integer
  latitude varchar( 16 )
  longitude varchar( 16 )
rzoo integer région zoogéographique
* rang integer
  data json données additionnelles (entlieux)
  inserted timestamp
  last_updated timestamp
inserted_by integer
last_updated_by integer
* source char( 1 ) DEFAULT 'C' Indique le source du lieu. Accepte deux valeurs: 1) E -> Entomologie spécialisée 2) C -> Collections Cela permet d'avoir deux hiérarchies distinctes pour l'entomologie spécialisée et pour les collections
* qualite integer Indique la qualité de la donnée: - Originale (O): la donnée n'a pas été modifiée - Interprétée (I): la donnée a été créée pour compléter - Vérifiée(V): la donnée a été vérifiée (I->V)
Indexes
pk_lieu_id ON id
idx_lieu_nom_parent_rang_source ON nom, parent, rang, source Note: le rang ne devrais pas être listé, mais des données de entlieux (e.g. Slovakia), se retrouvent dans région et province.
Foreign Keys
fk_lieu_parent ( parent ) ref lieu (id)
fk_lieu_rang ( rang ) ref rang (id)
fk_lieu_rzoo ( rzoo ) ref region_zoogeographique (id)
fk_lieu_inserted_by ( inserted_by ) ref users (id)
fk_lieu_last_updated_by ( last_updated_by ) ref users (id)
Constraints
  cns_lieu_source source IN ('C', 'E')
  cns_lieu_qualite qualite IN ('O', 'I', 'V')


Table media

Stoquage centralisé des médias (images, docs pdf, word, etc.). Les médias peuvent être liés à des contacts, des échantillons, des entrées, etc.

IdxField NameData TypeDescription
* id bigserial
  titre varchar( 255 )
  description varchar( 2000 )
  mime_type varchar( 255 ) Le type de document (e.g. image/png)
  auteur_text varchar( 250 ) L'auteur original du document. Cela peu être le nom du ou des photographes (séparés par des virgules), par exemple. Le mplus efficace est d'utiliser la relation media_auteur afin de lier les auteurs au média.
  data json Store additional data such as - quality: JPEG_HIGH/JPEG_LOW - originalFormat: DIA, etc. - originalUrl
  bytes bigint la taille du document en bytes
  qualite char( 1 ) H (High) ou L (Low)
  format_original varchar( 255 )
  url_original varchar l'URL dans l'ancienne base de donnée
  inserted timestamp
  last_updated timestamp
  inserted_by integer
  last_inserted_by integer
Indexes
pk_media_id ON id


Table media_auteur
IdxField NameData TypeDescription
* id bigserial
* contact integer
* media bigint
Indexes
pk_media_auteur_id ON id
idx_media_auteur_media_contact ON media, contact
Foreign Keys
fk_media_auteur_media ( media ) ref media (id)
fk_media_auteur_contact ( contact ) ref contact (id)


Table methode_intervention

Information sur la méthode utilisée lors de l'intervention. Pour une capture -> méthode de capture Pour une détermination -> méthode de détermination afin de supporter GBIF au mieux

IdxField NameData TypeDescription
* id serial
* type varchar( 255 ) Le type de l'intervention. Cela permettra de filtrer les méthodes par type d'intervention. Important, car ces méthodes ne sont pas liées (méthode de détermination, méthode de capture, méthode de création)
* code varchar( 255 )
* nom varchar( 255 )
code_de varchar( 255 )
nom_de varchar( 255 )
code_en varchar( 255 )
nom_en varchar( 255 )
Indexes
pk_methode_intervention_id ON id
idx_methode_intervention_code ON type, code
idx_methode_intervention_nom ON type, nom
idx_methode_intervention_code_de ON type, code_de
idx_methode_intervention_nom_de ON type, nom_de
idx_methode_intervention_code_en ON type, code_en
idx_methode_intervention_nom_en ON type, nom_en
Constraints
  cns_methode_intervention_type type IN ('Creation', 'Determination', 'Verification', 'Don', 'Recolte')


Table milieu_conservation

Contains information about the environment of preservation (milieu)

IdxField NameData TypeDescription
* id serial
* nom varchar( 255 )
Indexes
pk_milieu_conservation_id ON id
idx_milieu_conservation_nom ON nom


Table partie_conservee

Information about the part being preserved

IdxField NameData TypeDescription
* id serial
* nom varchar( 255 )
Indexes
pk_partie_conservee_id ON id
idx_partie_conservee_nom ON nom


Table rang
IdxField NameData TypeDescription
* id serial
* nom varchar( 255 )
parent integer
* classification integer
* depth integer
  text_color varchar( 255 )
  bg_color varchar( 255 )
Indexes
Pk_Rang_id ON id
Idx_Rang_parent ON parent
Foreign Keys
Fk_Rang_parent ( parent ) ref rang (id)


Table region_zoogeographique

anciennement musrzoo. par exemple, lieux-dits

IdxField NameData TypeDescription
* id serial
* nom varchar( 255 )
id_original integer identifiant original dans la base de donnée. Utile surtout pour l'import de données depuis l'ancienne base de données.
Indexes
pk_region_zoogeographique_id ON id
idx_region_zoogeographique_code ON id_original
idx_region_zoogeographique_nom ON nom


Table stockage

Hiérarchie des emplacements (Dépôts, Compactus, Colonnes, Tiroirs). Le rang définit la précision de l'enregistrement

IdxField NameData TypeDescription
* id serial
* nom varchar( 255 )
code varchar( 255 )
  description varchar( 1000 )
parent integer
* rang integer
path varchar( 255 )
Indexes
pk_stockage_id ON id
idx_stockage_parent_nom ON parent, nom
idx_stockage_parent_code ON parent, code
idx_stockage_nom ON nom
idx_stockage_code ON code
idx_stockage_rang_nom ON rang, nom
idx_stockage_rang_code ON rang, code
idx_stockage_path ON path
Foreign Keys
fk_stockage_parent ( parent ) ref stockage (id)
fk_stockage_rang ( rang ) ref rang (id)


Table stratigraphie

couche chronostratigraphique (énothème, érathème, système, série, étage, sous-étage, etc.)

IdxField NameData TypeDescription
* id serial
* nom varchar( 255 )
* qualite char( 1 )
parent integer
* rang integer
  identifiant integer
Indexes
pk_stratigraphie_id ON id
idx_stratigraphie_nom ON nom
Foreign Keys
fk_stratigraphie_parent ( parent ) ref stratigraphie (id)
fk_stratigraphie_rang ( rang ) ref rang (id)
Constraints
  cns_stratigraphie_qualite qualite IN('O', 'I', 'V')


Table taxon

C'est le nom officiel du taxon. Des noms additionels peuvent être ajoutés dans la table taxon_alias. Par exemple, des traductions ou des noms vernaculaires. N.B.: Le nom officiel doit également être listé dan sla table taxon_trad afin de d'être prit en compte dans les recherches (cela simplifie les requêtes).

IdxField NameData TypeDescription
* id serial
* nom varchar( 255 )
  data json données supplémentaires au format JSON. Non indexées
rang integer
parent integer
* qualite char( 1 ) DEFAULT 'O' Indique la qualité du taxon: original (avec fautes), interprété et validé
  code varchar( 255 ) Code officiel. Attention (entomologie spécilialisée): ceci correspond à ENTCOL4.NUMSP qui est toujours renseignée (et non pas ENTCOL4.CODESP -> codeAlternatif)
  codealternatif varchar( 255 ) Autre code officiel
  auteur varchar( 255 ) Liste des autheurs avec année
  synonyme bool DEFAULT FALSE Indique si un taxon est le synonyme de son parent
  inserted timestamp
  last_updated timestamp
inserted_by integer
last_updated_by integer
* source char( 1 ) DEFAULT 'C' Permet de dinstinguer si le taxon provient de l'entomologie spécialisée ('E') ou non ('C'). Cette information peut être retrouvée également par la classification. Cette colonne pourrait être supprimée dans le future si elle s'avère superflue.
Indexes
Pk_Taxon_id ON id
Idx_Taxon_rang ON rang
Foreign Keys
Fk_Taxon_rang ( rang ) ref rang (id)
Fk_Taxon_parent ( parent ) ref taxon (id)
fk_taxon_inserted_by ( inserted_by ) ref users (id)
fk_taxon_last_updated_by ( last_updated_by ) ref users (id)
Constraints
  cns_taxon qualite IN ('O', 'I', 'V') check that the quality is within allowed values
  cns_taxon_source source IN('C', 'E')


Table taxon_media

Les médias des entrées (images, etc.)

IdxField NameData TypeDescription
* id serial
* taxon integer
* media bigint
Indexes
idx_taxon_media ON taxon, media
pk_taxon_media_id ON id
Foreign Keys
fk_taxon_media_media ( media ) ref media (id)
fk_taxon_media_taxon ( taxon ) ref taxon (id)


Table taxon_trad

Traductions des taxons

IdxField NameData TypeDescription
* id serial
* type char( 1 ) DEFAULT 'S' Indique si il s'agit d'un nom scientifique ou vernaculaire
* original integer Lien vers le taxon original
* lang char( 2 ) DEFAULT 'of' La langue de la traduction sur 2 lettres (e.g. fr, en, de). Utiliser 'of' pour la nomenclature officielle
* nom varchar( 255 ) La traduction du taxon dans la langue donnée
Indexes
pk_taxon_trad_id ON id
idx_taxon_trad_nom ON nom
idx_taxon_trad_original_lang_nom ON original, lang, nom
Foreign Keys
fk_taxon_trad_taxon ( original ) ref taxon (id)
Constraints
  cns_taxon_trad_type type IN('S', 'V')


Table types
IdxField NameData TypeDescription
* id serial
* code varchar( 255 )
* nom varchar( 255 )
  description varchar( 2000 )
Indexes
pk_types_id ON id
idx_types_code ON code
idx_types_nom ON nom


Table unite_tectonique

Une "Unité tectonique" est en général un fragment élémentaire d'une nappe de charriage*, qui est reconnaissable par les caractéristiques de l'ensemble rocheux qui le constitue et qui constitue cartographiquement un tout bien individualisable, mais dont les rapports et la position hiérarchique par rapport aux autres éléments de l'édifice tectonique créé par le charriage restent plus ou moins mal déterminés

IdxField NameData TypeDescription
* id serial
* nom varchar( 255 )
Indexes
pk_unite_tectonique_id ON id
idx_unite_tectonique_nom ON nom


Table users

Users of the system. This is used in the authentication mechanism

IdxField NameData TypeDescription
* id serial
* username varchar( 255 )
  password varchar( 255 )
  state varchar( 255 )
  role varchar( 255 )
contact integer
Indexes
pk_users_id ON id
idx_users_username ON username
idx_users_contact ON contact
Foreign Keys
fk_users_contact ( contact ) ref contact (id)


View stockage_hierarchie

This views helps in restoring the complete storage hierarchy

Query
 WITH RECURSIVE storage_ancestors AS (
         SELECT stockage.id,
            stockage.id AS root,
            stockage.parent
           FROM stockage
        UNION ALL
         SELECT s.id,
            a.root,
            s.parent
           FROM (stockage s
             JOIN storage_ancestors a ON ((a.parent = s.id)))
        )
 SELECT storage_ancestors.id AS original,
    storage_ancestors.root
   FROM storage_ancestors;
IdxField NameData TypeDescription


View taxon_hierarchie

This views helps in restoring the complete taxon hierarchy

Query
 WITH RECURSIVE taxon_ancestors AS (
         SELECT taxon.id,
            taxon.id AS root,
            taxon.parent
           FROM taxon
        UNION ALL
         SELECT t.id,
            a.root,
            t.parent
           FROM (taxon t
             JOIN taxon_ancestors a ON ((a.parent = t.id)))
        )
 SELECT taxon_ancestors.id AS original,
    taxon_ancestors.root
   FROM taxon_ancestors
IdxField NameData TypeDescription
  id integer
  root integer
  nom varchar