Problème de conception BD (XOR)
Résolu
tamashino
Messages postés
165
Statut
Membre
-
tamashino Messages postés 165 Statut Membre -
tamashino Messages postés 165 Statut Membre -
Bonjour,
J'ai un petit problème :
J'aimerais enregistrer en BD les différents mails envoyés aux clients.
Ce mail devra être lié soit à une personne, soit à une notification, soit à plein de choses autres
Je n ai pas envie d'avoir dans ma BD les champ notif_id, person_id, truc_id etc etc
J ai donc pensé à faire un champ provider (un string égal à "notification" ou à "personne" ou à "truc")
Puis un champ provider_id qui pointe soit sur la table "notif", soit sur "person" soit sur "truc"
Mais askip, c'est pas ouf
Donc comment faire ?

Merci
J'ai un petit problème :
J'aimerais enregistrer en BD les différents mails envoyés aux clients.
Ce mail devra être lié soit à une personne, soit à une notification, soit à plein de choses autres
Je n ai pas envie d'avoir dans ma BD les champ notif_id, person_id, truc_id etc etc
J ai donc pensé à faire un champ provider (un string égal à "notification" ou à "personne" ou à "truc")
Puis un champ provider_id qui pointe soit sur la table "notif", soit sur "person" soit sur "truc"
Mais askip, c'est pas ouf
Donc comment faire ?
Merci
2 réponses
J'aurais aimé avoir quelque chose de plus conventionnelle/scolaire
Je suppose qu'une methode est déjà prévu face à ce genre de probleme, mais je ne la connais pas
Je suppose qu'une methode est déjà prévu face à ce genre de probleme, mais je ne la connais pas
Je me suis mal exprimer :
"Je n'ai pas envie d'avoir dans ma Table** les champs notif_id, person_id, truc_id etc etc"
=> Parce qu'à terme, la table deviendrait beaucoup trop grande
Oui, j ai pensé à faire plusieurs tables qui enregistrerais les liens
Mais du coup, quelle est la meilleur méthode ?
D'un coté, un champ provider et provider_id : Pas vraiment conventionnelle
Peut même etre source de grosses erreurs (puisque ce n'est pas un vrai lien... une clé etrangère ne devrait pas pointer sur plusieurs tables...)
D'un autre coté, une table par lien :
Mais... ca implique la creation de beaucoup de tables... juste pour lier des mail à d'autre champs...
J'esperais qu'il existe une autre solution
Tant pis
Merci beaucoup d'avoir pris le temps de me répondre
"Je n'ai pas envie d'avoir dans ma Table** les champs notif_id, person_id, truc_id etc etc"
=> Parce qu'à terme, la table deviendrait beaucoup trop grande
Oui, j ai pensé à faire plusieurs tables qui enregistrerais les liens
Mais du coup, quelle est la meilleur méthode ?
D'un coté, un champ provider et provider_id : Pas vraiment conventionnelle
Peut même etre source de grosses erreurs (puisque ce n'est pas un vrai lien... une clé etrangère ne devrait pas pointer sur plusieurs tables...)
D'un autre coté, une table par lien :
Mais... ca implique la creation de beaucoup de tables... juste pour lier des mail à d'autre champs...
J'esperais qu'il existe une autre solution
Tant pis
Merci beaucoup d'avoir pris le temps de me répondre