Bonjour à tous, et merci beaucoup pour ce forum qui a m'a déjà été salutaire plus d'une fois dans d'autres domaines.
Je viens à vous aujourd'hui car je souhaite réaliser une base de données permettant de gérer une médiathèque, avec une interface php. Pour l'instant, je me concentre sur la partie "dvd", c'est à dire la partie permettant de gérer la collection de films et de séries.
Par exemple, chaque film sera représenté par une fiche présentant les diverses informations le concernant, ainsi que les acteurs, le réalisateur, etc qui auront eux aussi leur fiche de présentation. Il y aura aussi des albums photos pour chaque film, série et "personne" (acteur ou réalisateur).
Voilà en gros pour la présentation sommaire de la première étape de mon projet.
J'ai créé un modèle de cette base de données (sous DBDesigner 4), en créant des tables de type innoDB pour permettre d'avoir des relations entre mes tables. Par contre, je suis un grand débutant en bases de données, et j'ai peur d'avoir rendu "bancale" mon modèle en essayant d'avoir les tables les plus génériques possible.
Mais venons-en à la situation qui me préoccupe :
J'aimerai pouvoir gérer les relations la table photo et les autres, pour permettre la suppression automatique des photos qui ne sont plus référencées. Or une photo peut aussi bien appartenir à un film (ou une série) qu'à un acteur ou un réalisateur, ce qui fait que l'utilisation de ON DELETE CASCADE ne convient pas dans ce cas. J'ai cru que RESTRICT ou NO ACTION pourraient convenir, mais apparemment dans le cas où on voudrait supprimer un film représenté par une photo qui elle même représente un acteur, cela bloque toute l'opération et rien n'est supprimé. (désolé si ce n'est pas clairement expliqué...)
je voudrais donc savoir si mon modèle est valable, et si oui quelle solution je peux utiliser pour gérer les relations entre les tables.
Merci d'avance !
Cordialement.
Partager