Aide base de données Mysql (basique)

Résolu/Fermé
Ddjo - 19 juil. 2008 à 21:20
 Ddjo - 20 juil. 2008 à 14:53
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 !!

7 réponses

petinouv Messages postés 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009 82
19 juil. 2008 à 23:20
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, ...
---------------------------------------------
0
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 !!!!
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 juil. 2008 à 13:09
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é
0
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 608
20 juil. 2008 à 13:20
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)


0

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.
0
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 608
20 juil. 2008 à 14:17
En fait, en y regardant un tout petit mieux, la sienne est quasi-identique à la mienne : une nouvelle table pour faire les correspondances entre les acteurs et les films.

0
Ouais t'as raison, j'crois que c'est le tableau qui m'a fait réagir. EN tout cas merci beaucoup à vous !
0