PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 14/02/2022 18:41:59

laeti_ccvb
Membre

contraintes de saisie

Bonjour,
J'ai une table "site" avec différentes colonnes dont la colonne "code_ent" (qui précise le code entretien du site). Je souhaite que cette table puisse contenir l'ensemble des sites de plusieurs communes. Cependant chaque commune comporte des codes entretien différent (entre 4 et 5 par commune).
Actuellement la colonne "code_ent" est saisie par l'intermédiaire d'une autre table (gid_code_ent) avec une contrainte de clé étrangère. Cette table "gid_code_ent" contient l'ensemble des codes entretiens de toutes les communes.

Je souhaite ajouter une autre contrainte à la saisie du champ "code_ent" en limitant les codes entretien correspondant à la commune. C'est à dire qu'au moment de la saisie de donnée, un 1er champ permet de saisir la commune et un 2ème champ qui propose les différents codes existants uniquement sur la commune saisie dans le 1er champ.

Cette table "site" est également une table postgis.

Je suis débutante dans l'utilisation de postgres/postgis et je ne sais pas si mon idée est réalisable et comment la faire.
Est-ce que quelqu'un peut me donner un coup de main ou m'orienter vers des solutions?

Merci d'avance

Hors ligne

#2 15/02/2022 05:49:58

rjuju
Administrateur

Re : contraintes de saisie

Bonjour,


Je ne comprends pas vraiment la question.  Parlez-vous d'ajouter des contraintes SQL pour valider l'intégrité des données?  Pouvez-vous sinon montrer la définition des tables (type \d nom_table sous psql), ainsi que 2/3 lignes de chaque tables en exemple, car c'est un peu flou en l'état.

Hors ligne

#3 15/02/2022 10:59:45

laeti_ccvb
Membre

Re : contraintes de saisie

Bonjour,
Je vais essayer d'éclaircir ma demande.
Pour saisir mes données je passe par QGIS ou d'autres outils SIG reliés à ma base de données postgres.
Lorsque je créé un site, dans la table "site" par l'intermédiaire de QGIS, il y a une fiche à remplir contenant un certain nombre d'information. Parmi ces informations il y a le champ code entretien ("code_ent"), pour remplir cette information c'est une liste déroulante qui apparait. Cette liste déroulante reprend les informations contenues dans la table "gid_code_ent". La liaison entre ces 2 tables se fait par une clé étrangère.
Je souhaite dans cette table "site" intégrer les sites de plusieurs communes et donc la table "gid_code_ent" doit également contenir l'ensemble des codes entretiens existants sur les différentes communes. Pour éviter des erreurs de saisie je souhaite lors de la création d'un site pouvoir limiter la liste déroulante (champ "code_ent") aux codes entretiens de la commune.
Pour vous montrer des exemples de ligne je pensais mettre une capture d'écran mais je n'arrive pas à les ajouter à mon message.
Merci de l'attention pour mon message

Hors ligne

#4 16/02/2022 12:45:18

vincentp
Membre

Re : contraintes de saisie

Bonjour,

Pour QGIS la marche à suivre est la suivant :
- dans les propriétés du projet, définir une relation entre vos deux couches, la couche site et la couche gid_code_ent
- dans les propriétés de la couche site, dans l'onglet "formulaire d'attributs", choisir le type d'outil "Référence de la relation" et le paramétrer pour qu'il convienne à vos contraintes

Bonne journée
Vincent

Hors ligne

#5 21/02/2022 10:57:20

laeti_ccvb
Membre

Re : contraintes de saisie

Bonjour,
Merci vincentp, votre solution répond à ma demande.
Bonne journée
Laëtitia

Hors ligne

Pied de page des forums