Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/05/2006, 10h25   #1
Membre du Club
 
Développeur informatique
Inscription : septembre 2005
Messages : 145
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2005
Messages : 145
Points : 45
Points : 45
Par défaut 1 Clé étrangere qui fait reference a 2 champs dans 2 tables differentes

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
TangoZoulou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 10h30   #2
Membre chevronné
 
Avatar de pinocchio
 
Homme François
Développeur informatique
Inscription : novembre 2002
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 35
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : novembre 2002
Messages : 773
Points : 787
Points : 787
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
pinocchio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 10h36   #3
Membre du Club
 
Développeur informatique
Inscription : septembre 2005
Messages : 145
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2005
Messages : 145
Points : 45
Points : 45
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é?
TangoZoulou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h02   #4
Membre chevronné
 
Avatar de pinocchio
 
Homme François
Développeur informatique
Inscription : novembre 2002
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 35
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : novembre 2002
Messages : 773
Points : 787
Points : 787
Dans ton association il y'a les deux champs. Donc pas de souci, ce n'est pas juste un champ pour les deux.
pinocchio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h15   #5
Membre du Club
 
Développeur informatique
Inscription : septembre 2005
Messages : 145
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2005
Messages : 145
Points : 45
Points : 45
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
TangoZoulou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h52   #6
Membre chevronné
 
Avatar de pinocchio
 
Homme François
Développeur informatique
Inscription : novembre 2002
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 35
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : novembre 2002
Messages : 773
Points : 787
Points : 787
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
pinocchio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 15h22   #7
Membre du Club
 
Développeur informatique
Inscription : septembre 2005
Messages : 145
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2005
Messages : 145
Points : 45
Points : 45
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?
TangoZoulou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h27.


 
 
 
 
Partenaires

Hébergement Web