-12 / 0 / 0
Регистрация: 25.07.2019
Сообщений: 43
|
|
1 | |
Правильно ли создавать отдельную таблицу для комментариев для каждого поста?01.08.2020, 16:39. Показов 756. Ответов 5
Я делаю свой первый сайт, хочу сделать комментарии к каждому посту. У каждого поста должны быть отдельные коментарии. Как реализовать это в MySQL? Может создавать для каждого поста свою таблицу комментариев со структурой | id | author_name | text | или создать общую таблицу комментариев со структурой | id | post_id | author_name | text | ? Какой вариант эффективнее или есть какой то другой способ? Первый вариант кажется не правильным, так-как для каждого поста придется создавать отдельную таблицу, а второй потому что, если очень много постов и комментариев будет, то каждый раз при посмотре комментариев конкретного поста, придется фильтровать по post_id.
0
|
01.08.2020, 16:39 | |
Ответы с готовыми решениями:
5
Проектирование БД - Сделать для каждого города отдельную таблицу или, все же, запихать все в одну? Стоит ли делать отдельную базу для комментариев? Как для каждого пользователя создать отдельную БД Сделать отдельную запись для каждого номера телефона |
541 / 352 / 194
Регистрация: 07.11.2018
Сообщений: 1,238
|
|
03.08.2020, 10:01 | 2 |
Помоему первый проще и правильнее.Потом в таблице поста укажите ид коментария и все.2 таблицы ..таблица постов и таблица коментариев.
1
|
фрилансер
5499 / 5095 / 1047
Регистрация: 11.10.2019
Сообщений: 13,345
|
|
03.08.2020, 10:11 | 3 |
Bauka555, конечно же одну таблицу комментариев нужно (а то это ж сколько таблиц будет, если для каждого поста их лепить)
В таблице уникальный ключ записи (id_comment), плюс уникальный составной (id_comment,id_post) author_name - не нужен тут, лучше id_author . Тогда по таблице пользователей имя и так можно будет найти
1
|
-12 / 0 / 0
Регистрация: 25.07.2019
Сообщений: 43
|
|
03.08.2020, 23:37 [ТС] | 4 |
Да, ок, id в таблице коментариев и так означает comment_id, а я хотел добавить author_name, чобы получить все нужные данные одным запросом и не запрашивать имя по айдишнику каждый раз для каждого комментария.
0
|
1136 / 881 / 152
Регистрация: 25.07.2015
Сообщений: 1,959
|
|
04.08.2020, 07:13 | 5 |
Вам ничего не мешает сделать связь к таблице author по полю id_author и выводить в итоговом запросе
не его id , а author_name без всяких дополнительных запросов. Что , к слову , как отметил Алексей1153, будет более правильным, т.к. в author_name возможны ошибки пользователя при вводе имени, которые устанете отлавливать. Как пример самая распространённая и трудноотлавливаемая - случайное изменение раскладки клавиатуры при вводе символа "С" -визуально одно и то же , по факту разные символы.
0
|
фрилансер
5499 / 5095 / 1047
Регистрация: 11.10.2019
Сообщений: 13,345
|
|
04.08.2020, 18:13 | 6 |
это я переборщил с ключами )) Второй ключ (уникальный-составной) не надо: надо не уникальное индексированное поле id_post - по нему и будут вытаскиваться все записи для поста
0
|
04.08.2020, 18:13 | |
04.08.2020, 18:13 | |
Помогаю со студенческими работами здесь
6
Вывод информации из БД для каждого поста Нужно ли делать отдельную таблицу для цен Как создать отдельную функцию для каждого объекта класса Генерация страниц для каждого поста блога Как установить иконку FontAwesome для каждого поста? Правильно перенести код для миниатюры поста Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |