Aide base de données Mysql (basique)
Résolu
Ddjo
-
Ddjo -
Ddjo -
Bonjour,
j'ai un petit problème avec la création de ma base de données... en fait j'aimerais créer une BD qui gère une vidéothèque;
il y a donc la table Acteur et la table Film.
Simplement dans un film il y a plusieurs acteurs, et je suis bloqué la dessus, c'est idiot, sachant que j'en ai fait cette année...
Merci beaucoup a ceux qui prendront le temps de répondre à ça !!
j'ai un petit problème avec la création de ma base de données... en fait j'aimerais créer une BD qui gère une vidéothèque;
il y a donc la table Acteur et la table Film.
Simplement dans un film il y a plusieurs acteurs, et je suis bloqué la dessus, c'est idiot, sachant que j'en ai fait cette année...
Merci beaucoup a ceux qui prendront le temps de répondre à ça !!
A voir également:
- Aide base de données Mysql (basique)
- Fuite données maif - Guide
- Base de registre - Guide
- Supprimer les données de navigation - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Tnt base de données vide - Forum TV & Vidéo
7 réponses
Salut,
pourquoi ne mets-tu pas tous tes acteurs dans une seule entrée de la table Acteur ?
un peu comme ça :
Table Acteur
---------------------------------------------
Film | Acteurs
---------------------------------------------
film1 | acteur 1
---------------------------------------------
film2 | acteur 1, acteur 2, acteur 3, ...
---------------------------------------------
pourquoi ne mets-tu pas tous tes acteurs dans une seule entrée de la table Acteur ?
un peu comme ça :
Table Acteur
---------------------------------------------
Film | Acteurs
---------------------------------------------
film1 | acteur 1
---------------------------------------------
film2 | acteur 1, acteur 2, acteur 3, ...
---------------------------------------------
Oui c'est pas bête !!! Mais le problème après c'est que si un acteur joue dans plusieurs films, je vois pas vraiment comment le placer !! A moins que je crée les tables films et acteurs comme ca :
FILM ACTEUR
_____ __________
Id_F Id_A
nom_F nom_A
... ...
acteur1 Film1
acteur2 Film2
acteur3 etc...
etc...
Mais je suis convaincu que je pourrais faire plus simple, mais je dois avouer que je n'arrive pas à trouver comment !!!!
FILM ACTEUR
_____ __________
Id_F Id_A
nom_F nom_A
... ...
acteur1 Film1
acteur2 Film2
acteur3 etc...
etc...
Mais je suis convaincu que je pourrais faire plus simple, mais je dois avouer que je n'arrive pas à trouver comment !!!!
Et pourquoi pas faire plusieurs lignes de ta table pour un film si plusieurs acteurs
ex:
Table Film_acteurs
film1 | acteur 1
---------------------------------------------
film1 | acteur 2
---------------------------------------------
film2 | acteur 1
---------------------------------------------
film2 | acteur 2
---------------------------------------------
film2 | acteur 3
---------------------------------------------
film2 | acteur 4
ensuite pour les extractions si tu extrait par rapport au film tu auras bien tous les acteurs correspondants
et si tu extrait par rapport à un acteur tu auras bien les films dans lesquels il a joué
ex:
Table Film_acteurs
film1 | acteur 1
---------------------------------------------
film1 | acteur 2
---------------------------------------------
film2 | acteur 1
---------------------------------------------
film2 | acteur 2
---------------------------------------------
film2 | acteur 3
---------------------------------------------
film2 | acteur 4
ensuite pour les extractions si tu extrait par rapport au film tu auras bien tous les acteurs correspondants
et si tu extrait par rapport à un acteur tu auras bien les films dans lesquels il a joué
Tu as donc une table Acteurs, et une table Films.
[ Acteurs ] 1,N ---( jouer ) --- 1,N [ Films ]
Ca te rappelle quelque chose ? Un acteur peut jouer dans un ou plusieurs films, un film a un ou plusieurs acteurs. Les cardinalités, ça te parle ?
Tu as donc 1,N de chaque côté, ce qui implique pour Merise que ton association devient une table dans le modèle physique de données.
Ce qui te donne :
Acteurs (idActeur, NomActeur, PrenomActeur)
Jouer (idActeur, idFilm)
Films (idFilm, TitreFilm)
[ Acteurs ] 1,N ---( jouer ) --- 1,N [ Films ]
Ca te rappelle quelque chose ? Un acteur peut jouer dans un ou plusieurs films, un film a un ou plusieurs acteurs. Les cardinalités, ça te parle ?
Tu as donc 1,N de chaque côté, ce qui implique pour Merise que ton association devient une table dans le modèle physique de données.
Ce qui te donne :
Acteurs (idActeur, NomActeur, PrenomActeur)
Jouer (idActeur, idFilm)
Films (idFilm, TitreFilm)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour ce qui est des cardinalités justement j'y pensais, mais je savais pas vraiment comment les paramétrer si ce qu'elles ressortent sont autres qu'un résultat mathématiques (ex : durée_contrat, taux_horaire ressortiraient salaire)
En tout cas la méthode d'Alain_42 me paraît adéquate, avec une clause DISTINCT on devrait pouvoir gérer ça correctement. En tout cas merci beaucoup à vous d'avoir répondu ! je vais essayer ca tout à l'heure.
En tout cas la méthode d'Alain_42 me paraît adéquate, avec une clause DISTINCT on devrait pouvoir gérer ça correctement. En tout cas merci beaucoup à vous d'avoir répondu ! je vais essayer ca tout à l'heure.