Bonjour
Je m'interroge sur la bonne structures de tables à mettre en place dans ma base de données.
Actuellement ma base de donnée contient entre autres une table pour gérer des fichiers.
Cette table contient des infos classiques :
- ID
- nom du fichier
- extention
- type de fichier
- référence au propriétaire du fichier
La référence au propriétaire du fichier est une référence externe vers la table des personnes.
J'ai besoin de complexifier mon application et désormais un fichier n'est plus forcement attaché à une personne mais peut être attaché à un autre objet de ma base de donnée comme par exemple
- une inscription
- une animation
- une salle
- une exposition
Comment puis-je gérer cela ? Je souhaite bien évidement conserver au maximums les contraintes d'intégrités et j'aimerais coté applicatif garder un code le plus générique possible.
Un fichier ne peut être lié qu'a un seul autre objet (une personne, une inscription,...)
Par contre un objet (une personne, une inscription,...) peut avoir plusieurs fichiers.
Mon idée est d'utiliser une table de jointure pour chaque objet
Ex
table fichier_personnes ( reffichier, refpersonne) avec unicité sur le fichier
table fichier_inscription (reffichier, refinscription) ...
mais ceci ne me garanti pas l'unicité du reffichier entre toutes les tables de jointure et ne me permet pas de cascader les suppressions
Je vous remercie d'avance de vos éclairages sur la question.
Nathalie
Partager