Problème de conception BD (XOR)
Résolu
tamashino
Messages postés
132
Date d'inscription
Statut
Membre
Dernière intervention
-
tamashino Messages postés 132 Date d'inscription Statut Membre Dernière intervention -
tamashino Messages postés 132 Date d'inscription Statut Membre Dernière intervention -
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
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, qu'est-ce qui t’empêche de faire comme tu as envie?
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