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

Requêtes MySQL Discussion :

Pb de conception


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 577
    Par défaut Pb de conception
    Bonjour,

    j'ai un problème dans la conception de relations.
    Comment concevoir :
    - un ou plusieurs objets sont contenus dans des zones
    - une ou plusieurs zones peuvent contenir des objets

    Si je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    CREATE TABLE ZONE(
    	ZONE_ID      SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL,
    	ZONE_NAME  CHAR(20) NOT NULL,
     
    	PRIMARY KEY(ZONE_ID_ID),
    	UNIQUE INDEX (ZONE_NAME)
    		);
     
    CREATE TABLE OBJECT(
    	OBJECT_ID   SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL,
    	OBJECT_NAME	CHAR(20) NOT NULL,
    	OBJECT_ID_ZONE	SMALLINT UNSIGNED NOT NULL,
     
    	PRIMARY KEY(OBJECT_ID),
    	UNIQUE INDEX (OBJECT_NAME)
    		);
    je n'ai pas la relation un objet peut appartenir à plusieurs zones.
    Me faut-il passer pas une table supplémentaire qui ne ferait que les relations ?

    Merci par avance

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Tu supprime la colonne 'OBJECT_ID_ZONE' de la table 'OBJECT'.
    Tu crées un table 'OBJECT_ZONE' avec les colonnes 'ID_ZONE' et 'ID_OBJECT', qui te fera la relation avec les 2 autres tables.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 577
    Par défaut
    OK,
    il s'agit donc bien d'une relation plusieurs-à-plusieurs.
    les requêtes de recherche seront donc un peu compliquées je pense ...
    MERCI
    @+

  4. #4
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut
    Cette conception est en accord avec la troisème forme normale d'une BDD. Plus d'informations, je te conseille de consulter ce lien :
    forme normale.

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Citation Envoyé par olive_le_malin Voir le message
    OK,
    les requêtes de recherche seront donc un peu compliquées je pense ...
    Pour chercher les objets appartenant à une zone, tu fais un truc de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select zone.zone_name, object.object_name
    from object_zone
    join object on object_zone.object_id = object.object_id
    join zone on object_zone.zone_id = zone.zone_id
    where object_zone.zone_id = laValeurRecherchée
    Pour rechercher les zones daont un objet fait partie, c'est sensiblement la même chose.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 577
    Par défaut
    OK,
    Je vais me remettre aux plaisirs des jointures !!

    MERCI beaucoup

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

Discussions similaires

  1. [Concept] Métadatas ?
    Par melinda dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 10/11/2004, 11h56
  2. [Concept] Réplication
    Par melinda dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 31/03/2003, 17h29
  3. [Concept] BD ou Gestion par fichier. Intérêt de la BD ?
    Par Cian dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/11/2002, 12h16
  4. [Concept] Curseur coté client et curseur coté serveur
    Par freud dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 13/09/2002, 22h13
  5. [Concept] Stabilité d'une base de donnée
    Par lassmust dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/07/2002, 16h16

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