IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Créer un dictionnaire des données avec les commentaires pour chaque champ.


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 41
    Points : 45
    Points
    45
    Par défaut Créer un dictionnaire des données avec les commentaires pour chaque champ.
    Bonjour,

    J'ai l'habitude de créer un dictionnaire à partir du schéma d'information, style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from information_schema.columns where table_schema='mabase' order by table_name,ordinal_position;
    Mon souci c'est qu'il me manque les commentaires descriptifs pour chaque champ (cf. PJ)

    Nom : Commentaire_du_champ.png
Affichages : 61
Taille : 16,9 Ko

    Quelqu'un peut-il me venir en aide SVP ?
    Par avance merci.

    Bien cordialement,
    akr54

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 927
    Points : 51 735
    Points
    51 735
    Billets dans le blog
    6
    Par défaut
    Faire cela en PG/PL SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COMMENT ON  COLUMN table_schema.table_name.column_name IS 'mon commentaire';
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 41
    Points : 45
    Points
    45
    Par défaut
    Bonjour SQLpro et merci pour ce retour,

    Alors, j'ai dû mal m'exprimer.
    Je ne désire pas commenter chaque champ, déjà commenté, je voudrais récupérer tous les commentaires pour chaque champ dans mon dictionnaire, qui manquent actuellement dans la vue que j'invoque.

    Nom : dict.png
Affichages : 32
Taille : 14,5 Ko

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 406
    Points : 40 000
    Points
    40 000
    Billets dans le blog
    9
    Par défaut
    Bonjour,


    La documentation sur ce sujet est ICI

    Par contre, habituellement, le dictionnaire de données doit être établi préalablement (ou pendant) la modélisation, puisqu'on en a besoin pour établir le MCD.
    Sauf s'il s'agit d'une rétro-documentation

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 41
    Points : 45
    Points
    45
    Par défaut
    Bonsoir Escartefigue,

    Rétro documentation oui c'est ça, la conception de la base a 15 ans et je n'ai rien. Donc je reconstruis, mais ce n'est pas un problème.
    Sauf qu'on me demande de décrire chaque champ, donc je cherche à récupérer les commentaires (entourés en rouge précédemment) des quelque 1606 champs des 172 tables de ma base que je ne tiens pas à faire à la main.
    Si quelqu'un a une idée : je suis preneur.
    Par avance merci à la communauté.
    Cdt,
    akr54

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 406
    Points : 40 000
    Points
    40 000
    Billets dans le blog
    9
    Par défaut
    J'ai donné le lien dans ma réponse précédente : la table pg_description contient les commentaires de niveau table, colonne ou autre, il suffit de faire une jointure grâce à l'identifiant de l'objet (OID) auquel on s'intéresse.

    Attention : parler de "champ" est un abus de langage. Dans une base de données relationnelle, il n'y a pas de champs, mais des colonnes

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 41
    Points : 45
    Points
    45
    Par défaut
    OK merci.

    Effectivement, la requête suivante m'a permis de récupérer l'ensemble des commentaires à la fois pour les tables et pour les « colonnes ».

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select dg.objoid,relname,dg.objsubid,dg.description from pg_description dg,pg_class dc where dg.classoid=1259 and dg.objoid=dc.oid;
    Nom : comment.png
Affichages : 14
Taille : 15,9 Ko



    Cdt,
    akr54

  8. #8
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 871
    Points : 1 673
    Points
    1 673
    Par défaut
    Citation Envoyé par akr54 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select dg.objoid,relname,dg.objsubid,dg.description from pg_description dg,pg_class dc where dg.classoid=1259 and dg.objoid=dc.oid;
    Je sais que c'est indiscret, mais quel âge as tu ?

    Faire un jointure dans la clause where est devenu obsolète en 1992, à l'occasion de la mise à jour de la norme introduisant le mot clé JOIN et ses différents attributs.
    Le savoir est une nourriture qui exige des efforts.

  9. #9
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 406
    Points : 40 000
    Points
    40 000
    Billets dans le blog
    9
    Par défaut
    Cette syntaxe n'est pas véritablement obsolète puisqu'elle est conservée pour des raisons de compatibilité, mais elle présente plusieurs inconvénients :
    • on ne distingue pas clairement ce qui est du ressort de la restriction de ce qui est du ressort de la jointure ;
    • elle est inaplicable pour les jointures externes ;
    • dans certains cas, l'optimiseur va faire le produit cartésien puis appliquer la restriction, et là, en matière de performances, c'est le drame !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2012] Créer une table avec des commentaires pour chaque champ
    Par clluciole dans le forum Développement
    Réponses: 1
    Dernier message: 30/09/2015, 16h58
  2. l'extraction des donnés sur les site internet avec python
    Par zakaria spearfishing dans le forum Général Python
    Réponses: 0
    Dernier message: 17/04/2013, 01h14
  3. [MySQL] Recuperer les resultas d'une requête MySQL et acceder a les valeur pour chaque champ
    Par bourbita.thameur dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/03/2009, 17h48
  4. Linux à des problèmes avec les brevets
    Par bilb0t dans le forum Linux
    Réponses: 15
    Dernier message: 21/11/2006, 14h54
  5. Sauter des lignes dans les commentaires pour Javadoc ?
    Par Pépé Lélé dans le forum Langage
    Réponses: 2
    Dernier message: 08/12/2005, 18h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo