Blog: Alter World

Виртуальный мир является своеобразным Alter Ego мира реального…

Прострая моделька

Комментариев нет 5 июля 2008, 23:39 • Проектирование, Мысли по поводу...

В процессе разбора структуры сайта «Астрономия для школьников» мне пришла в голову одна простая мысль об организации структуры БД для простого сайта, которую уже наверняка несколько раз переизобретали.

Суть её заключается в следующем. Для хранения всей информации по страницам и папкам сайта нужно будет сделать несколько таблиц в БД, о двух из которых я сейчас и хочу рассказать (рассматривая самую простую модель).

Итак, первая таблица предназначена для хранения информации о папках на сайте. При этом конечно же хотелось бы иметь неограниченную вложенность оных. Для этого при создании необходимой таблицы я воспользуюсь кое-какими знаниями из области построения деревьев, так как они лучше всего будут применимы в данном случае.

Таблица nodes:
node_id int — ID узла-папки
node_name char — название папки (раздела по сути)
node_lname char — URL для папки (название латиницей)
node_level int — уровень вложенности папки
node_parent int — ID родительского узла-папки (0 в случае корневого раздела)

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

Таблица pages:
page_id int — ID страницы
node_id int — ID узла-папки, в которой находится страница
page_name char — название страницы
page_lname char — URL страницы (название латиницей)
page_txt text — тело страницы
page_create datetime — дата создания страницы

Конечно же, для обеспечения большего функционала нужно будет расширять как количество таблиц, так и количество полей в них (к примеру, для разграничения прав доступа, возможности ведения черновиков, поддержки версионности страниц, управлением кэшированим страниц и т.п.).

Ещё заметки на эту тему:

Комментариев нет

Вы можете подписаться на комментарии к этой статье через RSS.

Комментирование закрыто.