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

 MySQL Discussion :

Relation entre table et requête


Sujet :

MySQL

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 89
    Points : 52
    Points
    52
    Par défaut Relation entre table et requête
    Bonjour à tous,

    j'ai créé trois tables:

    id_pays
    population
    id_region

    id_region
    population
    id_ville

    id_ville
    population

    alors ma question: comment interconnecter les tables entre eux ?

    merci

  2. #2
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour

    Vous êtes dans un cas où il faut utiliser les jointures (cf. LE SQL de A à Z : 3e partie - les jointures à lire absolument !!!!).




    Par exemple, pour afficher les régions et les pays :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select table_pays.id_pays, table_region.id_region
    from table_pays.id_pays
    inner join table_pays.id_region = table_region.id_region
    (En espérant ne pas m'être trompé)

    Pierre

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 89
    Points : 52
    Points
    52
    Par défaut
    Pierre mes id n'ont pas la meme valeur donc l'expression " join table_pays.id_region = table_region.id_region" ne marchera pas dans mon cas

  4. #4
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour

    Pierre mes id n'ont pas la meme valeur donc l'expression " join table_pays.id_region = table_region.id_region" ne marchera pas dans mon cas
    Mais aussi
    id_pays
    population
    id_region

    id_region
    population
    id_ville
    Je ne comprends pas.

    A quoi correspond "id_region" de la table Pays?


    Dit autrement, comment voulez vous "interconnecter" les tables entres elles, si aucune ne fait de référence à l'autre, si aucune n'a de clé étrangère?

    Avec vous jeter un oeil sur le tutoriel indiqué?

    Pierre

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 89
    Points : 52
    Points
    52
    Par défaut
    Id_region dans la table pays fais référence à la table région en récupérant son id

    Ainsi chaque pays sera identifier par un id_pays et possèdera un id_region, lid région va alors pointe vers un unique tableau région qui contient diverses informations

  6. #6
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour

    Désolé, je ne comprends toujours pas votre réponse
    mes id n'ont pas la meme valeur donc l'expression " join table_pays.id_region = table_region.id_region" ne marchera pas dans mon cas
    .


    A priori, au vu de votre réponse précédente
    Id_region dans la table pays fais référence à la table région en récupérant son id

    Ainsi chaque pays sera identifier par un id_pays et possèdera un id_region, lid région va alors pointe vers un unique tableau région qui contient diverses informations
    vos tables ont l'air d'être prévues pour une mise en relation.

    L'idée est donc de prendre un pays, d'aller chercher dans la table région les informations des régions de ce pays, en liant les deux tables par l'id région (qu'on trouve et dans la table Pays, et dans la table région).

    Pourriez vous nus mettre un exemple concret de vos tables pays et région?

    Merci

    Pierre

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 89
    Points : 52
    Points
    52
    Par défaut
    voici un exemple concret:

    J'ai 3 tables :

    groupe
    id_groupe
    nom
    id_ville

    personne
    id_personne
    nom
    id_groupe

    ville
    id_ville
    cp
    nom

    le code correspondant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE `ville` (
      `id_ville` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
      `cp` smallint(5) NOT NULL,
      `nom` varchar(255) NOT NULL,
      PRIMARY KEY (`id_ville`),
      UNIQUE KEY (`nom`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE `groupe` (
      `id_groupe` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
      `nom` varchar(100) NOT NULL,
      `adresse` varchar(255) NOT NULL,
      `id_ville` smallint(5) UNSIGNED NOT NULL,
      PRIMARY KEY (`id_groupe`),
      UNIQUE KEY (`nom`),
      FOREIGN KEY (`id_ville`) REFERENCES `ville` (`id_ville`) ON DELETE NO ACTION ON UPDATE NO ACTION
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE `personne` (
      `id_personne` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,
      `nom` varchar(255) NOT NULL,
      `prenom` varchar(255) NOT NULL,
      `id_groupe` smallint(5) UNSIGNED NOT NULL,
      PRIMARY KEY  (`id_personne`),
      KEY (`nom`),
      FOREIGN KEY (`id_groupe`) REFERENCES `groupe` (`id_groupe`) ON DELETE NO ACTION ON UPDATE NO ACTION
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    (exemple extrait de )

    Mon probleme est similaire a celui ci, le code marche tres bien mais comment le faire avec php my admin sans utiliser une requete sql ?

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

Discussions similaires

  1. Access me change mes relations entre tables
    Par karimspace dans le forum Access
    Réponses: 14
    Dernier message: 29/03/2006, 09h57
  2. Relation entre tables dans bdd différentes
    Par Mandotnet dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/03/2006, 08h03
  3. Les relations entre tables
    Par sheira dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 20/03/2006, 15h03
  4. Récupération des relations entre tables
    Par Themacleod1980 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/02/2006, 11h34
  5. relations entre tables
    Par ilyassou dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/11/2005, 07h48

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