Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 23.06.2008, 17:43   #1
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
Репутация: 69
По умолчанию Как лучше организовать структуру MySQL?

Есть таблица статей с полями:
id (идентификатор), date (дата), text (содержимое), comment (комментарий)

что делать с id, date, text мне понятно
а вот как лучше поступить с comment (комментарии к статье) - хочу спросить у более опытных.

Я думал над вариантом типа того создать для каждой статьи создавать отдельную таблицу с комментариями типа:

id (идентификатор комментария), date (дата комментария), text (текст комментария), show (показывать комментарий или нет)

Имя таблицы делать типа comment_1 для статьи с id=1, comment_2 для статьи с id=2.

И так получится, что сколько статей столько отдельных таблиц с комментариями. Т.е. количество таблиц в базе будет плавать.

Но мне кажется что такая структура не совсем оптимальна, т.к. общее число таблиц базы будет постоянно меняться.

Может у кого-нибудь есть другой вариант?
Romanbl4 вне форума   Ответить с цитированием
Старый 23.06.2008, 20:20   #2
B_N
Новичок
 
Регистрация: 18.01.2008
Сообщений: 1,720
Репутация: 590
По умолчанию

Лично я смысл затеи вообще не уловил... Почему не поступить с комментом так же, как с текстом - хранить в той же строке таблицы? Если в отдельной таблице, то почему не в одной? Один коммент - одна строка...
B_N вне форума   Ответить с цитированием
Старый 23.06.2008, 20:28   #3
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
Репутация: 69
По умолчанию

В этой таблице одна строка - одна статья. Комментариев может быть несколько к одной статье. Их необходимо разделить, т.е. нужно неизвестное количество столбцов для комментариев. И к тому же у комментария несколько параметров - автор, дата и собственно текст.
Romanbl4 вне форума   Ответить с цитированием
Старый 23.06.2008, 20:32   #4
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
Репутация: 69
По умолчанию

Вобщем я уже прикинул структуру. Буду создавать отдельную таблицу с комментами, где они будут вперемешку. Для того чтобы их привязывать к статье сделаю поле article_id, которому присвою id статьи из таблицы статей. Когда нужно будет вывести статью с комментами, буду делать выборку комментов по article_id.

Последний раз редактировалось Romanbl4; 24.06.2008 в 17:10. Причина: чуть уточнил
Romanbl4 вне форума   Ответить с цитированием
Старый 24.06.2008, 11:48   #5
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,266
Репутация: 912

icq: 303-206-418
skype: ad-soft.info
По умолчанию

Аналогичный вопрос по структуре....
Есть некая структура дерева(каталога) .... каждой ветке(каталогу) соответствует свой id....
Есть куча товаров ..... которые по полю id_catalog принадлежат той или иной ветке (папке).....
Нада сделать чтобы товар мог принадлежать нескоьким веткам дерева...
скольким - заранее не известно... как это осуществить?
ADSoft вне форума   Ответить с цитированием
Старый 24.06.2008, 17:07   #6
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
Репутация: 69
По умолчанию

Я бы здесь предложил такой вариант. Завести поле Categories_IDs (тип text). Записывать туда массив из ID веток дерева, например, через запятую: 1,2,3,4,12,13. Считывать из быза всю строку $datastr и пользоваться функциями $dataarr = explode(",",$datastr);
А для записи в поле сделать наоборот: $datastr = join(",",$dataarr)
Romanbl4 вне форума   Ответить с цитированием
Старый 24.06.2008, 18:35   #7
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,266
Репутация: 912

icq: 303-206-418
skype: ad-soft.info
По умолчанию

н самом деле все проще.. красивей и правильней - нужна еще одна таблица связей... товаров и категорий... вот и все
ADSoft вне форума   Ответить с цитированием
Старый 26.06.2008, 23:46   #8
nikleb
Форумчанин
 
Регистрация: 04.04.2007
Сообщений: 131
Репутация: 10

skype: edgarvolkov
По умолчанию

Тут нужны две таблици

первая: id, date, text
вторая id, ids, comment

тоесть на страницу выводится статья.(
Код:

$sql="SELECT date,text WHERE id='".$id."'";

)

а в конце страници выводятся комментарии (
Код:

$sql="SELECT comment WHERE ids='"$id"'";

)
nikleb вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как лучше организовать базу данных типо как в ICQ Руслантус БД в Delphi 3 09.08.2008 23:57
MySQL нужна библ. для Visual C++ (MySql++) Alexoid Visual C++ 8 07.05.2008 18:29
TCategoryButtons создать структуру ? Родион Компоненты Delphi 2 07.05.2008 16:41
Предлагаю модернизировать структуру форумов Aero_cobra О форуме и сайтах клуба 12 12.03.2008 15:26
как под структуру типа MSG выделить строго определенное количество байт? Morskoivolk Assembler 1 03.04.2007 20:12


20:38.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru