Partage
  • Partager sur Facebook
  • Partager sur Twitter

Organisation bdd

29 décembre 2018 à 14:47:27

Bonjour,

Je déplace ici un sujet commencé dans la section PHP : https://openclassrooms.com/forum/sujet/probleme-avec-fetch-7?page=1#message-92865296

Voici en image la question que je me pose.

J'ai opté pour la première solution avec PERSONNE et FONCTIONS. J'ai également créé une table PERSONNE_JOBS avec une colonne id_film. L'ennui c'est que PERSONNE va vite devenir énorme avec beaucoup d'enregistrements. D'autant plus si je rajoute Producteur, Scénariste, etc... La requête sql va aussi se compliquer de plus en plus, déjà qu'elle l'est pas mal (voir ci-dessous).

La seconde solution Acteur, Réalisateur est redondante avec à chaque fois id, nom, prénom...

SELECT movies.id, origine, year, title, vo,
DATE_FORMAT(sortie_fr,'%d %c %Y') AS sortie_fr,
DATE_FORMAT(sortie_us,'%d %c %Y') AS sortie_us, synopsis, slug, src, alt, site,
GROUP_CONCAT(DISTINCT CASE WHEN jobs.id=1 THEN name END ORDER BY personsjobs.id ASC SEPARATOR ', ') AS directors,
GROUP_CONCAT(DISTINCT CASE WHEN jobs.id=2 THEN name END ORDER BY personsjobs.id ASC SEPARATOR ', ') AS actors,
GROUP_CONCAT(CASE WHEN jobs.id=1 THEN persons.id END SEPARATOR ';') AS idsDirectors,
GROUP_CONCAT(CASE WHEN jobs.id=2 THEN persons.id END SEPARATOR ';') AS idsActors
FROM movies LEFT JOIN posters ON posters.id_movie=movies.id
INNER JOIN personsjobs ON personsjobs.id_movie = movies.id
INNER JOIN persons ON persons.id=personsjobs.id_person
INNER JOIN jobs ON jobs.id=personsjobs.id_job
WHERE movies.id = :id GROUP BY movies.id



-
Edité par cypher01 29 décembre 2018 à 14:48:54

  • Partager sur Facebook
  • Partager sur Twitter
29 décembre 2018 à 20:00:54

Bonjour,

Doublon

Les doublons nuisent au bon fonctionnement du forum et sont donc interdits. Si vous vous êtes trompé de section, il suffit de signaler votre sujet au staff pour qu'il le déplace au bon endroit.

Je vous invite à continuer la discussion sur l'autre sujet : https://openclassrooms.com/forum/sujet/probleme-avec-fetch-7

Je ferme ce sujet. Me contacter par MP si besoin.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL