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 :

Travail sur plusieurs tables


Sujet :

PostgreSQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 28
    Points : 27
    Points
    27
    Par défaut Travail sur plusieurs tables
    Bonsoir,

    J'ai une base avec une table toto dans lequel contient un champ avec plusieurs valeurs.

    Je souhaiterai créer une table à chaque fois que j'ai une valeur différente, afin de pouvoir eclater ma table toto en plus petite table pour ensuite les travailler.

    Quelqu'un peut il m'aider ?

    Merci d'avance.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Euh... ce n'est pas vraiment une façon rationnelle d'utiliser un SGBD !

    Si ta table vient à recevoir 10 000 lignes, tu vas la transformer en 10 000 tables ?

    En plus, ceci :
    un champ avec plusieurs valeurs.
    doit-il être interprété comme :
    1) Une colonne ayant une valeur par ligne ?
    2) Une colonne avec plusieurs valeurs par ligne ?

    Si c'est 2), il y a un problème de modélisation des données.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Je souhaiterai créer une table à chaque fois que j'ai une valeur différente, afin de pouvoir eclater ma table toto en plus petite table pour ensuite les travailler.
    Rien n'empêche de faire des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TABLE autre_table AS SELECT * FROM table WHERE champ=valeur
    suivi de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE FROM table WHERE champ=valeur
    pour arriver à ce résultat mais c'est contraire à la logique d'un SGBD et contre-productif car travailler avec une table est plus simple que de travailler avec plusieurs.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 28
    Points : 27
    Points
    27
    Par défaut Travaille sur plusieurs tables
    Cinephil

    C'est une colonne ayant une valeur par ligne.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 28
    Points : 27
    Points
    27
    Par défaut travail sur plusierus tables
    estofilo

    J'ai pri ta remarque en compte.
    Je vais voir pour faire autrement.

    Par compte, on m'a parlé de procédure.

    Quelqu'un peux m'expliquer comment cela marche sur postgresql.


    Merci d'avance.

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    On peut savoir ce que tu cherches à faire concrêtement (sans parler de toto mais de la table et des colonnes réelles) ?
    Tes messages donnent vraiment l'impression que tu te lance dans une mauvaise démarche pour faire ta base de données.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 28
    Points : 27
    Points
    27
    Par défaut Détail
    J'ai un fichier excel que je transforme en csv.

    J'ai crée une table ref dans postgresql pour mettre toutes mes données.
    50 colonnes en alphanumerique.

    De cette table, je souhaite faire un tri sur une colonne en fonction de la valeur.

    Les lignes qui ont la meme valeur je les injecte ds une table portant le nom de la valeur, les autres je les laisse dans ma table ref.

    Dans les autres tables j'insère une nouvelle ligne avec des valeurs.

    Est ce plus claire.

    C'est pour un superviseur

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Je comprends mieux ce que tu cherches à faire.

    Je donne un exemple...
    Tu as un tableau donnant une liste de chantiers :
    Client / Chantier ...
    Dupont / Rénovation usine
    Durand / Bâtiment bureaux
    Duchnock / Réseau informatique
    Durand / Alarme incendie
    Dupont / Poste de transformation
    ...

    Dans ce tableau, il y a des clients et des chantiers. Les clients sont répétés plusieurs fois. Pour passer ces données sur une BDD, il ne faut pas créer une table par client mais une table des clients et une table des chantiers avec une relation entre les deux.

    La règle de gestion de ces données est la suivante :
    Un chantier est réalisé pour un seul client et un client peut demander la réalisation de plusieurs chantiers.

    Cette règle de gestion se traduit en Modèle Conceptuel de Données (MCD) de la méthode Merise de la façon suivante :
    Chantier -1,1----Réaliser----0,n- Client

    Et ce MCD donnera les tables suivantes :
    Client (CLI_Id, Cli_Nom...)
    Chantier (CHA_Id, CHA_IdClient, CHA_Nom...)

    L'identifiant de la table des clients est pris en référence par la clé étrangère CHA_IdClient dans la table des chantiers.

    Cherche les entités indépendantes dans ton tableau, cherche quelles relations existent entre les entités, dessine le MCD de la BDD avant de vouloir faire des tables.

    Ou alors j'ai rien compris à ce que tu veux faire mais comme tu ne nous dis rien de précis c'est pas facile à interpréter.

    C'est pour un superviseur
    Un homme dont le métier est de superviser des tâches ?
    Un automate programmable donnant des infos sur une chaîne de production ?
    Une centrale de mesure et d'alarme ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 28
    Points : 27
    Points
    27
    Par défaut SUITE
    Oui c'est cela.

    Je n'ai jamais créer de base de donnée de A à Z.
    Donc j'apprends.
    C'est pour un logiciel qui se nomme foxboro.
    Je m'occupe de gerer cela sous excel, mais vu la lourdeur j'ai decidé de me lancer sur une bd.

    Je ne connais pas merise.
    Je regarde cela des a présent.

    Encore merci.

    Je te tiens au courant.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/11/2010, 11h07
  2. Encore une requête complexe sur plusieurs tables
    Par DenPro dans le forum Langage SQL
    Réponses: 5
    Dernier message: 09/12/2003, 20h05
  3. order by sur plusieurs tables
    Par Mad_Max dans le forum Requêtes
    Réponses: 2
    Dernier message: 09/12/2003, 13h17
  4. Requête complexe sur plusieurs table
    Par DenPro dans le forum Langage SQL
    Réponses: 13
    Dernier message: 25/11/2003, 18h50
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 17h26

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