en tout cas jh'espère que ca aide a comprendre unpeu
Pas qu'un peu, justement.
Tout d'abord, en voyant tes shémas, je ne peux pas ne pas te conseiller des optimisations parce là tes tables sont plutôt mal faites.
Pour la table all_loan, les date_prets et date_retour semblent être des timestamp, donc devraient être stockés dans des champs entiers. Ou alors tu peux aussi remplacer ce champ par un champ de DATE qui te permet d'utiliser les nombreuses fonctions de date fournies par MySQL.
Pour la table description, je te conseillerais des champs TINYINT ou ENUM (selon les goûts) par exemple pour original, HDDVD ou encore disponible (video et sound, je ne sais pas ce que c'est…). Concernant les acteurs, tu gagnerais plus à faire une table à part pour indiquer quels acteurs sont sur tes films, par exemple une table regroupant les acteurs, et une table fesant la correspondance entre l'id de l'acteur et l'id (ou la référence) du film, parce que sur plus d'un film, tu auras je pense plus de 3 acteurs principaux…
Enfin, sur les deux tables, la très grosse majorité des champs de type text peuvent être retypés en champs VARCHAR, je pense déjà au code qui peut être typé en CHAR(6) (mais tu peux le mettre en VARCHAR puisque de toute façon avec ton shéma, MySQL le transformera en VARCHAR). Il n'y a que la description du film qui peut rester en text (puisque peut être elle peut dépasser 255 caractères…).
Applique des typages logiques pour toutes tes tables, et met des index sur les colonnes utilisées pour les recherches (en l'occurence est ce que tu ne peux pas mettre le code seulement dans la table description, et joindre à la table all_loan avec l'id du film et non son code)
Voir :
http://dev.mysql.com/doc/refman/5.0/fr/data-size.html
Et :
http://dev.mysql.com/doc/refman/5.0/fr/ ... types.html
Et concernant ton problème, il faudrait juste que tu expliques en détail comment s'organise la table all_loan (ce que tu mets dedans), si chaque code correspond bien à un seul DVD (et si le champ disponible est vraiment utile), et expliquer textuellement (c'est à dire sans parler d'enregistrements et de tables) qu'est ce que ta requète est sensé te renvoyer exactement