2.1 Organisation de la base de données - liste des schémas
Il ne faut pas créer de vues ni de vues matérialisées (au sens SQL) stockées dans votre base postgres à partir des tables des schémas suivants car ces éléments pourraient être supprimés automatiquement (Par un DROP CASCADE)
Lors de l'installation de sysma les schemas suivants sont créés :
-
sysma
: Il s'agit du schéma principal de Sysma, il contient les tables systèmes et le stockage des valeurs saisies par les utilisateurs. -
sysma_export_layer
: Ce schéma contient un "export" des données sysma dans un format compatible avec les logiciels SIG (format classique un objet par ligne, paramètres en colonnes). Les tables contenus dans ce schéma sont générées automatiquement par Sysma depuis le menu Bilan & SIG / Couches SIG et Export PG. Cela créé une une copie formatée de vos données sysma à la date de l'action d'export dans sysma. Leur contenu ne doit pas être modifié, toute modification manuelle sera écrasée lors de la prochaine génération des couches par Sysma. -
sysma_atlas
: Utilisé par sysma pour stocker des données d'atlas (utilisé pour générer les plans pour une DIG par exmple). Nécessite la configuration deprocesses
spécifiques. -
xx_99_utils
: Contient des fonctions pg génériques pouvant être utilisées par sysma.
2.2 Détail du schéma sysma
2.2.1 Liste des tables
Cliquer pour afficher la liste des tables
Type de table | Nom de la table | Commentaire |
---|---|---|
Configuration de sysma | sysma_conf | Liste des paramètres de l'application |
Configuration de sysma | other_layer | Liste des couches au format SIG standard utilisées par exemple en affichage dans la zone couches utiles... |
Configuration de sysma | organisation | Liste des structures intervenant dans la gestion des milieux aquatiques et pouvant être maître d'ouvrage |
Configuration de sysma | contract | Liste des contrats |
Configuration de sysma | status | Liste des statuts possibles des objets et des travaux |
Configuration de sysma | filter | Liste de filtres possibles à appliquer sur les type d'objet ou types de travaux |
Configuration de sysma | layer_group | Liste des groupes de couches sysma |
Gestion des utilisateurs | user | Liste des utilisateurs et contributeurs à la bdd |
Gestion des utilisateurs | user_privilege | Gestion des droits des utilisateurs sur les objets sysma |
Gestion du dictionnaire de données | data_type_choice | Liste des choix de types de données disponibles |
Gestion du dictionnaire de données | l_sysma_object_type_sysma_relation_type | Liste des liens possibles entre relations et objets |
Gestion du dictionnaire de données | sysma_action_type | Liste des types de travaux pouvant être menés |
Gestion du dictionnaire de données | sysma_action_type_parameter | liste des paramètres à suivre pour chaque type de travaux |
Gestion du dictionnaire de données | sysma_action_type_parameter_choice | Liste des choix de valeur possibles pour un paramètre travaux |
Gestion du dictionnaire de données | sysma_object_type | Types d'objets CRE renseignables dans la BDD, équivaut en terme de SIG aux couches |
Gestion du dictionnaire de données | sysma_object_type_parameter | Liste des paramètres pour chaque type d'objet |
Gestion du dictionnaire de données | sysma_object_type_parameter_choice | Liste de choix pour un parametre d'un type d'objet |
Gestion du dictionnaire de données | sysma_relation_type | Liste des types de relations |
Gestion du dictionnaire de données | sysma_relation_type_parameter | Liste des parametres des relations |
Gestion du dictionnaire de données | sysma_relation_type_parameter_choice | Liste des choix des parametres des relations |
Données saisies | l_sysma_object_sysma_action | Liaison en les objets cre et les travaux qui s'y appliquent |
Données saisies | l_sysma_object_sysma_relation | Les liaisons en les objets et les relations créées |
Données saisies | photo_object | Liste des fichiers photo liés |
Données saisies | sysma_action | Les travaux menés sur les objets physiques |
Données saisies | sysma_action_data | Contient les données sur les travaux menés |
Données saisies | sysma_object | Les objets géographiques positionnables sur une carte (physiques) |
Données saisies | sysma_object_data | Contient les données pour chaque paramètre descriptif des objets |
Données saisies | sysma_relation | Les relations créées |
Données saisies | sysma_relation_data | Les données des relations créées |
Données saisies | theme_analysis | Analyses thématiques |
Données saisies UI | l_filter_user | Choix de l'utilisateur pour l'usage de filtres |
Données saisies UI | l_group_user | Choix de l'utilisateur pour l'affichage des groupes de couches sysma |
Données saisies UI | l_other_layer_user | Table de lien des autres couches à afficher dans le layermanager pour chaque utilisateur |
Données saisies UI | l_ref_layer_user | Table des couches référentiels choisies par l'utilisateur pour être affichable sur sa carte |
Données saisies UI | l_style_user | Liste de styles à appliquer pour l'utilisateur |
Données saisies UI | l_sysma_action_type_user | Table de lien des types de travaux à afficher dans le layermanager pour chaque utilisateur |
Données saisies UI | l_sysma_object_type_user | Table de lien des types d'objet à afficher dans le layermanager pour chaque utilisateur |
Données saisies UI | l_theme_analysis_user | Table de lien entre les analyses thématiques pour chaque utilisateur |
Données saisies UI | user_views | Vues (sélection de couches visibles) enregistrées par l'utilisateur |
Surveillance | connection | Suivi des connexions des utilisateurs |
Surveillance | import_report | Rapport d'import de données par lot |
Surveillance | x99_t_track_historytables | Suivi des modifications réalisées dans sysma |
ADMINITRATION EPTBSN | versions_schema | Stocke la version du schema de sysma installée sur cette instance |
ADMINITRATION EPTBSN | versions_schema_ddl | Track ddl actions usefull for schema versioning (Data definition language) |
Mémo, SQL d'affichage de la liste des tables :
-- afficher la liste des tables et les éléments de compréhension :
WITH table_list AS (
SELECT table_schema, table_name FROM information_schema.tables WHERE table_schema='sysma'
)
, comment_table_liste as (
SELECT table_schema, table_name ,
xx_99_utils.f_rtn_table_comment(
table_schema::NAME,
table_name::NAME) as t_comment
FROM table_list order by table_name
)
, comment_table_liste_json_format AS (
SELECT *
, CASE
WHEN t_comment ilike '{%' THEN t_comment::json
ELSE '{
"display_groupe_order":0,
"groupe_name":"groupe_name A DEFINIR",
"table_comment":"table_comment A DEFINIR"
}'::json
END::json as comment_json
from comment_table_liste
)
,aff as (
select -- 'aff' as aff_type
(comment_json::json->>'groupe_name')::text AS groupe_name
--, table_schema
, table_name
, (comment_json::json->>'table_comment')::text AS comment_table
, (comment_json::json->>'display_groupe_order')::numeric as display_groupe_order
from comment_table_liste_json_format
order by (comment_json::json->>'display_groupe_order')::numeric asc
, table_name asc
)
, markdown as (
select 'markdown format'::text as groupe_name
, null::name table_name
, '| Type de table | Nom de la table | Commentaire |
| ------ | ------ | ------ | ' || string_agg ( '
| ' || groupe_name || ' | ' || table_name || ' | ' || comment_table, '') as comment_table
, 9999999::numeric as display_groupe_order
FROM aff --order by aff.display_groupe_order
)
SELECT * FROM aff
UNION ALL
SELECT * FROM markdown
ORDER BY display_groupe_order, table_name