Mysql

m_makhoukh Messages postés 114 Statut Membre -  
m_makhoukh Messages postés 114 Statut Membre -
bonjour tt le monde,
j'ai deux questions :
c'est quoi la façon la plus simple pour creer des relations sous mysql(est ce que c'est possible sous mysqlcc)?
j'ai migrer une table access vers mysql ,est j'aimerais savoir est ce que c'est possible de conserver les relations entre les tables?

merci d'avance.

8 réponses

kij_82 Messages postés 4260 Statut Contributeur 857
 
Normalement non car mysql ne gère pas les relations entre les tables : c'est à toi de les gérer.. eh oui c'est tout de suite moins agréable, cela dit ce n'est pas bien compliqué. Par exmple pour une table Fille (donc qui doit héritée de la clé primaire de la table Mère, tu n'a qu'à rajouter un champ en fin de ta table Fille nommé exactement de la même facon que la clé primaire de la table mère (et du même type, etc..) et lorsque tu crée un occurrence de ta table fille, il te faudra renseigné en plus cette clé dite 'étrangère' ou 'héritée' toi même...

Voilà en gros le fonctionnement que tu as à faire...

Si t'a table est longue, et bien bonne chance... ca à l'air assez casse tete mais en fait non. Je te conseil de faire un MCD puis un MR si tu connais la méthode MERISE, comme ca tu ne te trompera pas.

Bonne chance

++
0
m_makhoukh Messages postés 114 Statut Membre 2
 
merci bien de ta reponse ,est ce que tu pex me dire comment creer une cle primaire sous mysqlcc* ce je trouve que la cle etrangere,
merci pour ton aide.
0
kij_82 Messages postés 4260 Statut Contributeur 857
 
je connais pas mysqlcc, je ne sais même pas ce que c'est ! C'est une version spéciale ?
0
m_makhoukh Messages postés 114 Statut Membre 2
 
oui en fait c'est une composante indepandantes de mysql qu'il faut telecharger,et il permet d'avoir une interface graphique client.
mais sinon comment tu cree les cles etrangeres.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kij_82 Messages postés 4260 Statut Contributeur 857
 
je te l'ai dit : tu ajoute un champ du meme nomm qu'une clé primaire qui doit etre héritée dans une autre table en fin de cette table.

Par exemple, imagine que tu as une table 'voiture' et une table 'couleur'. Tu as la regle de gestion suivante :
Une voiture ne possede qu'une et une seule couleur

Et bien tu aura les deux tables suivante :
Table Couleur :
id_couleur
libelle_couleur

Table Voiture :
id_voiture
libelle_voiture
nb_roue
id_couleur


La clé étrangère de la table voiture est 'id_couleur' car la voiture hérite d'une couleur, donc d'une occurence de la table 'couleur', et ta clé est ce qui va te servir pour faire la liaison.

Dans le cas ou une voiture pourrait avec plusieurs couleurs, tu ne pourra pas ajouter plusieur clé étrangère dans ta table 'voiture'. Dans ce cas la, il faut créer une nouvelle table intermédiaire que l'on va nommer 'est_de' (comme voiture est de couleur) et qui contiendra les clé suivantes :
id_couleur
id_voiture


Pour chaque couleur qu'une voiture aura, tu aura un couple d'identifiant dans ta table 'est de' qui servira à faire le liens entre les deux tables 'voiture' et 'couleur'.

Ainsi, si tu veuux faire une requete de selection sur ta base par la suite sur les couleurs d'une voiture, tu fera :
SELECT c.id_couleur, c.libelle_couleur
FROM Couleur c, est_de e, Voiture v
WHERE v.libelle_voiture = 'mavoiture'
AND v.id_voiture = e.id_voiture
AND e.id_couleur = c.id_couleur
GROUP BY v.id_voiture
ORDER BY c.id_couleur


Dans cet exemple de requete tu vois bien que la table 'est_de' sert de lien entre les deux autres tables.

Voilà,

++
0
m_makhoukh Messages postés 114 Statut Membre 2
 
mercipour ta reponse;
j'esaye de creer iune relation entre la table details_commandes(mere) et la table produits(enfant) te mais il me dit qu'il ya erreur mais je ne vois pas l'erreur;peut etre parce que
la table mere à deux cle primaire(Ref_produit et N°commande)
voici la commande que j'utilise:
ALTER TABLE produits
ADD CONSTRAINT FK_Réf_ produit  FOREIGN KEY ( Réf_ produit )
REFERENCES  détails_commandes ( Réf_ produit ) ;
0
sam3000 Messages postés 1226 Statut Membre 144
 
c'est pas la peine d'ajouter des relations!!!
fait la jointure des table avec le SQL lors des requetes
0
m_makhoukh Messages postés 114 Statut Membre 2
 
mercipour ta reponse;
j'esaye de creer iune relation entre la table details_commandes(mere) et la table produits(enfant) te mais il me dit qu'il ya erreur mais je ne vois pas l'erreur;peut etre parce que
la table mere à deux cle primaire(Ref_produit et N°commande)
voici la commande que j'utilise:
ALTER TABLE produits
ADD CONSTRAINT FK_Réf_ produit  FOREIGN KEY ( Réf_ produit )
REFERENCES  détails_commandes ( Réf_ produit ) ;
0