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 21/03/2018 18:16:06

QBE pour PostgreSQL

Bonjour,

La Query By Example a disparu, me semble-t-il, de pgadmin4.

Pourriez-vous me conseiller un logiciel, même propriaitaire qui pourrait servir d'interface utilisateur ?

Il ne faut pas un outil d'administration. Un logiciel cool et sympa pour voir les données et faire des requêtes suffira !

Merci pour votre attention

Hors ligne

#2 22/03/2018 15:13:54

EvaNounou
Membre

Re : QBE pour PostgreSQL

Bonjour,

Je ne suis pas sûre que je cherche la même chose que Michel Depiesse mais il me semble à première vue.
Je cherche le Constructeur graphique de requêtes dans Pg Admin 4 ?
Cette outil me semble bien pratique pour faire les jointures entre tables. Donc si quelqu'un sait où est cet outil ça m'intéresse également.
Ou sinon comment faire des jointures entre tables en passant par des requêtes SQL ?

Merci,
Eva

Hors ligne

#3 22/03/2018 17:21:57

Re : QBE pour PostgreSQL

Comment faire des jointures entre tables en passant par des requêtes SQL ?

C'est tout un art !

Il faut bien comprendre les dépendances foncionnelles, la 3ième forme normale, savoir que les PKs et les FKs doivent être des integer SERIAL...

Un petit cours de logique mathématique sur le calcul des prédicats fait beaucoup de bien !

Et ensuite travailler dur !

Bien à vous, Madame EvaNouNou

Hors ligne

#4 29/03/2018 15:57:41

EvaNounou
Membre

Re : QBE pour PostgreSQL

Bonjour,

Tout d'abord merci pour votre réponse.
J'ai une table SUPPORT et une autre table FONDATION. Un lien lie les deux tables avec une cardinalité totale de la relation (1,plusieurs).
La clé primaire de ma table père (SUPPORT) est Num_support_Code_LIT.  J'ai aussi mis un champ id_support qui est auto-incrémenté donc de type BIGSERIAL. Pour la table fils FONDATION, j'ai mis aussi une clé primaire qui id_fondation en type BIGSERIAL. J'ai ajouté la PK de la table père dans la table fils, à savoir Num_support_Code_LIT (FK).
Donc ma question est la suivante :
pour les PK, je croyais qu'il fallait choisir quelque chose qui définissait de manière unique l'entitité ? Dans mon cas, Num_support_Code_LIT est bien un identifiant unique. Pourquoi devoir obligatoirement prendre un champ qui s'auto-incrémente ?
Merci,
Eva

Hors ligne

#5 03/04/2018 10:02:52

Re : QBE pour PostgreSQL

Quand vous faites un insert, il est est inutile de spécifier la PK car sa valeur lui sera donnée automatiquement par le serial.

Vous faites

 
INSERT INTO "SUPPORT" (x, y, z) VALUES ('a', 'b', 'c')   RETURNING "Num_support_Code_LIT" ;

INSERT INTO" FONDATION" (k, l) VALUES ('m', 'n', "Num_support_Code_LIT");

La PK de SUPPORT est un serial mais la FK dans FONDATIONS est un integer qui ne s'incrémente pas automatiquement !

N'oubliez pas les " si vous mettez des majuscules dans les identifiants.

Hors ligne

#6 03/04/2018 10:41:18

Re : QBE pour PostgreSQL

ERRATUM

INSERT INTO "FONDATION" (k, l, "Num_support_Code_LIT") VALUES ('m', 'n', "Num_support_Code_LIT");

Le premier Num_support_Code_LIT est le nom de la colonne FK de FONDATION.

Et le second est la valeur de la PK de SUPPORT.

Hors ligne

Pied de page des forums