SGBDD / Mysql

thomas.r Messages postés 79 Date d'inscription   Statut Membre -  
Stof37 Messages postés 602 Statut Membre -
Bonjour,

Quand on passe de son schéma en MPD à sql, on vient à créer des tables qui correspond à des
associations et comporte donc dans le MPD, plusieurs clés primaires.

Comment cela se passe t-il quand on crée la table dans Mysql ? Faut-il créer plusieurs clés primaires
correspondants au clés primaires des entités mises en relation? Faut-il n'avoir qu'une seule clé primaire est un entier qui s'incrémente avec les clés primaires des entités mises en relation en propriété ?

Merci d'avance pour votre aide.
Configuration: Windows XP
Firefox 3.0

5 réponses

  1. Stof37 Messages postés 602 Statut Membre 148
     
    On a une seule clé primaire par table et des clé étrangeres sinon non?
    0
    1. thomas.r Messages postés 79 Date d'inscription   Statut Membre 2
       
      Je ne vois pas trop ce que tu veux dire. Par exemple dans ton MLDR si tu as
      COMMANDE (id_Commande, Date_commande)
      PRODUIT (id_Produit, libelle)
      COMPOSE (id_Commande, id_Produit, qantité)

      la relation COMPOSE a bien deux clés primaires. Comment est-ce qu'on le transcrit en SQL dans Mysql par exemple.

      Doit-on faire un (j'abrege un peu
      CREATE TABLE COMPOSE(
      id_commande
      id_produit
      ...
      ) TYPE=MyISAM;

      avec les deux clés en tant que clé primaire ?

      J'espère avoir été assez explicite.

      Merci
      0
      1. Stof37 Messages postés 602 Statut Membre 148 > thomas.r Messages postés 79 Date d'inscription   Statut Membre
         
        Voila justement. Dans la table COMPOSE id_commande est bien une clé primaire, mais id_Produit est une clé etrangere et non primaire. On ne peut pas avoir deux clé primaires dans le meme table
        0
      2. thomas.r Messages postés 79 Date d'inscription   Statut Membre 2 > Stof37 Messages postés 602 Statut Membre
         
        je suis tout à fait d'accord avec toi sauf que dans 2 tables différentes, on ne peut avoir la même clé primaire. D'ailleurs je pense que c'est pour ça que mon insertion dans la bdd ne fonctionne pas.
        0
      3. Stof37 Messages postés 602 Statut Membre 148 > thomas.r Messages postés 79 Date d'inscription   Statut Membre
         
        Quand tu as ca

        COMMANDE (id_Commande, Date_commande)
        PRODUIT (id_Produit, libelle)
        COMPOSE (id_Commande, id_Produit, qantité)

        italique: clé étrangere
        souligné: clé primaire.

        La table compose est sans clé primaire mais c'est pas grave? à la limite tu mets une clé primaire id_Compose en auto_increment pour l'identifier de façon unique chaque ligne
        0
      4. thomas.r Messages postés 79 Date d'inscription   Statut Membre 2 > Stof37 Messages postés 602 Statut Membre
         
        Bonjour !
        Est ce que tu penses que je peux les mettre en clés étrangères même sous le moteur MyISAM ?
        Merci
        0
  2. Stof37 Messages postés 602 Statut Membre 148
     
    Il faut pour ca utiliser les "foreign key" Mais je me rappelle plus exactement de la synthaxe. Google saura :) Ou quelqu'un d'autre ici?
    0
  3. leilanoure Messages postés 139 Statut Membre 4
     
    COMMANDE (id_Commande, Date_commande)
    PRODUIT (id_Produit, libelle)
    COMPOSE (id_Commande, id_Produit, qantité)

    dsl d vous dire k je suis pas d accord
    bon voila s ke je vois:
    id_commande est la clé primaire de la table commande
    est la clé primaire de la table produit
    et pr la table compose elle n a pa d clé primaire;elle a 2 clé secondaires id_commande et id_produit
    0
    1. Stof37 Messages postés 602 Statut Membre 148
       
      Exactement ce qui a été dit...
      Clé etrangere = clé "secondaire" pointant vers la clé primaire d'une autre table (cf message #5)
      0
  4. leilanoure Messages postés 139 Statut Membre 4
     
    et encore px tu m aider jé une ptite question concernant le html : je comprend pas la balise meta elle sert a koi exactement
    merci bi1
    0
    1. Stof37 Messages postés 602 Statut Membre 148
       
      La balise meta html permet de donner des informations par exemples aux robots des moteurs de recherche qui indexent les pages
      <meta name="ROBOTS" content="index,follow" /> (->autoriser les robots à indexer la page)
      <meta name="description" content="une courte description de la page" />
      <meta name="title" content="titre donné à la page" />
      ...et il y en a d'autres
      0
    2. leilanoure Messages postés 139 Statut Membre 4 > Stof37 Messages postés 602 Statut Membre
       
      j vé te deranger encore une fois est c ke cé obligatoir ce meta j vx dire est c k on px pa faire une page html sans elle
      0
    3. Stof37 Messages postés 602 Statut Membre 148 > leilanoure Messages postés 139 Statut Membre
       
      Tout à fait tu peux faire sans
      0
    4. leilanoure Messages postés 139 Statut Membre 4 > Stof37 Messages postés 602 Statut Membre
       
      tu sé prkoi j te derange c parcke toi le seul ki m repond tt de suite j te remercie infiniment et et et je te pose une question et j espere k elle va etre la derniere car vrément j t es deranger
      bon ma question c a propos d la programmation evenementiel;si tu px m envoyer un site qui contien des cours et des exercices corrigé
      merci bi1
      0
    5. Stof37 Messages postés 602 Statut Membre 148 > leilanoure Messages postés 139 Statut Membre
       
      Programmation evenementielle? en quel language?
      Parce que la je suis à mon boulo d'été et les sites sont filtrés :S j'ai acces a comment ca marche c'est deja bien ^^ mais j'ai pas grand chose d'autre...
      Du coup comme j'en connais pas par coeur bah je peux pas t'aider...
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Stof37 Messages postés 602 Statut Membre 148
     
    Tout a fait. Pour tester si null c'est if($variable) tout court
    0