Creer les relations entre tables MySQL

skank951 Messages postés 3 Statut Membre -  
skank951 Messages postés 3 Statut Membre -
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
A voir également:

3 réponses

doudi
 
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
skank951 Messages postés 3 Statut Membre
 
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
doudi
 
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
skank951 Messages postés 3 Statut Membre
 
bonjour,

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