Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

State Of The Map 2024

#1 Mon 10 August 2015 14:20

Bajbouja!2
Participant occasionnel
Date d'inscription: 22 Jul 2015
Messages: 16

QGIS : Plugin DATA-Driven InputMask

Bonjour,

J'ai testé le plugin data-driven input Mask pour des relation 1-n et ça fonctionne très bien.

Le problème c'est que sous postgis quand je veux définir une nouvelle clé étrangère dans la même table pour faire une relation avec une autre table, postgis me dis qu'il n'existe auccune contrainte unique correspondant aux clés données pour la table...

Pourtant j'ai bien vérifié que la clé primaire est bien définie dans cette dernière table...

C'est peut être pas possible de mettre deux clés étrangères dans la même table ?

Merci d'avance pour votre aide.

Cordiales salutations.

Hors ligne

 

#2 Mon 10 August 2015 15:03

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 567
Site web

Re: QGIS : Plugin DATA-Driven InputMask

Bonjour,

Il est bien sûr possible de mettre plusieurs clés étrangères dans la même table.

La ou les colonnes définissant la clé étrangère doi(ven)t respecter une contrainte d'unicité dans la table référencée.

Dernière modification par jmarsac (Mon 10 August 2015 15:36)


Jean-Marie
Azimut

Hors ligne

 

#3 Mon 10 August 2015 15:13

Bajbouja!2
Participant occasionnel
Date d'inscription: 22 Jul 2015
Messages: 16

Re: QGIS : Plugin DATA-Driven InputMask

Bonjour,

Merci pour votre réponse.

Contrainte d'unicité cela veut dire une clé primaire unique ?

Hors ligne

 

#4 Mon 10 August 2015 15:57

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 567
Site web

Re: QGIS : Plugin DATA-Driven InputMask

C'est la combinaison de colonnes constituant la clé étrangère qui doit être unique; il doit donc y avoir une contrainte d'unicité sur ces colonnes dans la table référencée.

Exemple:
Une table rues et une table adresses qui référence les rues

pour la table rues

Code:

CREATE TABLE rues(
  departement character(2),
  insee_commune integer,
  nom character varying(64),
 CONSTRAINT cle_rue UNIQUE(departement,insee_commune,nom)
);

ou

Code:

CREATE TABLE rues(
  departement character(2),
  insee_commune integer,
  nom character varying(64),
 CONSTRAINT cle_rue PRIMARY KEY (departement,insee_commune,nom)
);

et pour la table adresses

Code:

CREATE TABLE adresses(
  numero integer,
  repetition character(3),
  d character(2),
  i integer,
  n character(64),
  FOREIGN KEY (d, i, n) REFERENCES rues(departement, insee_commune,nom)
);

Jean-Marie
Azimut

Hors ligne

 

#5 Mon 10 August 2015 16:12

Bajbouja!2
Participant occasionnel
Date d'inscription: 22 Jul 2015
Messages: 16

Re: QGIS : Plugin DATA-Driven InputMask

Bonjour,

C'est très clair Merci beaucoup,

J'ai redéfini mes clés comme dans l'exemple que vous avez mentionné et maintenant ça marche sans soucis.

Merci infiniment

Salutations.

Hors ligne

 

Pied de page des forums

Powered by FluxBB