|
|
|
[[_TOC_]]
|
|
|
|
# 3.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 :
|
|
|
|
|
|
|
|
## 3.1.1 **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. Toute modification dans ce schéma doit être réalisée avec précaution, uniquement sur les tables listées dans la présente documentation.
|
|
|
|
|
|
|
|
## 3.1.2 **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és automatiquement par Sysma depuis le menu Bilan & SIG / Couches SIG. Leur contenu ne doit pas être modifié, toute modification manuelle sera écrasée lors de la prochaine génération des couches par Sysma.
|
|
|
|
<big> 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 de ce schéma car ces éléments pourraient être supprimés automatiquement (Par un DROP CASCADE).
|
|
|
|
</big>
|
|
|
|
|
|
|
|
## 3.1.3 **sysma_atlas**
|
|
|
|
Utilisé par sysma pour stocker des données d'atlas (utilisé pour générer les plans pour une DIG par exmple)
|
|
|
|
|
|
|
|
## 3.1.4 **xx_99_utils**
|
|
|
|
Contient des fonctions pg génériques pouvant être utilisées par sysma.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 3.2 Détail du schéma sysma
|
|
|
|
|
|
|
|
## 3.2.1 Liste des tables
|
|
|
|
<details><summary>Cliquer pour afficher la liste des tables</summary>
|
|
|
|
|
|
|
|
| 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)
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
<details><summary>Mémo, SQL d'affichage de la liste des tables :</summary>
|
|
|
|
|
|
|
|
```sql
|
|
|
|
-- 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
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
</details>
|
|
|
|
|
|
|
|
## 3.2.2 Le modèle de données
|
|
|
|
<details><summary>Cliquer pour Afficher le modèle simplifié</summary>
|
|
|
|
|
|
|
|

|
|
|
|
</details>
|
|
|
|
|
|
|
|
<details><summary>Cliquer pour afficher le modèle complet</summary>
|
|
|
|

|
|
|
|
</details>
|
|
|
|
|
|
|
|
|