SGBDD / Mysql

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. On a une seule clé primaire par table et des clé étrangeres sinon non?
    1. 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
    2. @thomas.rVoila 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
    3. @Stof37je 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.
    4. @thomas.rQuand 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
    5. @Stof37Bonjour !
      Est ce que tu penses que je peux les mettre en clés étrangères même sous le moteur MyISAM ?
      Merci
  2. 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?
    1. 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
      1. Exactement ce qui a été dit...
        Clé etrangere = clé "secondaire" pointant vers la clé primaire d'une autre table (cf message #5)
    2. 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
      1. 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
      2. @Stof37j 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
      3. @Stof37tu 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
      4. @leilanoureProgrammation 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...