J'apprends des requêtes mysql join. Pour faire de la pratique, j'ai décidé de créer des tables pour un site Web comme stackoverflow. J'ai fait trois tables essentiellement.Quel genre de requêtes un site Web comme stackoverflow utilise-t-il?
Question_Thread
thread_id
title
username
datetime
Question_Reply
reply_id
thread_id
text
Question_Text_Comment
comment_id
reply_id
comment
Comment puis-je interroger toutes les réponses et les commentaires de chaque réponse? Je ne peux pas trouver une relation ici. Ce n'est pas beaucoup-à-plusieurs, un-à-plusieurs ou un-à-un. Il ressemble à un-à-plusieurs parce qu'une réponse a beaucoup de commentaires. Le problème est que la page de détails de la question a de nombreuses réponses.
s'il vous plaît me conseiller ...
Alors ... dois-je interroger les commentaires de chaque réponse sur le détail de la question (la page que vous consultez en ce moment)? par exemple, s'il y a trois réponses et que chacune d'elles a quatre commentaires. Dois-je interroger trois fois? – Moon
Non, vous n'êtes pas obligé. Vous pouvez utiliser un ORM pour faciliter cela, comme NHibernate, ou Linq-to-Sql (qui est ce que StackOverflow utilise), ou autre. Cela vous permettrait de charger la Question et ses propriétés contiendraient les données requises. Mais si vous utilisez des requêtes SQL nues, alors oui, vous interrogerez trois (ou plusieurs) fois. 1) Obtenez la question, 2) Obtenez les réponses de la question, 3) Obtenez tous les commentaires pour toutes les réponses récupérées. Rappelez-vous, c'est ce que ferait ORM de toute façon, il est juste abstrait pour vous de ne pas trop vous inquiéter. –
ah! Je pensais qu'il y a une requête qui interroge toutes les réponses et les commentaires. – Moon