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 :

Select multi tables


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Expert technique
    Inscrit en
    Septembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 328
    Par défaut Select multi tables
    Bonjour,

    Je suis en train d'apprendre à faire des select multiples en suivant divers tuto sur le net. Faire un select utilisant 2 tables, pas de problèmes. Mais là je bloque sur un select utilisant 3 tables. Ci-joint le schéma de la base.

    zonesType contient:
    1 - Salon
    2 - Cuisine

    hard contient:
    1 - matos1 - 123456 - 1
    2 - matos2 - 1234567 - 2

    zones contient:
    1 - zones1
    2 - zones2

    zonesHard contient:
    1 - 1 - 1
    2 - 2 - 2

    Comment faire ma requête pour qu'elle me renvoi la liste des "zones" avec la liste des "hard" qui lui sont associées avec en prime le nom "zonesType" associé à chaque matériel ? Là je travaille sur 4 tables, et je suis pommé sur les tutos qui expliquent les jointures.

    Pouvez-vous m'aider ?
    Images attachées Images attachées  

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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 818
    Billets dans le blog
    14
    Par défaut
    Tu pourrais donner des explications sur ton schéma ?
    Pourquoi zonesTypes est-elle indépendante de zones ?

    Au passage, tu devrais nommer tes tables au singulier car elles sont issues d'entités types du modèle conceptuel de données, elles mêmes issues de règles de gestion qui expriment les associations pour une entité.

    Par exemple, si je lis ton schéma...

    Règle de gestion :
    Un hard est associé à une zone type et une zone type est associée à un à plusieurs hard.

    Cette règle de gestion donne le MCD suivant :
    zoneType -1,n----associer----1,1- hard

    De plus, dans ton association, tu as choisi l'identification relative qui entraîne la participation de la clé étrangère zonesTypes_idZone à la clé primaire de la table hard.
    Ça peut être une bonne chose dans certains cas mais pas sûr que ce soit pertinent ici.

    Le meilleur cours sur les jointures est celui de SQLPro.

    Montre nous la requête que tu as essayée et nous t'aiderons à la corriger.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    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 éclairé
    Profil pro
    Expert technique
    Inscrit en
    Septembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 328
    Par défaut
    Alors voilà:

    - Une zoneType peut faire partie de plusieurs hard
    - Un hard peut appartenir à plusieurs zones

    Je vais tout passer au singulier pour clarifier les choses.
    L'application que je développe est la suivante:

    C'est une application domotique "home made". j'ai plusieurs modules que j'ai fait moi même dispersés dans la maison que je veux pouvoir ajouter à l'application. chaque module (hard) est dans un type de zone (zoneType - exemple: cuisine, sdb, salon, etc.). une fois le matériel déclaré dans l'application, un formulaire permet de créer une "zone" contenant plusieurs modules (hard).

    Peut-être que j'ai mal conceptualisé ma base ?

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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 818
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par zerros Voir le message
    Alors voilà:

    - Une zoneType peut faire partie de plusieurs hard
    - Un hard peut appartenir à plusieurs zones
    Tes règles de gestion sont incomplètes. relis mon billet dont j'ai donné le lien dans ma première réponse.

    Il n'y a aucune similitude sémantique entre la zone et la zone type ? Ces appellations prêtent à confusion.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    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 !

  5. #5
    Membre éclairé
    Profil pro
    Expert technique
    Inscrit en
    Septembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 328
    Par défaut
    Ok, je vois, je vais déjà revoir mes appellations de tables pour clarifier tout ça,et je reviens poster pour le select.

  6. #6
    Membre éclairé
    Profil pro
    Expert technique
    Inscrit en
    Septembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 328
    Par défaut
    Et me revoilà. J'ai revu l'architecture des quelques tables. Je joins le nouveau schéma.

    j'ai simplifié en supprimant une des tables car je me suis rendu compte qu'elle ne servait à rien. Voici donc l'explication:

    - Table type qui contiendra les différents types de pièces d'une maison (cuisine, chambre, salon, db ...)
    - Tale hard qui contiendra le nom du module, sa clé de cryptage et le type de pièce dans laquelle il est situé.
    - Table zone qui contiendra le nom d'un zone, l'id des modules de cette zone.

    Maintenant la question de logique:
    - Un "type" peut être affecté à un ou plusieurs module "hard" (relation 1:n)
    - Un module "hard" peut être affecté à une ou plusieurs "zone" (relation 1:n)

    Ca vous parait mieux que tout à l'heure ? Du coup, je n'aurai certainement pas trop de mal à faire ma requête ...
    Images attachées Images attachées  

Discussions similaires

  1. [MySQL] Requete SELECT multi-tables avec un ORDER BY
    Par Twenty4 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/12/2010, 02h36
  2. Selection multi table avec filtre
    Par curumo dans le forum Requêtes
    Réponses: 6
    Dernier message: 20/11/2009, 23h16
  3. update d'un champ avec select multi-table
    Par maxvador dans le forum Hibernate
    Réponses: 1
    Dernier message: 23/09/2009, 11h54
  4. SELECT multi tables
    Par Rocou dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/07/2007, 09h53
  5. Modification de champs issus d'un select multi table
    Par plancade dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/06/2007, 16h25

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