Creer les relations entre tables MySQL

Bonjour à tous,

Voilà, je dois créer une SGBD pour mon école mais je peche un peu et demande votre aide!
J'utilise MySQL server 5.0, j'ai creer mes tables mais je ne sais pas comment créer les relations entre elles?
Par exemple, 2 tables MATERIEL et LOGICIEL:

MATERIEL (Id_materiel, type_mat, marque_mat, modele_mat, adresse_mac_mat, nom_mat, processeur_mhz_mat, memoireVive_mo_mat) Clé primaire:Id_materiel

LOGICIEL (Id_logiciel, editeur_log, nom_log, version_log) Clé primaire:Id_logiciel

et la contrainte entre les deux INSTALLER:

INSTALLER (#Id_materiel,#Id_logiciel)
Clé primaire:Id_materiel,Id_logiciel
Clé étrangère: Id_materiel en reference à Id_materiel dans table MATERIEL
Clé étrangère: Id_logiciel en reference à Id_logiciel dans la table LOGICIEL

c'est cette dernière contrainte que je ne sais pas comment créer! Pouvez-vous m'aider SVP?

Merci d'avance

skank
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. Bonjour ,

    Voici une réponse possible pour ta question :

    CREATE TABLE Installer(
    id_materiel integer not null, foreign key(id_materiel) references MATERIEL (id_materiel),
    id_logiciel integer not null, foreign key(id_logiciel) references LOGICIEL(id_logiciel),
    primary key (id_materiel, id_logiciel)
    ) ENGINE InnoDB;
    0
    1. oui, c'est ce que j'avais fait
      Mais le probleme ça créer une table , et c'est une contrainte!
      Or je sais que je dois avoir ici 2 tables, si je fais ça et qu'aprés je fais un
      show tables;
      j'obtiens les 3 tables MATERIEL, LOGICIEL et INSTALLER

      merci d'avance
      0
      1. Bonjour,

        D'après ton modèle il est nécessaire de créer 3 Tables.

        Si tu dois obtenir 2 tables ,réfléchis alors a un nouveau modèle de données.
        0
    2. bonjour,

      merci pour ta réponse, je vais réviser ma copie!
      0