Un realisateur avec plusieur clé primaire
Fermé
mking03
Messages postés
114
Date d'inscription
dimanche 13 juillet 2008
Statut
Membre
Dernière intervention
6 février 2017
-
26 déc. 2008 à 23:20
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 27 déc. 2008 à 16:57
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 27 déc. 2008 à 16:57
A voir également:
- Un realisateur avec plusieur clé primaire
- Clé windows 10 gratuit - Guide
- Clé usb non détectée - Guide
- Télécharger microsoft office 2010 avec clé d'activation gratuit - Télécharger - Sécurité
- Clé bootable windows 10 - Guide
- Clé usb 2to vrai ou faux - Accueil - Stockage
4 réponses
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
26 déc. 2008 à 23:30
26 déc. 2008 à 23:30
Bonsoir,
Voici ma façon de faire :
Une tablee films, une table réalisateurs, et une autre app_films.
Ta table films contient tous les films, ta table réalisateurs contient une seule fois chaque réalisateur et aucunes informations sur les films qu'ils ont réalisés dedans, ni de champs dans la table films pour dire qui a réalisé le film.
Dans la table app_films, tu met par enregistrement, l'id du réalisateur, et l'id du film réalisé (tu peux rajouté un id d'enregistrement qui ne te servira a quasi rien).
Ainsi un réalisateur peut réaliser autant de film qu'il le souhaite car les liaisons films-réalisateurs sont faites via la table app_films, mais un film peut aussi avoir plusieurs réalisateurs (c'est pas chouette ça pour les duos de réalisateurs? ^^).
Voici ma façon de faire :
Une tablee films, une table réalisateurs, et une autre app_films.
Ta table films contient tous les films, ta table réalisateurs contient une seule fois chaque réalisateur et aucunes informations sur les films qu'ils ont réalisés dedans, ni de champs dans la table films pour dire qui a réalisé le film.
Dans la table app_films, tu met par enregistrement, l'id du réalisateur, et l'id du film réalisé (tu peux rajouté un id d'enregistrement qui ne te servira a quasi rien).
Ainsi un réalisateur peut réaliser autant de film qu'il le souhaite car les liaisons films-réalisateurs sont faites via la table app_films, mais un film peut aussi avoir plusieurs réalisateurs (c'est pas chouette ça pour les duos de réalisateurs? ^^).
mking03
Messages postés
114
Date d'inscription
dimanche 13 juillet 2008
Statut
Membre
Dernière intervention
6 février 2017
37
27 déc. 2008 à 10:52
27 déc. 2008 à 10:52
comme tu a dit un film peut avoir plusieur realisateur hors il faut avoir qu'un seul realisateur de chaque film ,si tu cree
une table intermediaire tu perd cette condition. donc comment faire?
une table intermediaire tu perd cette condition. donc comment faire?
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
27 déc. 2008 à 16:48
27 déc. 2008 à 16:48
Met le champs qui contient l'id_film dans la table app_film en UNIQUE.
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
27 déc. 2008 à 16:57
27 déc. 2008 à 16:57
Bonjour,
Pour que tes films ne puissent avoir qu'un seul utilisateur, il ne faut pas passer par une table d'association. En principe tes scripts SQL sont bons, je ne comprends pas pourquoi tu dis "quand j'interoge ma base par une page php on aura un realisateur a plusieur id si ce realisateur a produit plusieur films".
Quand tu ajoutes un nouveau film, il ne faut pas automatiquement ajouter une nouveau réalisateur, mais vérifier que celui que tu vas ajouter n'existe pas déjà (sinon tu vas avoir des doublons comme tu le mentionnes). Si le réalisateur existe déjà, il faut alors simplement récupérer son identifiant et s'en servir comme foreign key lors de l'insertion de ton film.
Cordialement,
Pour que tes films ne puissent avoir qu'un seul utilisateur, il ne faut pas passer par une table d'association. En principe tes scripts SQL sont bons, je ne comprends pas pourquoi tu dis "quand j'interoge ma base par une page php on aura un realisateur a plusieur id si ce realisateur a produit plusieur films".
Quand tu ajoutes un nouveau film, il ne faut pas automatiquement ajouter une nouveau réalisateur, mais vérifier que celui que tu vas ajouter n'existe pas déjà (sinon tu vas avoir des doublons comme tu le mentionnes). Si le réalisateur existe déjà, il faut alors simplement récupérer son identifiant et s'en servir comme foreign key lors de l'insertion de ton film.
Cordialement,