|
|
|
| Вопрос такой: Я сделал форум, когда тлько начинал учиться php, форум был основан на файловой системе. Т.е. текст сообщения - файл txt, имя автора - файл, IP - файл и тд.
Сейчас изучил php и mysql в достаточной степени, что бы сделать форум на БД.
вопрос такой:
Как построить архитектуру? У меня два варианта: для кадого форума, категории и темы своя табоаца или просто три таблицы 0 форум, категория и тема.
Какой предел количесва таблиц в базе, какой предел количества записей в таблице? | |
|
|
|
|
|
|
|
для: devil943
(04.12.2007 в 16:54)
| | если БД спроектирована правильно, в ней никогда не будет наблюдаться для каждого чего-то там своя таблица. Для всех чего-то там таблица будет сугубо одна. | |
|
|
|
|
|
|
|
для: devil943
(04.12.2007 в 16:54)
| | тоже заинтересовался этим вопросом :)
в будущем собираюсь приступить к написанию такового :)
А теперь к суте! Если требуется форум, то что на нём должно быть.
авторизация:
Таблица привелегий или статусов пользователей.
Таблица логинов и хешей паролей пользователей.
пользователи
Таблица пользователей с данными о пользователях.
Таблица валидности пользователей(чист, временно ограничен, забанен, отключён).
Таблица рангов пользователей.
Таблица личных сообщений пользователей.
сам форум:
Таблица форумов.
Таблица разделов форумов.
Таблица подразделов форума.
Таблица тем форумов.
Таблица сообщений.
пока вот, что надумал за пару минут. )
остаётся продумать, что будет в каждой из таблиц и как и по каким идентификаторам они будут связываться. :) | |
|
|
|
|
|
|
|
для: retsoul
(04.12.2007 в 23:50)
| | можно ещё про онлайновых юзеров табличку, статистику | |
|
|
|
|
|
|
|
для: retsoul
(04.12.2007 в 23:50)
| | весь форум можно уместить в 2 таблицы
1 таблица с контентом
2 таблица с юзерами. (Да и то, система авторизации пользователей напрямую к задаче хранения и вывода сообщений, коей и является форум, никак не причастна)
По сути форум - древовидная иерархическая структура.
Другое дело скорость. Но и тут можно выкрутится. Завести 2 таблицы под контент форума. Первая - индекс форума (только ID сущности,ID родителя,дата создания. Ну и для скорости можно ввести поле с названием сущности, которая эту сущность идентифицирует (название темы, форума и т.д.))
Вторая таблица - непосредственно контент (текст сообщения, описание форума и остальное).
Это так, очень обощённо. Детально можно целую книгу написать. | |
|
|
|