Архитектура базы данных системы
В системе 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, и не только это.