|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Développeur informatique Inscription : septembre 2005 Messages : 145 ![]() |
Bonjour à tous,
voici mon probleme j'ai une base mysql 4 avec des table type isam et je veux les passer en innoDB pour gérer les clé etrangeres mais voila je ne sais pas comment representer une relation pour la clé etranger d'une table. j'ai une table projet et une autre incident et j'ai une troisieme table activité qui devrait avoir pour clé étrangere la clé primaire de projet et clé primaire de incident car une activite peut appartenir a un projet ou a un incident avant (en isam) j'avais deux champs dans la base un avec l'id et l'autre avec le type de table (projet ou incident) donc la je sais pas comment faire? sois je fais 2 champs dans la table activité un qui fait ref a projet et un autre qui fait ref a incident. Qu'en pensez-vous? Merci TZoulou |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() François Développeur informatique Inscription : novembre 2002 Messages : 773 ![]() |
Bonjour,
tu peux également avoir une table(association) dans laquelle tu aurais l'id d'activité mais également l'id projet et l'id incident. Au niveau MCD, c'est une association ternaire avec des relations 0,n entre l'association et les tables projet et incident et une relation 1,1 ou 1,n entre activité et l'association |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Développeur informatique Inscription : septembre 2005 Messages : 145 ![]() |
je vois ce que tu veux dire mais le souci c'est que je peux avoir le meme id pour un projet et pour un incident donc dans ce cas comment savoir si c'est un projet ou un incident qui est lié a cette activité?
|
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() François Développeur informatique Inscription : novembre 2002 Messages : 773 ![]() |
Dans ton association il y'a les deux champs. Donc pas de souci, ce n'est pas juste un champ pour les deux.
|
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Développeur informatique Inscription : septembre 2005 Messages : 145 ![]() |
d'accord donc je bien ben obligé de mettre deux champs différents mais dans ce cas pourquoi avoir une table intermediaire et pas mettre ces deux champs dans la table activite??
Merci |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() François Développeur informatique Inscription : novembre 2002 Messages : 773 ![]() |
Je suis parti du postulat comme quoi la relation entre l'activité et l'association était de type 1,n. Si c'est 1,1 alors dans ce cas pas de raison pour l'association. Tu as raison
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Développeur informatique Inscription : septembre 2005 Messages : 145 ![]() |
je ne comprends pas bien ton raisonnement
un projet peut avoir plusieurs activités donc c'est du 1,n et pas du 1,1 de plus pour une association ternaire il faut une relation entre les trois tables or dans mon cas c'est juste une association entre activite et projet OU activite et incident donc pour chaque relation c'est du 1,n non? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com