Архитектура базы данных системы

Материал из Umicms
Перейти к:навигация, поиск

В системе umi.cms все в первую очередь является объектом. Id всех существующих объектов хранятся в таблице cms3_objects. Такие типы данных как Пользователи, Баннеры, Рассылки являются объектами, а такие типы как Новости, Блоги, Комментарии и т.п. являются элементами системы, проще говоря страницами сайта. Страницы сайта имеют дополнительные параметры, благодаря которым они и являются страницами сайта, данные параметры хранятся в таблице cms3_hierarchy.

Значения таблицы cms3_hierarchy:

id – id элемента (страницы сайта) 
rel – страница родитель, т.е. страница более высокого уровня
type_id – иерархический тип, все возможные типы прописаны в настройке модуля Шаблоны данных, сами типы хранятся в таблице cms3_hierarchy.
lang_id – языковой индекс, индексы всех языков хранятся в таблице cms3_langs 
lang_id – языковой индекс, индексы всех языков хранятся в таблице cms3_langs 
domain_id – доменный индекс, индексы всех доменов хранятся в таблице cms3_domains
obj_id – id объекта, в котором хранятся данные для страницы (элемента), тот же id что и в таблице cms3_objects
ord  - порядковый номер внутри раздела
tpl_id – индекс шаблона, который используется для отображения страницы, все индексы шаблонов хранятся в таблице cms3_templates
alt_name – псевдостатический адрес
is_active – флаг активности
is_deleted – флаг удаленности в корзину
is_visible – флаг Отображения в меню
updatetime – время последней модификации страницы, в формате unix.
is_default – флаг Страницы по умолчанию

В таблице cms3_hierarchy_relations хранятся все цепочки родителей для каждой страницы:

child_id – id страницы, тот же id что и в таблице cms3_hierarchy
rel_id – id страницы родителя одного из уровней
level – уровень вложенности страницы.
Для каждой страницы будет прописан NULL родитель, также если level > 0, то и вся цепочка родителей.

Вернемся к таблице cms3_objects:

id – id объекта системы, для страниц этот же id прописан в таблице cms3_hierarchy, в столбце с индексом obj_id.
name – название объекта, то название, которое вы видите при просмотре объектов или элементов в виде списка, в каком-либо модуле.
is_locked – флаг блокировки объекта или элемента, на данный момент данное значение в системе еще не используется.
owner_id – id пользователя, который создал данный объект или элемент

Чтобы узнать какой obj_id у страницы, необходимо в режиме редактирования получить xml представление страницы, т.е. добавить к адресной строке: .xml

Таблица cms3_object_content является источником данных для всех страниц и объектов системы:

id – id объекта системы.
field_id – id поля, это то поле которое обозначено в модуле Шаблоны данных, в соответствующем типе данных.
В зависимости от того, какого типа поле, допустим число, строка, выпадающий список, HTML-текст и т.д. значение поля будет храниться в одном из столбцов:
int_val
varchar_val
text_val
rel_val
tree_val
float_val

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

Через некоторое время будут кратко представлены и другие таблицы данных для системы Umi, и не только это.