Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> связка: форум+mySQL, как хранить топики в бд? 
V
    Опции темы
Garf
Дата 11.3.2006, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.2.2006

Репутация: нет
Всего: нет



Надобно сделать форум и хранить сообщения в базе данных. Я хотел, чтобы для каждого топика создавалсь новая таблица. Но мне говорят, что это не совсем рационально. Но ведь таблица MySQL - это всего лишь файл. Так вот - кто прав? Насколько дикие тормоза будут если что?
Если нужно все сообщения кидать в одну таблицу, то пожалуйста подскажите структуру таблицы. Мне чем не нравится задумка хранить всё в одной таблице - допустим для каждого сообщения как минимум поле(даже несколько - автор, время; иначе надо обрабатывать значение этого поля), тогда получается, что флеймовые темы будут генерить туеву хучу полей и у маленьких тем появится КУЧА пустых полей.
Как быть?
PM MAIL   Вверх
Secandr
Дата 11.3.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 6
Всего: 39



А быть просто - читать доки по БД. Ещё можно посмотреть как работают бесплатные скрипты форумов...

В одну таблицу всё запихнуть нельзя. Чаще всего делают несколько таблиц:
+пользователи
+форумы
+темы
+сообщения

и так дальше.

Структура и количество таблиц зависит от функцианала форума.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Garf
Дата 11.3.2006, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.2.2006

Репутация: нет
Всего: нет



Вопрос стоит так - много таблиц - это плохо или нет? Для начал так ответьте, пожалуйста, а то может и не плохо и я буду искать грабли в комнате без света.
PM MAIL   Вверх
Secandr
Дата 11.3.2006, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 6
Всего: 39



Много таблиц - это сколько?

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

Недопусимо что бы таблицы создавались денамически! Так же нежелательно иметь дублирующие данные в разных записях/таблицах. Ещё нужны ключи грамотные...


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Garf
Дата 11.3.2006, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.2.2006

Репутация: нет
Всего: нет



Таблиц по количеству топиков. Форум маленький для одного 35тыс городка.Всё будет КРАЙНЕ простое. Абсолютно без наворотов, просто нужно гдето хранить эти топики. Мне моё решение представляется самым лёгким.
Ну например - 1000 таблиц - много или мало? Сами по себе, без всяких ключей.
PM MAIL   Вверх
FRAGNATIC
Дата 11.3.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: нет
Всего: 11



для каждого топика создовать таблицу это не грамотно.
Цитата(Secandr @ 11.3.2006, 14:42 Найти цитируемый пост)

+пользователи
+форумы
+темы
+сообщения


пользователи содержит
Id - автоинкремнт - уникальный индификатор пользователя
Name -имя пользователя
дату регистрации и всякую доп инфу (к примеру)

форумы - содержит
Id -автоинкремент - уникальный индификатор форума (раздела форума!)
ParentId - содержит 0 если корневой форум или id форума в котором даный форум вляется подфорумом
Name -заголовок форума (название)

темы содержит
id - автоинкримент - уникальный индификатор темы
name - заголовок темы
author - содержит id пользователя который создал её
forum - содержит ид форума в котором она находится
а также дату создоания и прочюю инфу

сообщения содержит
id - автоинкримент - уникальный индификатор cообщения
author - содержит id пользователя который создал его
topic - содержит ид темы к которой пренадлежит это сообщение
text - само сообщение
а также дату и прочию инфу

вот на вскидку ток что составил) конечно не самый оптимальный вариант
но примерно так)
выводить инфу не сложно пару SELECT да и всё=)

PM MAIL   Вверх
Garf
Дата 11.3.2006, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.2.2006

Репутация: нет
Всего: нет



Ага, спасибо большое.
PM MAIL   Вверх
Secandr
Дата 11.3.2006, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 6
Всего: 39



Garf, а не проще поставить бесплатный скрипт?


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0739 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.