|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.06.2008, 17:43 | #1 |
Форумчанин
Регистрация: 20.06.2007
Сообщений: 144
|
Как лучше организовать структуру MySQL?
Есть таблица статей с полями:
id (идентификатор), date (дата), text (содержимое), comment (комментарий) что делать с id, date, text мне понятно а вот как лучше поступить с comment (комментарии к статье) - хочу спросить у более опытных. Я думал над вариантом типа того создать для каждой статьи создавать отдельную таблицу с комментариями типа: id (идентификатор комментария), date (дата комментария), text (текст комментария), show (показывать комментарий или нет) Имя таблицы делать типа comment_1 для статьи с id=1, comment_2 для статьи с id=2. И так получится, что сколько статей столько отдельных таблиц с комментариями. Т.е. количество таблиц в базе будет плавать. Но мне кажется что такая структура не совсем оптимальна, т.к. общее число таблиц базы будет постоянно меняться. Может у кого-нибудь есть другой вариант? |
23.06.2008, 20:20 | #2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Лично я смысл затеи вообще не уловил... Почему не поступить с комментом так же, как с текстом - хранить в той же строке таблицы? Если в отдельной таблице, то почему не в одной? Один коммент - одна строка...
|
23.06.2008, 20:28 | #3 |
Форумчанин
Регистрация: 20.06.2007
Сообщений: 144
|
В этой таблице одна строка - одна статья. Комментариев может быть несколько к одной статье. Их необходимо разделить, т.е. нужно неизвестное количество столбцов для комментариев. И к тому же у комментария несколько параметров - автор, дата и собственно текст.
|
23.06.2008, 20:32 | #4 |
Форумчанин
Регистрация: 20.06.2007
Сообщений: 144
|
Вобщем я уже прикинул структуру. Буду создавать отдельную таблицу с комментами, где они будут вперемешку. Для того чтобы их привязывать к статье сделаю поле article_id, которому присвою id статьи из таблицы статей. Когда нужно будет вывести статью с комментами, буду делать выборку комментов по article_id.
Последний раз редактировалось Romanbl4; 24.06.2008 в 17:10. Причина: чуть уточнил |
24.06.2008, 11:48 | #5 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
Аналогичный вопрос по структуре....
Есть некая структура дерева(каталога) .... каждой ветке(каталогу) соответствует свой id.... Есть куча товаров ..... которые по полю id_catalog принадлежат той или иной ветке (папке)..... Нада сделать чтобы товар мог принадлежать нескоьким веткам дерева... скольким - заранее не известно... как это осуществить? |
24.06.2008, 17:07 | #6 |
Форумчанин
Регистрация: 20.06.2007
Сообщений: 144
|
Я бы здесь предложил такой вариант. Завести поле Categories_IDs (тип text). Записывать туда массив из ID веток дерева, например, через запятую: 1,2,3,4,12,13. Считывать из быза всю строку $datastr и пользоваться функциями $dataarr = explode(",",$datastr);
А для записи в поле сделать наоборот: $datastr = join(",",$dataarr) |
24.06.2008, 18:35 | #7 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
н самом деле все проще.. красивей и правильней - нужна еще одна таблица связей... товаров и категорий... вот и все
|
26.06.2008, 23:46 | #8 |
Форумчанин
Регистрация: 04.04.2007
Сообщений: 131
|
Тут нужны две таблици
первая: id, date, text вторая id, ids, comment тоесть на страницу выводится статья.( Код:
а в конце страници выводятся комментарии ( Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как лучше организовать базу данных типо как в 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 14:26 |
как под структуру типа MSG выделить строго определенное количество байт? | Morskoivolk | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 03.04.2007 20:12 |