|
@@ -17,7 +17,7 @@
|
|
### Отношения и связи
|
|
### Отношения и связи
|
|
|
|
|
|
- К *каждому* посту может быть несколько комментов. А значит, это связь **один-ко-многим** (к одному посту - несколько комментов)
|
|
- К *каждому* посту может быть несколько комментов. А значит, это связь **один-ко-многим** (к одному посту - несколько комментов)
|
|
-- Комментарии могут быть в форме дерева, т. е. у каждого комментария может быть родитель (опять же связь **один-ко-многим**)
|
|
|
|
|
|
+- Комментарии могут быть в форме дерева, т. е. у каждого комментария может быть родитель (комментарий, на который ответили) - опять же связь **один-ко-многим**.
|
|
- У *каждого* поста может быть несколько тэгов; у *каждого* тэга - несколько постов (связь **многие-ко-многим** через смежную таблицу).
|
|
- У *каждого* поста может быть несколько тэгов; у *каждого* тэга - несколько постов (связь **многие-ко-многим** через смежную таблицу).
|
|
|
|
|
|
Таким образом к трем таблицам сущностей добавляется четвертая - смежная таблица **тэги-к-постам**
|
|
Таким образом к трем таблицам сущностей добавляется четвертая - смежная таблица **тэги-к-постам**
|
|
@@ -114,5 +114,5 @@ CREATE TABLE post_to_tag(
|
|
2. Выведите все тэги каждого поста используя `LEFT JOIN` от таблицы `post` к таблице `tag` через смежную таблицу `post_to_tag`
|
|
2. Выведите все тэги каждого поста используя `LEFT JOIN` от таблицы `post` к таблице `tag` через смежную таблицу `post_to_tag`
|
|
3. Используя `GROUP BY` подсчитайте количество тэгов у всех постов в колонке под именем `tagsCount`. Используйте `AS` для задания псевдонимов.
|
|
3. Используя `GROUP BY` подсчитайте количество тэгов у всех постов в колонке под именем `tagsCount`. Используйте `AS` для задания псевдонимов.
|
|
4. Используя `GROUP BY` выведите все тэги для каждого поста в поле `tagsList`. Используйте `GROUP_CONCAT` для объединения тэгов в одну строку.
|
|
4. Используя `GROUP BY` выведите все тэги для каждого поста в поле `tagsList`. Используйте `GROUP_CONCAT` для объединения тэгов в одну строку.
|
|
-4. Сделайте поиск постов по тэгу, используя `WHERE` и какой-то `tag_title`. Отсортируйте выборку по дате в обратном порядке (самые свежие посты - вверху).
|
|
|
|
|
|
+5. Сделайте поиск постов по тэгу, используя `WHERE` и какой-то `tag_title`. Отсортируйте выборку по дате в обратном порядке (самые свежие посты - вверху).
|
|
|
|
|