Pages : 1
#1 Le 25/01/2006, à 12:30
- hector
débutant en mysql
J'essaie de me faire une petite base de données pour me faire la main, j'ai installé phpmyadmin sous ma breezy , et créé 2 tables mais ai un probleme avec mes relations....
en fait j'essaie de me faire une dvdtheque avec 2 tables: une de films et une d'acteurs: l'idée est que à chaque film peut correspondre plusieurs acteurs, et inversement à chaque acteur peut correspondre plusieurs films. J'imagine que ce cas est archi simple : mais comment feriez vous?
Merci
Hors ligne
#2 Le 25/01/2006, à 12:43
- Nim
Re : débutant en mysql
En ajoutant une troisième table de correspondance acteur films.
C'est en effet une chose de base. Pour te former un peu, je te conseillerai de lire ça par exemple : http://sqlpro.developpez.com/
Hors ligne
#3 Le 25/01/2006, à 12:46
- guil
Re : débutant en mysql
salut,
tu peux créer une table acteur avec un champ id et une table film avec un champ actorList qui contient une list d'id correspondant aux acteurs.
Tu peux également créer une troisiéme table actorFilm ou tu met (id, film, acteur) et que tu remplis avec les id d'acteurs et films ainsi si ton acteur 2 et 3 joue dans le film 4 tu auras dans actorFilm :
id film actor
1 4 2
2 4 3
il y a encore plein d'autres solution.
Hors ligne
#4 Le 25/01/2006, à 12:47
- thom
Re : débutant en mysql
L'idée, c'est que tu donnes un id a chacun de tes films (dans la table films), un id a chaque acteur (dans la table acteur) et puis tu fais une autre table dans laquelle tu auras 2 champs, id_film et id_acteur pour faire la relation entre les 2... Il peut y avoir plusieurs entrée dans cette table si il y a plusieurs acteur pour un film...
-> Ubuntu on a Sony Vaio VNG-FS115B
-> Wificonfig is a little script aimed to ease the switching between networks, for people who have 2 network cards : a wired one and a wireless one.
Hors ligne
#5 Le 25/01/2006, à 13:21
- hector
Re : débutant en mysql
Merci pour vos solutions et liens.
spontanément je choisirais plutot la solution consistant a mettre un champ liste d'identifiants ds le tableau film, plutot que rajouter un 3eme tableau. a moins que vous me disiez qu il est plus interessant de faire ce 3eme tableau pour une raison qui m'échappe...
Hors ligne
#6 Le 25/01/2006, à 13:26
- guil
Re : débutant en mysql
le troisiéme tableau est plus pratique quand tu veux ensuite faire une recherche filtrer par acteur ou film. (mais c'est aussi possible avec la liste)
Hors ligne
#7 Le 25/01/2006, à 13:41
- goodluck
Re : débutant en mysql
Tu vas donc avoir un champ liste des films dans la table acteur ET un champ liste des acteurs dans la table des films.
Bon courage quand tu vas détruire un film !
Amicalement, Gerard ;)
http://counter.li.org/cgi-bin/certificate.cgi/302199
http://www.worldcommunitygrid.org/
Hors ligne
#8 Le 25/01/2006, à 15:38
- Nim
Re : débutant en mysql
De plus en terme de performance, l'utilisation de liste est beaucoup moins interessante que une troisième table (assez bien optimisée pour peu que tu utilise des jointures en accès).
La solution à base de liste est fortement déconseillée (je serai pas loin de dire à proscrire ...).
Hors ligne
#9 Le 25/01/2006, à 16:30
- goodluck
Re : débutant en mysql
(je serai pas loin de dire à proscrire ...).
J'avais pas osé !
Amicalement, Gerard ;)
http://counter.li.org/cgi-bin/certificate.cgi/302199
http://www.worldcommunitygrid.org/
Hors ligne
#10 Le 26/01/2006, à 12:57
- hector
Re : débutant en mysql
va pour la 3ème table !
Et merci
Hors ligne
Pages : 1